Xorp Blog Podcast

Oracle utóbeállítások

Ha már tudunk szépen Oracle-t installálni, és belépni rá, akkor tudunk kellene, hogy indítsuk el, illetve illetve állítsuk le. Illetve, mivel nem kívánjuk ezt minden egyes alkalommal kézzel elkövetni, jó lenne azt is tudni, hogyan automatizálhatjuk a leállítást illetve a leállást a rendszerhez. Akkor nézzük a szükséges utóműveleteket az rendszerünkön és az Oracle-el.

Oracle rendszer script létrehozása Solarishoz

Oratab editálása

Első lépésként meg kell ismerkednünk az oratab file-al. Hasonlókép a crontab, (v)fstab, filehoz, ez egy szöveges file, ami ez esetben az Oracle instance-okról ad információt, és az Oracle maga is ezt használja fel indulásnál, működésnél.

Az oratab file tartalma általában három részből áll, amit kettőspontok választanak el egymástól. Az első az instance neve, majd az instance PATH, majd egy Y, vagy N betű. Ez az utolsó igen vagy nem azért felel, hogy kívánjuk-e, hogy az adatbázis indulásakor, ez az instance is elinduljon automatikusan vagy nem. Mi most akarni fogjuk, úgyhogy Y-ra írjuk át.

RC (rendszer indító) script létrehozása

Létre kell, hoznunk a megfelelő Oracle inicializáló egyszerű rc-scriptet. Akár milyen bonyolultságú lehet, de én ajánlom a következőt:

# vi /etc/init.d/dbora

    ORA_HOME=/ora10g/oracle/product/10.2.0/db_1
    ORA_OWNER=oracle
    if [! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME]
    then
    echo “Oracle startup:cannot start”
    exit
    fi
    case “$1” in
    ‘start’)
    # Start the Oracle databases:
    su – $ORA_OWNER -c $ORA_HOME/bin/dbstart
    su – $ORA_OWNER -c “$ORA_HOME/bin/lsnrctl start”
    ;;
    ‘stop’)
    #Stop the Oracle databases:
    su – $ORA_OWNER -c $ORA_HOME/bin/dbshut
    su – $ORA_OWNER -c “$ORA_HOME/bin/lsnrctl stop”
    ;;
    esac

A scriptben természetesen a ORA_HOME és ORA_OWENR változókat a rendszerünk szerint kell specifikálnunk.

Állítsuk be a megfelelő jogosultságait

# chgrp dba dbora
# chmod 750 dbora

Symlinkek készítése a megfelelő futási szintekhez:

# ln -s /etc/init.d/dbora /etc/rc3.d/K01dbora
# ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora

Ezt követően a rendszert újraindítva az Oracle adatbázisunknak, és a definiált instance-nak szintén el kell tudnia indulnia automatikusan.

Oracle rendszer process-ek

Egy alap Oracle adatbázis esetén alap esetben a következő processeket kellene látnunk:

Íme pár információ és funkció a sokat nem mondó process nevekről:

  • ora_pmon_orcl [–] Process monitor
  • ora_smon_orcl [–] Systen Monitor
  • ora_mman_orcl, ora_mmon_orcl, ora_mmnl_orcl [–] Memory manager, Monitor, Monitor Lite
  • ora_arc0_orcl, ora_arc1_orc, ora_arc2_orc [–] Archive log writer
  • tnslsnr LISTENER –inherit [–] Listener

Oracle instance kezelése parancssorból

Terminálból az SQLPlus alkalmazás az, amivel könnyen gyorsan hozzáférhetünk az Oracle adatbázisunkhoz.

# sqlplus /nolog

Az SQLPlusnak szüksége van néhány környezeti változóra a működéshez. Amennyiben ezek nincsenek definiálva úgy errort kaphatunk. Ajánlatos a beállított oracle userünket használni erre a célra:

Ezek után a következő parancsal tudunk csatlakozni egy Oracle Adatbázisban lévő userrel az adatbázishoz:
> CONNECT [username] AS SYSDBA

Instance elindítása:

> STARTUP
Normál indítás. Az adatbázis instance elindul, felmountoldik, és nyitottá válik.
> STARTUP NOMOUNT
Az adatbázis instance elindul, de nem mountolódik fel. Tipikusan akkor használjuk, ha adatbázist hozunk létre.
> STARTUP MOUNT
Adatbázis instance elindul, fel is mountolódik, de nem lesz nyitott. Különböző karbantartási műveletekhez ajánlott.
> STARTUP RESTRICT
Tipikusan recovery módban való indítás

Instance leállítása:

> SHUTDOWN NORMAL
Normál leállítás, semmilyen új kapcsolat nem lesz engedélyezett, de az instance meg fogja várni az összes aktuális kapcsolat végét. Hosszadalmas.
> SHUTDOWN IMMEDIATE
Új kapcsolatok nem jöhetnek létre, de a meglévő kapcsolatok se kezdhetnek új tranzakciókat. Minden nem commitált tranzakció vissza lesz vonva (roll back), majd az Oracle nem várja meg az felhasználók lecsatlakozását, bontja magától a kapcsolatokat. Leginkább használatos, ha a felhasználók nem elérhetőek.
> SHUTDOWN TRANSACTIONAL
Nem lehetnek új kapcsolatok, nem lehetnek új tranzakciók, viszont a meglévő tranzakcióknak commitálódnia kell. Ennyiben különbözik tehát az IMMEDIATE-től.
> SHUTDOWN ABORT
Semmire se vár, egy az egybe lekapcsol mindent, sajnos ez sok esetben inkonzisztens adatbázisokhoz vezethet.

Categories: Informatika, Linux/Unix, Oracle, SUN

Shuffle reklám Berlinből » « Oracle 10g Install lépésről lépésre

5 Comments

  1. En a SID-et is meg szokom adni biztos ami biztos alapon.

  2. Illetve szeretnem felhivni a figyelmedet a cikkben egy apro tevedesre. A kornyezeti valtozok prefixe ORACLE_ es nem ORA_

  3. Az SID az teljesen jogos!

    A scriptben viszont ott az nem shell kornyezeti valtozo lenne, azt csak a script hasznalja. Ergo macskafule is lehet, mert a parancs kiadasanal helyetesitodik be.

    Koszi a kommentet!

    • Igen, ezt egy kicsit beneztem. Ugyanakkor az a tapasztalat, hogy az Oracle cuccok szeretik, ha az ORACLE_HOME es az ORACLE_SID valtozok indulaskor ki vannak exportalva, ugyanis a su -c nem mindig veszi fel.

      A bevalt gyakorlat nalunk egyfelol ezen valtozok init scripbe beemelese, illetoleg a ~oracle alatt egy .profile fajl elhelyezese, ahol ezen valtozok kiexportalasra kerulnek, es az adatbazist elindito parancsok sh-val valo meghivasa (su – ${ORACLE_OWNER} – “sh -c ‘$ORACLE_HOME/bin/dbstart'”). Igy ugyanis minden rendszeren valamilyen uton-modon kiexportalasra kerulnek az oracle valtozoi, melyekre szukseg lehet.

  4. Ehh, a masodik – jel a su parancsnal egy -c akart lenni, csak lemaradt.

Hozzászólás

Copyright © 2019 Xorp Blog Podcast

Theme by Anders NorenUp ↑

%d blogger ezt szereti: