V mnoha prostředích je žádoucí, aby se databáze Oracle a posluchač automaticky vypnuly a spustily, když se server restartuje. Máte-li tento požadavek, postupujte podle následujících několika kroků k automatizaci vypínání a spouštění databáze a posluchače:
Postup konfigurace automatického spouštění/vypínání
1. Upravte soubor /etc/oratab a vložte Y na konci položky pro databáze, které chcete automaticky restartovat, když se systém restartuje. K úpravě souboru možná budete potřebovat oprávnění root:
# vi /etc/oratab [SID]:[ORACLE_HOME]:Y
Y na konci řetězce znamená, že databázi lze spustit a zastavit pomocí skriptů ORACLE_HOME/bin/dbstart a ORACLE_HOME/bin/dbshut.
Poznámka :u některých unixových systémů (jako je Solaris) je soubor oratab obvykle umístěn v adresáři /var/opt/oracle.
2. Vytvořte servisní skript /etc/init.d/dbora . Obsah skriptu je následující. Ujistěte se, že jste změnili hodnoty proměnných ORA_HOME a ORA_OWNER tak, aby odpovídaly vašemu prostředí. Toto je základní skript toho, co byste minimálně potřebovali k zastavení a spuštění databáze a posluchače:
# vi /etc/init.d/dbora #!/bin/bash # chkconfig: 35 99 10 # description: Starts and stops Oracle processes ORA_HOME=/oracle/app/oracle/product/11.2.0/db_1 ORA_OWNER=oracle case "$1" in 'start') su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" su - $ORA_OWNER -c $ORA_HOME/bin/dbstart ;; 'stop') su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" su - $ORA_OWNER -c $ORA_HOME/bin/dbshut ;; esac # End of script dbora
Porozumění skriptu
Řádky:
# chkconfig: 35 99 10 # description: Starts and stops Oracle database
jsou povinné a nikoli pouze komentáře, protože popisují vlastnosti služby, kde:
- 35 znamená, že služba bude spuštěna v počátečních úrovních 3 a 5 a bude zastavena v dalších úrovních.
- 99 znamená, že služba bude spuštěna na blízkém konci zpracování na úrovni init
- 10 znamená, že služba bude zastavena na blízkém začátku zpracování na úrovni init
Zbytek skriptu je docela snadno pochopitelný. První případ spustí posluchač/DB, zatímco druhý případ jej zastaví. Chcete-li skript spustit a umožnit jeho automatické spouštění při spuštění systému, postupujte podle níže uvedených kroků.
Udělejte skript spustitelným a povolte jeho spuštění při spouštění
1. Změňte skupinu souboru dbora tak, aby odpovídala skupině přiřazené vlastníkovi operačního systému softwaru Oracle (obvykle oinstall nebo dba):
# chgrp dba /etc/init.d/dbora
2. Nastavte oprávnění skriptu na 755.
# chmod 750 /etc/init.d/dbora
3. Spusťte následující příkaz chkconfig:
# chkconfig --add dbora
Tato akce zaregistruje službu do servisního mechanismu systému Linux. Tím se také vytvoří příslušné symbolické odkazy na soubory pod adresářem /etc/rc.d. Pomocí volby –list zobrazíte, zda je služba zapnutá nebo vypnutá pro každou úroveň běhu:
# chkconfig --list | grep dbora dbora 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Tento výstup indikuje, že služba dbora je zapnutá pro úrovně běhu 3 a 5. Pokud potřebujete službu odstranit, použijte –del možnost chkconfig.
Testování skriptu
1. Chcete-li otestovat, zda skript dbora funguje, jako root spusťte následující, abyste zastavili databázi a posluchače:
# /etc/init.d/dbora stop
2. Chcete-li otestovat spuštění databáze a posluchače, zadejte jako root následující příkaz:
# /etc/init.d/dbora start
Poslední myšlenky
Automatizace vypínání a spouštění vaší databáze Oracle se bude lišit v závislosti na tom, zda používáte nástroje jako clusterový software nebo ASM. Řešení v této části demonstruje typické kroky k implementaci vypnutí a spuštění databáze ve scénářích, kdy nemáte jiný software, který by tuto úlohu spravoval.