Endre Et Databasenavn Ved HJELP AV NEWID

House Of Brick Senior Consultant

en AV de mange oppgavene EN DBA vil utføre, er kloning av en database. Vanligvis gjøres dette fra en produksjonsdatabase til en kvalitetssikring eller testdatabase for å gi produksjonsvolumdata. Hvis databasen er på en virtuell maskin, kan kloning oppstå PÅ VM-nivå.

Kloning gjør akkurat Hva Det betyr, og skaper en eksakt duplikat av en database. Dessverre ender det med at du har to databaser med samme navn og DBID i nettverket ditt. Noen ganger kan du løse det tilstrekkelig med aliasing på TNSNAMES-nivået.

Andre ganger må du endre databasenavnet og DBID internt. Oracle har et verktøy for DETTE, newid-programmet.

dette dokumentet beskriver trinnene som kreves for å utføre databasenavnendringen VED HJELP AV NEWID.

Terminologi Og Definisjoner

følgende terminologi og definisjoner vil bli brukt i dette dokumentet.

Sideidentifikator FOR Sid – Oracle. Dette er databasenavnet som endres.
PFILE – Oracle Parameterfil. Ligger i $ORACLE_HOME / dbs-mappen.
Spfile-Oracle Server Parameter fil. Ogsa plassert i $ORACLE_HOME / dbs-mappen.
ORATAB-Oracle konfigurasjonsfil som knytter Oracle SIDs Med Oracle homes. Ligger på / etc / oratab.
TNSNAMES-Oracle nettverkskonfigurasjonsfil som knytter innkommende tilkoblinger Med Oracle SIDs. Ligger i $ORACLE_HOME/network / admin-mappen.

Databasenavn
databasenavnet, ELLER SID, endres fra prd til qa. Dette vil bli referert når det er hensiktsmessig i dokumentet.

Oversikt Over Prosessen
det er fire trinn å utføre for å endre Et Oracle-databasenavn (SID).

  1. Foreløpig forberedelsesarbeid
  2. Bruk nid-applikasjon
  3. Endre Sid-Referanser
  4. Start database og fullfør endringer

1. Foreløpig prep-arbeid

etter at databasenavnendringen er endret, må det gjøres endringer I oracle-parameterfilen. Hvis databasen bruker en serverparameterfil (spfile) i stedet for en parameterfil (PFILE), må du konvertere FRA EN SPFIL til EN PFILE før databasenavnendringen skjer.

1.1 Bestemme OM SPFILE Er I Bruk
Kjør følgende spørring for å se om databasen ble startet MED EN PFILE eller SPFILE:

Figur 1.1 Spørring for å se OM SPFILE er i bruk

SQL> VELG DEKODE(verdi, NULL, ‘PFILE’, ‘SPFILE’) «Init Filtype
«FRA sys.v_$parameter WHERE name = ‘spfile’;

Kjør denne spørringen for å finne ut om databasen starter MED EN PFILE ELLER SPFILE.

hvis databasen starter MED EN PFILE, er det ikke nødvendig med ytterligere prep-arbeid, og du kan gå videre til trinn 2-Bruk nid-programmet. Ellers fortsetter du med neste trinn.

1.2 Opprette EN PFILE fra SPFILE
Kjør følgende sql for å opprette EN PFILE fra EN SPFILE:

Figur 1.2 Opprette EN PFILE fra SPFILE.

SQL > opprett pfile fra spfile;

Kjør denne kommandoen for å opprette EN PFILE fra EN SPFILE.

Dette vil skape EN PFILE i katalogen $ORACLE_HOME / dbs. Den vil bruke gjeldende SID i navnet. Siden den nåværende SID av databasen er prd, vil navnet være initprd.ora. Kopier filen for å ha den nye SID i navnet. I dette eksemplet vil det nye navnet være initqa.ora. Se Figur 1.3 for et eksempel på kopiering av filen.

Figur 1.3 Kopiere den gamle PFILEN til sitt nye navn


$ cd$ ORACLE_HOME/dbs
$ pwd
/u01/app/oracle/produkt/11.2.0/DB_1/dbs
$ er –ls initped.ora
9-rw-r– 1 oracle åpner 1106 Okt 11 20:17 initprd.ora
$ cp initprd.ora initqa.ora
$

eksempel på kopiering av den gamle PFILE, initdwprd.ora til den nye PFILE, initdwqa.ora.

Bruk nid-programmet

for å bruke nid-programmet må du logge på databaseserveren som oracle-bruker og utføre følgende trinn.

  1. Slå av databasen
  2. Start databasen i monteringsmodus
  3. Kjør nid-kommandoen
  4. Slå av databasen

2.1 Slå Av Databasen
Start En sqlplus-økt og skriv inn kommandoen avslutt umiddelbart. Figur 2.1 viser dette trinnet.

Figur 2.1 Slå av databasen

$ sqlplus / as sysdba

SQL*Plus: Slipp 11.2.0.3.0 Produksjon På Lør Oktober 11 20:02:24 2014

Copyright © 1982, 2011, Oracle, alle rettigheter reservert.

Koblet til:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – Produksjon
Med Partisjonering, OLAP, Data Mining og Real Application Testing alternativer

SQL> nedleggelse umiddelbar
Database stengt.
Database demontert.
ORACLE-forekomsten er stengt.
SQL>

Eksempel på utdata når du slår av databasen.

2.2 Starte Databasen Til Mount Mode

Start En SQLPlus-økt og skriv inn kommandoen startup mount. Figur 2.2 viser at dette er gjort.

Figur 2.2 Starte databasen til mount mode

$ Sqlplus / as sysdbaSQL*Plus: Slipp 11.2.0.3.0 Produksjon På Lør Oktober 11 20: 02: 24 2014copyright © 1982, 2011, Oracle, alle rettigheter reservert.

Koblet Til en inaktiv forekomst.

SQL > oppstart mount
oracle forekomst startet.
Totalt System Globalt Område 535662593 byte
Fast Størrelse 1346140 byte
Variabel Størrelse 260048292 byte
Databasebuffere 268435456 byte
Gjenta Buffere 5832704 byte
database montert.
SQL>

Eksempel På Utgang når du starter databasen til mount mode.

Skriv inn exit for å gå tilbake til shell-meldingen.

2.3 Kjør nid-kommandoen
nid-kommandoen er Oracle-programmet som endrer sid i databasen. For å bruke det, trenger DU SYS-kontopassordet og det nye SID for databasen. Med den nye SID som qa, vil kommandolinjen være nid target=SYS dbname=qa. Når du trykker enter, blir du bedt OM SYS-kontopassordet. Skriv inn passordet. Du vil bli bedt om å bekrefte at DU vil endre SID. Se figur 2.3.1 for skjermvisningen.

Figur 2.3.1 Skjermvisning av løpende nid-kommando

$ nid target=SYS dbname=qa
DBNEWID: Slipp 11.2.0.3.0 – Produksjon På Lør Oktober 11 20:05:54 2014

Copyright © 1982, 2011, Oracle og / eller dets tilknyttede selskaper. Alle rettigheter reservert.

Passord:
Koblet til database PRD (DBID=3949194393)

Koble til serverversjon 11.2.0

Kontrollfiler i databasen:
/ u01 / app / oracle / oradata / prd / control01.ctl
/ u01 / app/oracle/oradata/prd / control02.ctl

Endre database ID OG database navn PRD TIL QA? (Y/) => _

Utgang Fra Å Starte nid-kommandoen.

Skriv Inn Y for å forplikte Seg til å endre databasenavnet som vist i figur 2.3.2

Figur 2.3.2 Bekrefter Databasens navneendring

$ nid target=SYS dbname=qa
DBNEWID: Slipp 11.2.0.3.0-Produksjon På Lør Okt 11 20:05:54 2014

Copyright © 1982, 2011, Oracle og / eller dets tilknyttede selskaper. Alle rettigheter reservert.

Passord:
Koblet til database PRD (DBID=3949194393)

Koble til serverversjon 11.2.0

Kontrollfiler i databasen:
/ u01 / app / oracle / oradata / prd / control01.ctl
/ u02 / app/oracle/oradata/prd / control02.ctl

Endre database ID OG database navn PRD TIL QA? (Y/) = > Y

Svar Y Til confimation.

programmet vil gjøre de interne endringene og vise fremdriften. Nar det er ferdig, vil du bli returnert til shell prompt som vist I Figur 2.3.3.

Figur 2.3.3 Utgang fra nid-programmet

Datafil /u02 / app / oracle / oradata / prd / dw03.db-dbid endret, skrev nytt navn
Datafil / u02 / app / oracle / oradata / prd / dw04.db-dbid endret, skrev nytt navn
Datafil / u02 / app / oracle / oradata / prd / dw05.db-dbid endret, skrev nytt navn
Datafil / u01 / app / oracle / oradata / prd / temp01.db-dbid endret, skrev nytt navn
Kontrollfil / u01 / app / oracle / oradata / prd / control01.ctl-dbid endret, skrev nytt navn
Kontrollfil /u02 / app / oracle / oradata / prd / control02.ctl-dbid endret, skrev nytt navn
Forekomst stengt

Databasenavn endret TIL QA.
Endre parameterfil og generer en ny passordfil før du starter på nytt.
Database ID for database QA endret til 1714809981
Alle tidligere sikkerhetskopier og arkiverte gjenta logger for denne databasen er ubrukelige.
Databasen er ikke klar over previos-sikkerhetskopier og arkiverte logger i Gjenopprettingsområdet.
Database hase blitt stengt, åpne database MED RESETLOGS alternativet.
endret databasenavn Og ID.
DBNEWID-Fullført.

$

Utgang FRA NID-programmet viser en vellykket gjennomføring.

2.4 Slå av databasen
databasen må slås av igjen. Gjenta starte en sqlplus økt og skriv inn kommandoen shutdown umiddelbar som vist I Trinn 2.1.

3. Endre sid-referanser

Endringer må gjøres i databaseparameteren, tnsnames, oratab og miljøfiler for å gjenspeile endringen av databasesid.

  1. oracle-parameterfilen må endres og redigeres.
  2. Oratab Må ha SID omdøpt.
  3. ora filen må SID omdøpt
  4. HVIS ORACLE_SID er angitt i profilen, må den endres.

3.1 Oracle-parameterfilen må omdøpes og redigeres

oracle-parameterfilen må redigeres og ha to linjer endret. Endre til der parameterfilen er lagret, mappen $ORACLE_HOME/dbs. Se figur 3.1.1 for et eksempel.

Figur 3.1.1 Endre til parameterfilmappen


$ cd$ ORACLE_HOME/dbs
$ pwd
/u01/app/oracle/produkt/11.2.0/DB_1/dbs
$ er –ls initqa.ora
9-rw-r– 1 oracle åpner 1106 Okt 11 20:17 initqa.ora
$

Eksempel på å endre til parameterfilmappen for å forberede for redigering av parameterfil.

Rediger filen og finn de to linjene som må endres. Linjene starter med dbname og instance_name. Se Figur 3.1.2 for et eksempel på hvordan parameterfilen ville se ut før endringene.

Figur 3.1.2 Spørring for å se OM SPFILE er i bruk.


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 som er uthevet må endres til nytt SID-navn.

DU må endre sid-verdien for de to linjene fra gammel sid, prd, til den nye sid, qa. Se Figur 3.1.3 for hvordan linjene vil se etter endringene.

Figur 3.1.3 Spørring for å se OM SPFILE er i bruk


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

Parameterfil som viser sid-navneendringer etter redigering.

Lagre filen og avslutt redigeringsprogrammet.

3.2 Oratab må ha SID omdøpt

Oracle ORATAB-filen, /etc/oratab, må HA SID-referansen endret fra den gamle SID. prd til den nye SID. qa. Rediger filen og endre den gamle sid-oppføringen til den nye SID. Se Figur 3.2.1 for et eksempel.

Figur 3.2.1 Eksempel på modifisert ORATAB-fil/etc / oratab

# Flere oppføringer med samme $ ORACLE_SID er ikke tillatt.
#
#
#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 som viser endret sid-referanse fra dwprd til dwqa. Den endrede verdien er i fet skrift.

3.3 TNSNAMES må ha SID omdøpt

oracle TNSNANES-filen, tnsnames.ora, må HA SID-referansen endret fra den gamle SID. dwprd til den nye SID. dwqa. DET vil også trenge VERTSADRESSEN endret for å matche det nye systemet. TNSNAMES er plassert i mappen $ORACLE_HOME / network / admin. Rediger filen og endre den gamle sid-oppføringen til den nye SID, og endre VERTSADRESSEN for å matche det nye systemet. Se Figur 3.3.1 for et eksempel.

Figur 3.3.1 Eksempel på endret TNSNAMES-fil $ORACLE_HOME / network / admin / tnsnames.ora

(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTASJON = RO)
) QA =
(BESKRIVELSE =
(ADDRESS_LIST =
(ADRESSE = (PROTOKOLL = TCP) (VERT = 192.188.1.86) (PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = qa)
(UR = A)
)
)

Eksempel TNSNAMES-fil som viser endret sid-referanse fra dwprd til dwqa og VERTSADRESSE satt til ny adresse. Den endrede verdien er i fet skrift.

3.4 HVIS ORACLE_SID er angitt i profilen, må den endres.

vanligvis er miljøvariabelen $ ORACLE_SID satt TIL sid-verdien i påloggingsprofilskriptet $HOME/.profil eller $HOME/.bash_profile. Finn OG endre sid-innstillingen til den nye verdien. Figur 3.4.1 viser et eksempel på å vise $ORACLE_SID-verdien fra kommandolinjen.

Figur 3.4.1 Viser $ORACLE_SID-verdien


$ ekko $ ORACLE_SID
prd
$

Bruk echo-kommandoen til å vise $ORACLE_SID-verdien.

du må logge ut og logge inn igjen etter at du har endret oracle_sid-verdien i profilskriptet for å få det satt i ditt miljø.

4. Start database og fullfør endringer

det siste trinnet som må fullføres, er å starte databasen opp til mount level og åpne den med resetlogs-alternativet. Start En SQLPlus-økt, start databasen opp til mount mode ved å skrive inn startup mount. Hvis DU måtte opprette EN PFILE I Trinn 1, er start-kommandoen oppstart pfile=initSID.ora mount. Så for vårt eksempel ville det være oppstart pfile=initqa.ora mount. Åpne deretter databasen med alter database åpne resetlogs; kommando. Se figur 4.1 for et eksempel på skjermvisningen.

Figur 4.1 Starte opp databasen og tilbakestille logger

$ sqlplus / as sysdba

SQL*Plus: Slipp 11.2.0.3.0 Produksjon På Lør Oktober 11 20:02:24 2014
Copyright © 1982, 2011, Oracle, alle rettigheter reservert.
Koblet Til en inaktiv forekomst.

SQL > oppstart mount
oracle forekomst startet.
Totalt System Globalt Område 535662593 byte
Fast Størrelse 1346140 byte
Variabel Størrelse 260048292 byte
Databasebuffere 268435456 byte
Gjenta Buffere 5832704 byte
database montert.
SQL > endre database åpne resetlogs;

Database endret.

SQL>

Starte databasen opp i mount mode og åpne med resetlogs alternativet.

hvis DU måtte opprette EN PFILE I Trinn 1, må DU konvertere PFILEN tilbake til EN SPFIL. Dette gjøres ved Å BRUKE KOMMANDOEN CREATE SPFILE. Ved SQL-ledeteksten, skriv inn kommandoen opprett spfile fra pfile.

Konklusjon

Endring Av Databasenavnet til En oracle-database kan høres komplisert ut, men Kan utføres med grunnleggende systemferdigheter. Etter prosedyrene som er beskrevet i dette dokumentet, kan EN DBA utføre oppgaven med minimal nedetid for databasen.

Leave a Reply

Din e-postadresse vil ikke bli publisert.