ændring af et Databasenavn ved hjælp af NYID

House of Brick seniorkonsulent

en af de mange opgaver, en DBA vil udføre, er kloning af en database. Normalt gøres dette fra en produktionsdatabase til en kvalitetssikrings-eller testdatabase for at levere produktionsvolumendata. Hvis databasen er på en virtuel maskine, kan kloning forekomme på VM-niveau.

kloning gør præcis, hvad det betyder, at skabe en nøjagtig kopi af en database. Desværre ender det med, at du har to databaser med samme navn og DBID i dit netværk. Nogle gange kan du løse det tilstrækkeligt med aliasing på TNSNAMES-niveauet.

andre gange skal du ændre databasenavnet og DBID internt. Oracle har et værktøj til dette, den nye id-applikation.

dette dokument beskriver de trin, der kræves for at udføre databasenavnsændringen ved hjælp af NYID.

terminologi og definitioner

følgende terminologi og definitioner vil blive brugt i dette dokument.

Sid – Oracle Site Identifier. Dette er databasenavnet, der ændres.
Pfile – Oracle Parameter fil. Placeret i $ ORACLE_HOME/DBS mappe.
SPFILE – Oracle Server Parameter fil. Også placeret i $ ORACLE_HOME/DBS mappe.
ORATAB – Oracle konfigurationsfil, der knytter Oracle SIDs til Oracle homes. Placeret på / etc / oratab.
TNSNAMES – Oracle netværkskonfigurationsfil, der knytter indgående forbindelser til Oracle SIDs. Placeret i $ ORACLE_HOME/netværk/admin mappe.

Databasenavn
databasenavnet, eller SID, ændres fra PRD til kvalitetssikring. Dette vil blive henvist, når det er relevant i dokumentet.

oversigt over processen
der er fire trin, der skal udføres for at ændre et Oracle-databasenavn (SID).

  1. indledende forberedelsesarbejde
  2. brug NID-applikation
  3. Skift Sid-referencer
  4. Start database og færdiggør ændringer

1. Preliminært forberedelsesarbejde

efter databasens navneændring skal der foretages ændringer i Oracle-parameterfilen. Hvis databasen bruger en serverparameterfil (SPFILE) i stedet for en parameterfil (PFILE), skal du konvertere fra en SPFILE til en PFILE, før databasenavnsændringen finder sted.

1.1 bestemmelse af, om SPFILE er i brug
Kør følgende forespørgsel for at se, om din database blev startet med en PFILE eller SPFILE:

figur 1.1 forespørgsel for at se, om SPFILE er i brug

KVL> vælg afkode(værdi, NULL, ‘PFILE’, ‘SPFILE’) “init filtype
” fra sys.V_$parameter hvor name = ‘spfile’;

Kør denne forespørgsel for at afgøre, om databasen starter med en PFILE eller SPFILE.

hvis databasen starter med en PFILE, er der ikke behov for yderligere forberedelsesarbejde, og du kan fortsætte til trin 2 – Brug Nid-applikationen. Ellers fortsæt med næste trin.

1.2 oprettelse af en PFILE fra SPFILE
Kør følgende kvadrat for at oprette en PFILE fra en SPFILE:

figur 1.2 oprettelse af en PFILE fra SPFILE.

Opret pfile fra spfile;

Kør denne kommando for at oprette en PFILE fra en SPFILE.

dette opretter en PFILE i mappen $ORACLE_HOME/dbs. Det vil bruge den nuværende SID i navnet. Da den nuværende SID i databasen er prd, vil navnet være initprd.ora. Kopier filen for at få den nye SID i sit navn. I dette eksempel ville det nye navn være initka.ora. Se figur 1.3 for et eksempel på kopiering af filen.

figur 1.3 kopiering af den gamle PFILE til sit nye navn


$ cd $ORACLE_HOME / dbs
$ PV
/u01/app/oracle/produkt/11.2.0/db_1/dbs
$ is –LS initped.ora
9-rv-r– 1 oracle oinstall 1106 Oktober 11 20: 17 initprd.ora
$ cp initprd.ora initka.ora
$

eksempel på kopiering af den gamle PFILE, initdprd.ora til den nye PFILE.ora.

brug Nid-applikationen

for at bruge NID-applikationen skal du logge ind på databaseserveren som oracle-bruger og udføre følgende trin.

  1. Luk databasen
  2. Start databasen i monteringstilstand
  3. Kør Nid-kommandoen
  4. Luk databasen ned

2.1 Luk databasen
Start en session og indtast kommandoen Luk øjeblikkeligt. Figur 2.1 viser dette trin.

figur 2.1 lukning af databasen

$ * plus: frigivelse 11.2.0.3.0 produktion den Lør okt 11 20:02:24 2014

Copyright Karts 1982, 2011, Oracle, Alle rettigheder forbeholdes.

forbundet til:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – produktion
med partitionering, OLAP, Data Mining og Real Application Test muligheder

kvm>luk øjeblikkelig
databasen lukket.
database afmonteret.
ORACLE instans lukket ned.
>

eksempel på output, når du lukker databasen.

2.2 start af databasen til Monteringstilstand

Start en session og indtast kommandoen startup mount. Figur 2.2 viser, at dette gøres.

figur 2.2 start af databasen til monteringstilstand

$ * Plus: frigivelse 11.2.0.3.0 produktion på lør Oktober 11 20: 02: 24 2014copyright vers 1982, 2011, Oracle, Alle rettigheder forbeholdes.

forbundet til en inaktiv forekomst.

KVL> startup mount
ORACLE forekomst startet.
samlet system globalt område 535662593 bytes
fast størrelse 1346140 bytes
variabel størrelse 260048292 bytes
Databasebuffere 268435456 bytes
gentag buffere 5832704 bytes
Database monteret.
>

eksempel på Output, når du starter databasen til monteringstilstand.

indtast Afslut for at vende tilbage til shell-prompten.

2.3 Kør Nid-kommandoen
Nid-kommandoen er Oracle-programmet, der ændrer Sid i databasen. For at bruge det skal du bruge SYS-kontoadgangskoden og den nye SID til databasen. Når den nye SID er kvalitetssikring, vil kommandolinjen være nid target=SYS dbname=kvalitetssikring. Når du har trykket på enter, bliver du bedt om adgangskoden til SYS-kontoen. Indtast adgangskoden. Du bliver bedt om at bekræfte, at du vil ændre SID. Se figur 2.3.1 for skærmvisningen.

figur 2.3.1 skærmvisning af kørende Nid-kommando

$ Nid target=SYS dbname = kvalitet
DBNVID: frigivelse 11.2.0.3.0-produktion den Lør okt 11 20:05:54 2014

Copyright Kart 1982, 2011, Oracle og / eller dets tilknyttede selskaber. Alle rettigheder forbeholdes.

adgangskode:
forbundet til database PRD (DBID=3949194393)

Opret forbindelse til serverversion 11.2.0

kontrolfiler i database:
/u01/app/oracle/oradata/prd/control01.ctl
/u01/app/oracle/ordata / prd / control02.CTL

Skift database-ID og databasenavn PRD til kvalitet? (Y/) => _

Output fra start af NID-kommandoen.

indtast Y for at forpligte sig til at ændre databasenavnet som vist i figur 2.3.2

figur 2.3.2 bekræftelse af databasens navneændring

$ Nid target=SYS dbname = kvalitet
DBNVID: frigivelse 11.2.0.3.0-Produktion den Lør okt 11 20:05:54 2014

Copyright Kart 1982, 2011, Oracle og / eller dets tilknyttede selskaber. Alle rettigheder forbeholdes.

adgangskode:
forbundet til database PRD (DBID=3949194393)

Opret forbindelse til serverversion 11.2.0

kontrolfiler i database:
/u01/app/oracle/oradata/prd/control01.ctl
/u02/app/oracle/ordata / prd / control02.ctl

Skift database-ID og databasenavn PRD til kvalitet? (Y/) = > Y

svar Y til konfimationen.

programmet vil gøre de interne ændringer og vise det fremskridt. Når den er færdig, vil du blive returneret til shell prompt som vist i figur 2.3.3.

figur 2.3.3 udgang fra Nid-programmet

datafil /u02/app/oracle/ordata/prd/D03.db-dbid ændret, skrev nyt navn
datafil / u02/app/oracle/ordata/prd / D04.db-dbid ændret, skrev nyt navn
datafil / u02/app/oracle/ordata/prd / D05.db-dbid ændret, skrev nyt navn
datafil /u01/app/oracle/ordata/prd/temp01.db-dbid ændret, skrev nyt navn
Kontrolfil / u01 / app / oracle / ordata/prd / control01.CTL-dbid ændret, skrev nyt navn
Kontrolfil /u02/app/oracle/ordata/prd/control02.CTL-dbid ændret, skrev nyt navn
forekomst lukket ned

Databasenavn ændret til kvalitetssikring.
Rediger parameterfil og generer en ny adgangskodefil, før du genstarter.
Database-ID for database kvalitetssikring ændret til 1714809981
alle tidligere sikkerhedskopier og arkiverede gentagelseslogfiler for denne database er ubrugelige.
databasen er ikke bekendt med previos sikkerhedskopier og arkiverede logfiler i Recovery Area.
Database hase blevet lukket ned, åben database med RESETLOGS mulighed.
har ændret databasens navn og ID.
DBNVID-afsluttet med succes.

$

Output fra NID program, der viser en vellykket gennemførelse.

2.4 Luk databasen ned
databasen skal lukkes ned igen. Gentag start af en session og indtast kommandoen Luk øjeblikkeligt som vist i trin 2.1.

3. Skift Sid referencer

ændringer skal foretages i databaseparameteren, tnsnames, oratab og miljøfiler for at afspejle ændringen af databasens SID.

  1. Oracle parameter fil skal omdøbes og redigeres.
  2. Oratab skal have Sid omdøbt.
  3. ora-filen har brug for Sid omdøbt
  4. hvis ORACLE_SID er indstillet i profilen, skal den ændres.

3.1 Oracle parameter fil skal omdøbes og redigeres

Oracle parameter fil skal redigeres og har to linjer ændret. Skift til, hvor parameterfilen er gemt, mappen $ORACLE_HOME/dbs. Se figur 3.1.1 for et eksempel.

figur 3.1.1 Ændring til parameterfilmappen


$ cd $ORACLE_HOME / dbs
$ PV
/u01/app/oracle/produkt/11.2.0/db_1/dbs
$ is –LS initca.ora
9-rv-r– 1 oracle oinstall 1106 okt 11 20: 17.ora
$

eksempel på at skifte til parameterfilmappen for at forberede sig til redigering af parameterfilen.

Rediger filen og find de to linjer, der skal ændres. Linjerne starter med dbname og instance_name. Se figur 3.1.2 for et eksempel på, hvordan parameterfilen ville se ud før ændringerne.

figur 3.1.2 forespørgsel for at se, om SPFILE er i brug.


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

linjer, der er fremhævet, skal ændres til nyt SID-navn.

du skal ændre Sid-værdien for de to linjer fra det gamle SID, prd, til det nye SID, kvalitetssikring. Se figur 3.1.3 for, hvordan linjerne ville se efter ændringerne.

figur 3.1.3 forespørgsel for at se, om SPFILE er i brug


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

Parameter fil viser Sid navneændringer efter redigering.

Gem filen og afslut editoren.

3.2 Oratab skal have Sid omdøbt

Oracle ORATAB-filen, /etc/oratab, skal have Sid-referencen ændret fra den gamle SID. prd til den nye SID. spørgsmål. Rediger filen, og skift den gamle Sid-post til den nye SID. Se figur 3.2.1 for et eksempel.

figur 3.2.1 eksempel på modificeret oratab-fil /etc/oratab

# flere poster med samme $ORACLE_SID er ikke tilladt.
#
#
#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;

eksempel ORATAB-fil, der viser ændret Sid-reference fra DPRD til DPRD. Den ændrede værdi er med fed skrift.

3.3 TNSNAMES skal have Sid omdøbt

Oracle TNSNANES-filen, tnsnames.ora, skal have Sid-referencen ændret fra den gamle SID. DPRD til den nye SID. – Nej. Det skal også ændres værtsadressen for at matche det nye system. TNSNAMES er placeret i mappen $ORACLE_HOME/netværk/admin. Rediger filen, og skift den gamle Sid-post til den nye SID, og skift værtsadressen for at matche det nye system. Se figur 3.3.1 for et eksempel.

figur 3.3.1 eksempel på modificeret TNSNAMES fil $ORACLE_HOME/netværk/admin/tnsnames.ora

(CONNECT_DATA =
(SID = Plsekstproc)
(præsentation = RO)
) kvalitet =
(beskrivelse =
(ADRESSE_LISTE =
(adresse = (protokol = TCP) (vært = 192.188.1.86) (PORT = 1521))
)
(CONNECT_DATA =
(servicenavn = ka)
(UR = A)
)
)

eksempel på TNSNAMES-fil, der viser ændret Sid-reference fra DPRD til DPRD og værtsadresse indstillet til ny adresse. Den ændrede værdi er med fed skrift.

3.4 hvis ORACLE_SID er indstillet i profilen, skal den ændres.

normalt er miljøvariablen $ORACLE_SID indstillet til Sid-værdien i loginprofilscriptet, $HOME/.profil eller $hjem/.bash_profile. Find og ændre Sid-indstillingen til den nye værdi. Figur 3.4.1 viser et eksempel på visning af $ORACLE_SID-værdien fra kommandolinjen.

figur 3.4.1 viser værdien $ORACLE_SID


$ echo $ ORACLE_SID
prd
$

brug af echo-kommandoen til at vise $ORACLE_SID-værdien.

du bliver nødt til at logge ud og logge ind igen, når du har ændret oracle_sid-værdien i profilscriptet for at få den indstillet i dit miljø.

4. Start database og færdiggør ændringer

det sidste trin, der skal udfyldes, er at starte databasen op til monteringsniveau og åbne den med indstillingen resetlogs. Start en session, start databasen op til monteringstilstand ved at indtaste startup mount. Hvis du skulle oprette en PFILE i Trin 1, er startkommandoen startup pfile=initSID.ora mount. Så for vores eksempel ville det være opstart pfile=initka.ora mount. Åbn derefter databasen med kommandoen alter database open resetlogs;. Se figur 4.1 for et eksempel på skærmen.

figur 4.1 opstart af databasen og nulstilling af logfiler

$ * Plus: frigivelse 11.2.0.3.0 produktion den Lør okt 11 20:02:24 2014
Copyright Karts 1982, 2011, Oracle, Alle rettigheder forbeholdes.
forbundet til en inaktiv forekomst.

KVL >startup mount
ORACLE forekomst startet.
samlet system globalt område 535662593 bytes
fast størrelse 1346140 bytes
variabel størrelse 260048292 bytes
Databasebuffere 268435456 bytes
gentag buffere 5832704 bytes
Database monteret.
> alter database open resetlogs;

Database ændret.

>

start af databasen op i monteringstilstand og åbning med indstillingen resetlogs.

hvis du skulle oprette en PFILE i Trin 1, skal du konvertere PFILE tilbage til en SPFILE. Dette gøres ved at bruge kommandoen Opret SPFILE. Indtast kommandoen Opret spfile fra pfile.

konklusion

ændring af databasenavnet på en Oracle-database lyder muligvis kompliceret, men kan udføres med grundlæggende systemfærdigheder. Efter de procedurer, der er beskrevet i dette dokument, kan en DBA udføre opgaven med minimal nedetid for databasen.

Leave a Reply

Din e-mailadresse vil ikke blive publiceret.