Øvelsen her, benytter RMAN til at klone produktion ned i et test miljø(XOPRO -> XOTST). RMAN benytter gennemgående en "omvendt" terminologi hvor
TARGET er den database hvor data kommer fra her XOPRO
SOURCE er der hvor data skal hen her XOTST
Jeg ville nok have opfattet source og target omvendt, men hva ? Scriptet der benyttes til klon hedder ganske simpelt klon.sh, og er er blot et kald til rman, pakket ind som schell script, og består af kaldet, og et par parmetre til passwords og logfiler.
rman target sys/$syspw catalog rman/$rmanpw@XORMAN AUXILIARY sys/$syspw@$dupdb cmdfile="klon.cmd" log="$logfile"
1. Luk det miljø er skal klones ned
[durin:XOTST:/home1/usr/] sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Mon Mar 16 14:38:03 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
SQL> shutdown immediate
SQL> exit
2A. Hvis der skal klones til en ny database, oprettes denne i /<path>/oratab - og der laves herefter kataloger som det nu modsvarer dit egent miljø. Her ser det således ud
sid XOTST
mkdir /<mount point>/databases/$ORACLE_SID
mkdir /<mount point>/controlfiles/$ORACLE_SID
mkdir /<mount point>/archives/$ORACLE_SID
mkdir /<mount point>/backups/$ORACLE_SID
cd /<oracle base catalog>/admin
mkdir $ORACLE_SID
cd $ORACLE_SID
mkdir bdump cdump udump pfile create
Husk at oprette database specifikke ting - jeg benytter mig b.la af forskellige password filer - for f.eks sys og system på de forskellige database miljøer. Tilføjelser til listener.ora og tnsnames.ora gøres selvfølgelig også.
2B. Drejer det sig derimod om overskrivning af en sksisterende database
sid XOTST
cd /<oracle base catalog>/$ORACLE_SID
rm *dump*/*
rm /<mount point test>/*/$ORACLE_SID/*
3. Tilføj TNS for i dette tilfælde XOTST i tnsnames.ora på produktions maskinen.
4A. Hvis databasen benytter pfile - kopieres init.ora fra produktion over til test - og til rettes
4B. Køres der derimod med spfile gøres følgende
sid XOPRO
cd $ORACLE_HOME/dbs
sqlplus / as sysdba
create pfile from spfile.
Og kopier nu pfile fra produktion til test og tilret denne.
5. Følgende init parametre skal ændres/tilføjes
DB_NAME ændres fra XOPRO til XOTST
CONTROL_FILES her ændres path til /<mount point test>/
LOG_ARCHIVE_DEST Ligeledes til /oradev/
DB_FILE_NAME_CONVERT ('/<mount point produktion>/databases/XOPRO/','/<mount point test>/databases/XOTST')
LOG_FILE_NAME_CONVERT ('/<mount point produktion>/databases/XOPRO/','/<mount point test>/databases/XOTST')
6. RMAN benytter sig af en password fil, og findes en sådan ikke skal den laves, i dette tilfælde på test serveren
sid XOTST
cd $ORACLE_HOME/dbs
orapwd file=orapw$ORACLE_SID entries=10 password=<SYS password>
7. Tilretning af klon.cmd - hvor man angiver hvad man skal recover til og til hvilken SID.
cd <til hvor du har dine RMAN scripts>
klon.cmd
run {
allocate auxiliary channel t1 device type 'SBT_TAPE' rate 10M;
allocate auxiliary channel t2 device type 'SBT_TAPE' rate 10M;
send 'NSR_ENV=(NSR_SERVER=<backup server navn>,NSR_DATA_VOLUME_POOL=<online backup pool>,NSR_CLIENT=<produktion server navn>)';
send 'NSR_ENV=(NSR_SERVER=<backup server navn>,NSR_DATA_VOLUME_POOL=<archive backup pool>,NSR_CLIENT=<produktion server navn>)';
duplicate target database to XOTST UNTIL TIME '2009-03-14:08:30:00';
}
Hint: Check lige de sidste log filer for skrivninger, så du f.eks ikke forsøger at restore til 10:30 - ud i tid, hvis man kan sige det sådan. Et alernativt til until time er; until sequence.
8. Archive og spfile
Archive slå fra på XOTST og lav efterfølgende en spfile.
Særlige post forhold
Er det sådan at der skal køres, specifikke scripts - tabeller der indeholder værdier der peger på produktion og skal pege mod test - afvikles disse her.
Så er miljøet ellers klart - vi plejer lige at lukke og åbne XOTST, for at sikre alt er som det skal være.