adatbázisnév megváltoztatása NEWID
House of Brick Senior Consultant
a DBA által elvégzendő sok feladat egyike az adatbázis klónozása. Általában ez egy termelési adatbázisból egy minőségbiztosítási vagy tesztadatbázisba történik, hogy termelési volumenadatokat szolgáltasson. Ha az adatbázis virtuális gépen van, a klónozás virtuális gép szintjén történhet.
a klónozás pontosan azt teszi, amit jelent, létrehozva egy adatbázis pontos másolatát. Sajnos ez azt eredményezi, hogy két azonos nevű adatbázis és DBID van a hálózatában. Néha lehet megoldani, hogy kellően aliasing a TNSNAMES szinten.
más esetekben meg kell változtatnia az adatbázis nevét és a DBID-t belsőleg. Az Oracle rendelkezik ehhez egy segédprogrammal, a NEWID alkalmazással.
ez a dokumentum részletezi az adatbázisnév megváltoztatásához szükséges lépéseket a NEWID használatával.
terminológia és definíciók
ebben a dokumentumban a következő terminológiát és definíciókat használjuk.
Sid – Oracle Webhelyazonosító. Ez az adatbázis neve, amelyet módosítanak.
PFILE-Oracle paraméterfájl. A $ORACLE_HOME/dbs mappában található.
SPFILE-Oracle szerver paraméterfájl. A $ORACLE_HOME/dbs mappában is található.
ORATAB-Oracle konfigurációs fájl, amely társítja az Oracle SIDs Oracle homes. Az /etc/oratab fájlban található.
TNSNAMES-Oracle hálózati konfigurációs fájl, amely a bejövő kapcsolatokat Oracle SIDs-sel társítja. A $ORACLE_HOME/network/admin mappában található.
adatbázis neve
az adatbázis neve, vagy SID, prd-ről qa-ra változik. Erre adott esetben hivatkozni fog a dokumentumban.
a folyamat áttekintése
az Oracle database name (Sid) módosításához négy lépést kell végrehajtani.
- előzetes előkészítő munka
- NID alkalmazás használata
- SID hivatkozások módosítása
- Adatbázis indítása és véglegesítése
1. Előzetes előkészítő munka
az adatbázis nevének megváltoztatása után módosítani kell az Oracle paraméterfájlt. Ha az adatbázis paraméterfájl (PFILE) helyett kiszolgálóparaméter-fájlt (SPFILE) használ, akkor az adatbázis nevének megváltoztatása előtt spfile-ről PFILE-re kell konvertálnia.
1.1 annak meghatározása, hogy az SPFILE használatban van-e
futtassa a következő lekérdezést annak megállapítására, hogy az adatbázis pfile-vel vagy SPFILE-vel indult-e:
1.1 ábra az SPFILE használatának lekérdezése
“a sys.v_$paraméter, ahol name = ‘spfile’;
futtassa ezt a lekérdezést annak megállapításához, hogy az adatbázis PFILE-vel vagy SPFILE-vel kezdődik-e.
ha az adatbázis PFILE – vel kezdődik, nincs szükség további előkészítő munkára, és folytathatja a 2.lépést-használja a NID alkalmazást. Ellenkező esetben folytassa a következő lépéssel.
1.2 Pfile létrehozása SPFILE-ből
futtassa a következő sql-t PFILE létrehozásához SPFILE-ből:
1.2.ábra Pfile létrehozása SPFILE-ből.
futtassa ezt a parancsot PFILE létrehozásához SPFILE-ből.
Ez létrehoz egy PFILE-t a $ORACLE_HOME/dbs könyvtárban. A névben az aktuális SID-t fogja használni. Mivel az adatbázis jelenlegi SID-je prd, a név initprd lesz.ora. Másolja a fájlt, hogy az új SID a nevében legyen. Ebben a példában az új név initqa lenne.ora. Lásd az 1.3.ábrát a fájl másolására.
1.3. ábra a régi PFILE másolása az új nevére
…
$ cd $ORACLE_HOME / dbs
$ pwd
/u01/alkalmazás/oracle/termék/11.2.0/db_1 / dbs
$ is –ls initped.ora
9 –rw-r– 1 oracle oinstall 1106 okt 11 20:17 initprd.ora
$ cp initprd.ora initqa.ora
$
…
példa a régi PFILE, initdwprd másolására.ora az új PFILE, initdwqa.ora.
Nid alkalmazás használata
a NID alkalmazás használatához oracle felhasználóként be kell jelentkeznie az adatbázis-kiszolgálóra, és végre kell hajtania a következő lépéseket.
- állítsa le az adatbázist
- indítsa el az adatbázist mount módban
- futtassa a NID parancsot
- állítsa le az adatbázist
2.1 állítsa le az adatbázist
indítson el egy SQLplus munkamenetet, majd írja be a shutdown azonnali parancsot. A 2.1. ábra ezt a lépést mutatja be.
2.ábra.1 az adatbázis leállítása
$ sqlplus / as sysdba
SQL * Plus: Release 11.2.0.3.0 termelés Szo október 11 20:02:24 2014
Copyright 1982, 2011, Oracle, Minden jog fenntartva.
kapcsolódott:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – termelés
a particionálás, OLAP, adatbányászat és a valós alkalmazás tesztelési lehetőségek
SQL>shutdown azonnali
Adatbázis zárva.
Adatbázis leszerelve.
az ORACLE példány leállt.
SQL>
…
példa a kimenetre az adatbázis leállításakor.
2.2 Az adatbázis indítása csatolási módba
indítson el egy SQLplus munkamenetet, majd írja be a startup mount parancsot. A 2.2. ábra ezt mutatja.
2.2. ábra Az adatbázis indítása csatolási módba
$ sqlplus / as sysdbaSQL * plusz: Release 11.2.0.3.0 termelés Szo október 11 20:02: 24 2014copyright 6982, 2011, Oracle, Minden jog fenntartva.
egy tétlen példányhoz csatlakozik.
SQL>startup mount
ORACLE példány elindult.
teljes rendszer globális terület 535662593 bájt
rögzített méret 1346140 bájt
változó méret 260048292 bájt
Adatbázis pufferek 268435456 bájt
újra pufferek 5832704 bájt
Adatbázis csatlakoztatva.
SQL>
…
példa a kimenetre, amikor az adatbázist csatolási módba indítja.
írja be az exit parancsot, hogy visszatérjen a shell parancssorba.
2.3 futtassa a NID parancsot
a NID parancs az Oracle program, amely megváltoztatja az adatbázis SID-jét. Használatához szüksége lesz a SYS fiók jelszavára és az új Sid-re az adatbázishoz. Mivel az új SID qa, a parancssor a következő lesz: NID target=SYS dbname = qa. Miután megnyomta az enter billentyűt, a rendszer kéri a SYS-fiók jelszavát. Írja be a jelszót. A rendszer kéri, hogy erősítse meg, hogy meg akarja változtatni az SID-t. A képernyő megjelenítését lásd a 2.3.1. ábrán.
2.3.1. ábra a futó NID parancs képernyőjének megjelenítése
$ nid target=SYS dbname = qa
DBNEWID: kiadás 11.2.0.3.0-termelés Sat okt 11 20:05:54 2014
Copyright 1982, 2011, Oracle és/vagy leányvállalatai. Minden jog fenntartva.
jelszó:
csatlakozik a PRD adatbázishoz (DBID=3949194393)
Csatlakozás a szerver 11.2.0 verziójához
vezérlőfájlok az adatbázisban:
/u01/app/oracle/oradata/prd/control01.ctl
/ u01 / app/oracle/oradata/prd / control02.ctl
az adatbázis azonosítóját és az adatbázis nevét PRD-re változtatja QA-ra? (Y/) => _
…
kimenet a NID parancs indításából.
írja be az Y-t az adatbázis nevének megváltoztatásához a 2.3.2. ábrán látható módon
2.3.2. ábra Az adatbázis nevének megváltoztatásának megerősítése
$ nid target=SYS dbname = qa
DBNEWID: kiadás 11.2.0.3.0-gyártás Szo okt 11 20:05:54 2014
Copyright 1982, 2011, Oracle és/vagy leányvállalatai. Minden jog fenntartva.
jelszó:
PRD adatbázishoz csatlakozik (DBID=3949194393)
Csatlakozás a szerver 11.2.0 verziójához
vezérlőfájlok az adatbázisban:
/u01/app/oracle/oradata/prd/control01.ctl
/ u02 / app/oracle/oradata/prd / control02.ctl
az adatbázis azonosítóját és az adatbázis nevét PRD-re változtatja QA-ra? (Y/) = > Y
…
válasz Y a konfimációra.
a program elvégzi a belső változtatásokat és megjeleníti az előrehaladást. Ha elkészült, akkor visszatér a shell prompt ábrán látható 2.3.3.
ábra 2.3.3 kimenet a NID programból
adatfájl /u02/app/oracle/oradata/prd/dw03.db-dbid megváltozott, új nevet írt
Datafile /u02/app/oracle/oradata/prd/dw04.db-dbid megváltozott, új nevet írt
Datafile /u02/app/oracle/oradata/prd/dw05.db-dbid megváltozott, új nevet írt
Datafile /u01/app/oracle/oradata/prd/temp01.db-dbid megváltozott, új nevet írt
Vezérlőfájl /u01/app/oracle/oradata/prd/control01.a ctl – dbid megváltozott, új nevet írt
Vezérlőfájl /u02/app/oracle/oradata/prd/control02.a ctl – dbid megváltozott, új nevet írt
a példány leállt
az adatbázis neve QA-ra változott.
módosítsa a paraméterfájlt, és hozzon létre egy új jelszófájlt az újraindítás előtt.
az adatbázis QA Adatbázisazonosítója 1714809981
az adatbázis összes korábbi biztonsági mentése és archivált újra naplója használhatatlan.
az adatbázis nem ismeri a helyreállítási területen található previos biztonsági mentéseket és archivált naplókat.
Adatbázis hase leállt, nyitott adatbázis RESETLOGS opciót.
sikeresen megváltoztatta az adatbázis nevét és azonosítóját.
DBNEWID-sikeresen befejeződött.
$
…
a sikeres befejezést mutató Nid program kimenete.
2.4 állítsa le az adatbázist
az adatbázist újra le kell állítani. Ismételje meg az SQLplus munkamenet indítását, és írja be a parancsot azonnali leállítás a 2.1 lépésben látható módon.
3. SID hivatkozások módosítása
az adatbázis paraméterben, a tnsnames-ben, az oratab-ban és a környezeti fájlokban változtatásokat kell végrehajtani, hogy tükrözzék az adatbázis SID-jének változását.
- az Oracle paraméterfájlt át kell nevezni és szerkeszteni.
- az Oratabnak át kell neveznie a SID-et.
- az ora fájlnak át kell neveznie a SID-et
- ha az ORACLE_SID be van állítva a profilban, akkor azt meg kell változtatni.
3.1 Az Oracle paraméterfájlt át kell nevezni és szerkeszteni
az Oracle paraméterfájlt szerkeszteni kell, és két sort kell módosítani. Módosítsa a paraméterfájl tárolásának helyét, a $ORACLE_HOME / dbs mappát. Lásd a 3.1.1.ábrát.
3.1.ábra.1 Váltás a paraméterfájl mappára
…
$ cd $ORACLE_HOME / dbs
$ pwd
/u01/alkalmazás/oracle/termék/11.2.0/db_1/dbs
$ is –ls initqa.ora
9 –rw-r– 1 oracle oinstall 1106 okt 11 20:17 initqa.ora
$
…
példa a paraméterfájl mappára való áttérésre a paraméterfájl szerkesztésének előkészítéséhez.
Szerkessze a fájlt, és keresse meg a módosítani kívánt két sort. A sorok dbname és instance_name betűkkel kezdődnek. Lásd a 3.1.2. ábrát egy példa arra, hogyan nézne ki a paraméterfájl a módosítások előtt.
3.1.ábra.2 lekérdezés, hogy ha SPFILE van használatban.
dbname=”prd”
db_recovery_file_dest_size=64424509440
db_recovery_file_dest=”/u01/app/oracle/flash_recovery_area”
fast_start_mttr_target=120
instance_name=prd
…
a kiemelt sorokat új SID névre kell változtatni.
meg kell változtatni a Sid értéket a két sor a régi SID, prd, az új SID, qa. Lásd a 3.1.3. ábrát arról, hogy a vonalak hogyan néznének ki a változások után.
3.1.ábra.3 lekérdezés, hogy az SPFILE használatban van-e
dbname=”qa”
db_recovery_file_dest_size=64424509440
db_recovery_file_dest=”/u01/app/oracle/flash_recovery_area”
fast_start_mttr_target=120
instance_name=qa
…
paraméter fájl mutatja SID névváltozások szerkesztés után.
mentse el a fájlt, majd lépjen ki a szerkesztőből.
3.2 az Oratabnak át kell neveznie a SID-et
az Oracle ORATAB fájlnak, az /etc/oratab fájlnak meg kell változtatnia a Sid hivatkozást a régi SID-ről. prd az új SID-nek. qa. Szerkessze a fájlt, és változtassa meg a régi SID bejegyzést az új SID-re. Lásd a 3.2.1.ábrát.
3.2.1 ábra példa módosított ORATAB fájlra /etc/oratab
#
#
#1120:/u01/app/oracle/product/11.2.0:N
orcl:/u01/app/oracle/product/11.2.0/db_1:Y
#prd:/u01/app/oracle/product/11.2.0/db_1:Y
qa:/u01/app/oracle/product/11.2.0/db_1:Y;
példa ORATAB fájl mutatja megváltozott Sid hivatkozást dwprd dwqa. A módosított érték félkövér.
3.3 TNSNAMES szüksége van a SID átnevezték
az Oracle TNSNANES fájl, tnsnames.ora, szüksége lesz a már a Sid referencia megváltozott a régi SID. dwprd az új SID-nek. dwqa. Meg kell változtatnia a gazdagép címét is, hogy megfeleljen az új rendszernek. A TNSNAMES a $ORACLE_HOME/network/admin mappában található. Szerkessze a fájlt, és módosítsa a régi SID bejegyzést az új SID-re, és módosítsa a gazdagép címét, hogy megfeleljen az új rendszernek. Lásd a 3.3.1.ábrát.
ábra 3.3.1 példa módosított tnsnames fájl $ORACLE_HOME/network/admin/tnsnames.ora
(SID = PLSExtProc)
(bemutatás = RO)
)
) QA =
(leírás =
(ADDRESS_LIST =
(cím = (protokoll = TCP) (HOST = 192.188.1.86) (PORT = 1521))
)
(CONNECT_DATA =
(SZOLGÁLTATÁS_NEVE = minőségbiztosítás)
(UR = A)
)
)
példa tnsnames fájl mutatja megváltozott Sid hivatkozást dwprd dwqa és HOST address beállítása új címet. A módosított érték félkövér.
3.4 ha az ORACLE_SID be van állítva a profilban, akkor azt meg kell változtatni.
a $ORACLE_SID környezeti változó általában SID értékre van állítva a bejelentkezési profil szkriptben, $HOME/.profil vagy $itthon/.bash_profile. Keresse meg és módosítsa az SID beállítást az új értékre. A 3.4.1.ábra példát mutat a $ORACLE_SID érték parancssorból történő megjelenítésére.
3.4.1. ábra a $ORACLE_SID érték megjelenítése
$ echo $ORACLE_SID
prd
$
…
az echo parancs használata a $ORACLE_SID érték megjelenítéséhez.
ki kell jelentkeznie, majd újra be kell jelentkeznie, miután megváltoztatta az oracle_sid értéket a profil szkriptben, hogy beállítsa azt a környezetben.
4. Adatbázis indítása és módosítások véglegesítése
az utolsó lépés, amelyet be kell fejezni, az adatbázis indítása a csatolási szintig, majd a resetlogs opcióval történő megnyitása. Indítson el egy SQLplus munkamenetet, indítsa el az adatbázist a mount módba az indítási mount megadásával. Ha az 1.lépésben létre kellett hoznia egy PFILE-t, akkor a start parancs a startup pfile=initSID.ora mount. Tehát a mi példánkban az indítási pfile=initqa lenne.ora mount. Ezután nyissa meg az adatbázist az Alter database open resetlogs; paranccsal. Lásd a 4.1.ábrát a képernyő megjelenítésére.
4.1. ábra Az adatbázis indítása és a naplók visszaállítása
$ sqlplus / as sysdba
SQL * Plus: Release 11.2.0.3.0 termelés Szo október 11 20:02:24 2014
Copyright 1982, 2011, Oracle, Minden jog fenntartva.
egy tétlen példányhoz csatlakozik.
SQL>startup mount
ORACLE példány elindult.
teljes rendszer globális terület 535662593 bájt
rögzített méret 1346140 bájt
változó méret 260048292 bájt
Adatbázis pufferek 268435456 bájt
újra pufferek 5832704 bájt
Adatbázis csatlakoztatva.
SQL> alter adatbázis nyitott resetlogs;
Adatbázis megváltozott.
SQL>
…
az adatbázis indítása mount módban, majd megnyitása a resetlogs opcióval.
ha az 1.lépésben létre kellett hoznia egy PFILE-t, akkor vissza kell konvertálnia a PFILE-t SPFILE-vé. Ez a CREATE SPFILE paranccsal történik. Az SQL parancssorba írja be az spfile létrehozása parancsot a pfile-ből.
következtetés
az Oracle adatbázis Adatbázisnevének megváltoztatása bonyolultnak tűnhet, de elvégezhető az alapvető rendszerismeretekkel. Az ebben a dokumentumban ismertetett eljárásokat követve a DBA minimális leállási idővel végezheti el a feladatot az adatbázis számára.