Přesun databáze Oracle z jednoho serveru na druhý
Manuál a PDF vytvořil
Tomáš Solař
Oracle database Specialist
Oracle ACE, OCE (10g,11g), OCP (10g,11g)
Autor knihy "Oracle 11g - Hotová řešení" CZE
Ebook pro Oracle DB 12c na webu.
www.Tomas-Solar.com
www.database-administrator.com
www.databazovy-administrator.cz
2 | P a g e
Contents
Obnova databáze na druhý server – RMAN ..................................................................... 3
Instalace Oracle software ......................................................................................................... 3
Přidání záznamu do /etc/oratab ............................................................................................... 4
Konfigurace listeneru ............................................................................................................... 4
Konfigurace tnsnames.ora ........................................................................................................ 5
Vytvoření password file ............................................................................................................ 5
Kopírování záloh ....................................................................................................................... 5
Start listeneru ............................................................................................................................ 6
Spuštění RMANa ....................................................................................................................... 7
Spuštění dummy instance ......................................................................................................... 8
Obnova spfile ze zálohy ............................................................................................................ 8
Spuštění instance z obnoveného spfile ..................................................................................... 8
Úprava parametrů na stávajícím serveru ............................................................................... 9 Vytvoření PFILE pro editaci. ................................................................................................................ 9 Úprava nastavení paměti ......................................................................................................................10 Smazání ................................................................................................................................................11
Obnova kontrolního souboru ze zálohy ................................................................................ 11
Načtení backupu ...................................................................................................................... 12
Obnova databáze - restore ..................................................................................................... 14
Obnova databáze - restore ..................................................................................................... 15
Otevření databáze ................................................................................................................... 17
Doporučení: ...................................................................................................................... 17
Provozujete Vy nebo Vaši klienti databáze Oracle? ............................................................ 17
Dotazy: ..................................................................................................................................... 17
Webináře: ................................................................................................................................ 17
Workshopy: ............................................................................................................................. 17
Jste DBA?................................................................................................................................. 17
3 | P a g e
Obnova databáze na druhý server – RMAN
Instalace Oracle software
[oracle@DBserverZAL dbhome_1]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1
Musí být na stejné verzi jako původní databáze.
[oracle@DBserverZAL OPatch]$ ./opatch lsinventory
Invoking OPatch 11.1.0.6.6
Oracle Interim Patch Installer version 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /etc/oraInst.loc
OPatch version : 11.1.0.6.6
OUI version : 11.2.0.1.0
OUI location : /u01/app/oracle/product/11.2.0/dbhome_1/oui
Log file location :
/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch
2014-03-06_08-08-57AM.log
Patch history file:
/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch
_history.txt
Lsinventory Output file location :
/u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/
lsinventory2014-03-06_08-08-57AM.txt
-----------------------------------------------------------------
4 | P a g e
Installed Top-level Products (1):
Oracle Database 11g
11.2.0.1.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
-----------------------------------------------------------------
OPatch succeeded.
Přidání záznamu do /etc/oratab
[oracle@DBserverZAL dbhome_1]$ cat /etc/oratab
orcl11r2:/u01/app/oracle/product/11.2.0/dbhome_1:N
Konfigurace listeneru
[oracle@DBserverZAL admin]$ cat listener.ora
# listener.ora Network Configuration File:
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.or
a
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.10)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl11r2.orcl11r2.cz)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = orcl11r2)
(UR = A)
)
)
5 | P a g e
ADR_BASE_LISTENER = /u01/app/oracle
Konfigurace tnsnames.ora
[oracle@DBserverZAL admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File:
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.or
a
# Generated by Oracle configuration tools.
orcl11r2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl11r2.orcl11r2.cz)
)
)
Vytvoření password file
[oracle@DBserverZAL dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@DBserverZAL dbs]$ orapwd file=orapworcl11r2
password=oracle_4U entries=5
[oracle@DBserverZAL dbs]$ ls -ltr orapworcl11r2
-rw-r----- 1 oracle oinstall 2048 Mar 6 08:20 orapworcl11r2
Kopírování záloh
[oracle@DBserverZAL home_II]$ pwd
/home_II
[oracle@DBserverZAL home_II]$ ls -ltr
total 36490060
-rw-r----- 1 oracle oinstall 10735353856 Mar 5 09:02
ufp26hjm_1_1
6 | P a g e
-rw-r----- 1 oracle oinstall 10735452160 Mar 5 09:06
ufp26hjm_2_1
-rw-r----- 1 oracle oinstall 10735353856 Mar 5 09:10
ufp26hjm_3_1
-rw-r----- 1 oracle oinstall 5095718912 Mar 5 09:11
ufp26hjm_4_1
drwx------ 2 oracle dba 16384 Mar 5 15:02 lost+found
-rw-r----- 1 oracle oinstall 12905472 Mar 6 07:58
ugp26nbg_1_1
-rw-r----- 1 oracle oinstall 14483456 Mar 6 07:59 c-
2416634607-20140302-00
Start listeneru
[oracle@DBserverZAL dbs]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-MAR-2014
08:21:11
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr:
please wait...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.or
a
Log messages written to
/u01/app/oracle/diag/tnslsnr/DBserverZAL/listener/alert/log.xml
Listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.10)(PORT=1521)))
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.10)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
7 | P a g e
Version TNSLSNR for Linux: Version 11.2.0.1.0 -
Production
Start Date 06-MAR-2014 08:21:12
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.or
a
Listener Log File
/u01/app/oracle/diag/tnslsnr/DBserverZAL/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.10)(PORT=1521)))
Services Summary...
Service "orcl11r2.orcl11r2.cz" has 1 instance(s).
Instance "orcl11r2", status UNKNOWN, has 1 handler(s) for this
service...
The command completed successfully
Spuštění RMANa
- Není k dispozici init file ani spfile
- Neběží žádná instance
[oracle@DBserverZAL dbs]$ ls -ltr
total 14100
-rw-r----- 1 oracle oinstall 24 Oct 26 11:42 lkorcl11r2
-rw-r----- 1 oracle oinstall 14401536 Nov 19 10:03
snapcf_orcl11r2.f
-rw-rw---- 1 oracle oinstall 1544 Nov 19 13:24 hc_DBUA0.dat
-rw-r----- 1 oracle oinstall 2048 Mar 6 08:20 orapworcl11r2
-rw-rw---- 1 oracle oinstall 1544 Mar 6 08:22
hc_orcl11r2.dat
[oracle@DBserverZAL dbs]$ ps -ef | grep pmon
oracle 7520 7018 0 08:23 pts/1 00:00:00 grep pmon
8 | P a g e
Spuštění dummy instance
RMAN> startup nomount
startup failed: ORA-01078: failure in processing system
parameters
LRM-00109: could not open parameter file
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl11r2.ora'
starting Oracle instance without parameter file for retrieval of
spfile
Oracle instance started
Total System Global Area 158662656 bytes
Fixed Size 2211448 bytes
Variable Size 92275080 bytes
Database Buffers 58720256 bytes
Redo Buffers 5455872 bytes
Obnova spfile ze zálohy
RMAN> restore spfile from '/home_II/c-2416634607-20140302-00';
Starting restore at 06-MAR-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=67 device type=DISK
channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home_II/c-
2416634607-20140302-00
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 06-MAR-14
Spuštění instance z obnoveného spfile
RMAN> restore spfile from '/home_II/c-2416634607-20140302-00';
9 | P a g e
Starting restore at 06-MAR-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=67 device type=DISK
channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home_II/c-
2416634607-20140302-00
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 06-MAR-14
RMAN> shutdown immediate
Oracle instance shut down
RMAN> startup nomount
connected to target database (not started)
RMAN-00571:
===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS
===============
RMAN-00571:
===========================================================
RMAN-03002: failure of startup command at 03/06/2014 08:27:13
RMAN-04014: startup failed: ORA-00845: MEMORY_TARGET not
supported on this system
Úprava parametrů na stávajícím serveru
Vytvoření PFILE pro editaci.
[oracle@DBserverZAL dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Mar 6 08:29:09
2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
10 | P a g e
Connected to an idle instance.
SQL> create pfile from spfile;
File created.
SQL> exit
Disconnected
[oracle@DBserverZAL dbs]$ ls -ltr
total 14108
-rw-r----- 1 oracle oinstall 24 Oct 26 11:42 lkorcl11r2
-rw-r----- 1 oracle oinstall 14401536 Nov 19 10:03
snapcf_orcl11r2.f
-rw-rw---- 1 oracle oinstall 1544 Nov 19 13:24 hc_DBUA0.dat
-rw-r----- 1 oracle oinstall 2048 Mar 6 08:20 orapworcl11r2
-rw-r----- 1 oracle oinstall 3584 Mar 6 08:26
spfileorcl11r2.ora
-rw-rw---- 1 oracle oinstall 1544 Mar 6 08:26
hc_orcl11r2.dat
-rw-r--r-- 1 oracle oinstall 1315 Mar 6 08:29
initorcl11r2.ora
Úprava nastavení paměti
[root@DBserverZAL ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p1 263G 18G 232G 8% /
tmpfs 13G 0 13G 0% /dev/shm
/dev/cciss/c0d1p1 275G 35G 227G 14% /home_II
[oracle@DBserverZAL dbs]$ vi initorcl11r2.ora
*.memory_max_target=10000M
*.memory_target=10000M
11 | P a g e
Smazání
orcl11r2.__db_cache_size=11811160064
orcl11r2.__java_pool_size=268435456
orcl11r2.__large_pool_size=268435456
orcl11r2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from
environment
orcl11r2.__pga_aggregate_target=11005853696
orcl11r2.__sga_target=20669530112
orcl11r2.__shared_io_pool_size=0
orcl11r2.__shared_pool_size=7784628224
orcl11r2.__streams_pool_size=268435456
[oracle@DBserverZAL dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Mar 6 08:33:26
2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> create spfile from pfile;
File created.
Obnova kontrolního souboru ze zálohy
[oracle@DBserverZAL dbs]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Thu Mar 6
08:34:36 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All
rights reserved.
connected to target database (not started)
12 | P a g e
RMAN> startup nomount
Oracle instance started
Total System Global Area 10489044992 bytes
Fixed Size 2216224 bytes
Variable Size 5435821792 bytes
Database Buffers 5033164800 bytes
Redo Buffers 17842176 bytes
RMAN> restore controlfile from '/home_II/c-2416634607-20140302-
00';
Starting restore at 06-MAR-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2833 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/oradata/orcl11r2/control01.ctl
output file name=/oradata/orcl11r2/control02.ctl
Finished restore at 06-MAR-14
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
Načtení backupu
RMAN> catalog start with '/home_II/';
13 | P a g e
Starting implicit crosscheck backup at 06-MAR-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2833 device type=DISK
Crosschecked 206 objects
Finished implicit crosscheck backup at 06-MAR-14
Starting implicit crosscheck copy at 06-MAR-14
using channel ORA_DISK_1
Finished implicit crosscheck copy at 06-MAR-14
searching for all files in the recovery area
cataloging files...
no files cataloged
searching for all files that match the pattern /home_II/
List of Files Unknown to the Database
=====================================
File Name: /home_II/ufp26hjm_4_1
File Name: /home_II/ufp26hjm_3_1
File Name: /home_II/c-2416634607-20140302-00
File Name: /home_II/ufp26hjm_2_1
File Name: /home_II/ufp26hjm_1_1
File Name: /home_II/ugp26nbg_1_1
Do you really want to catalog the above files (enter YES or NO)?
yes
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /home_II/ufp26hjm_4_1
File Name: /home_II/ufp26hjm_3_1
14 | P a g e
File Name: /home_II/c-2416634607-20140302-00
File Name: /home_II/ufp26hjm_2_1
File Name: /home_II/ufp26hjm_1_1
File Name: /home_II/ugp26nbg_1_1
RMAN>
Obnova databáze - restore
RMAN> restore database;
Starting restore at 06-MAR-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup
set
channel ORA_DISK_1: restoring datafile 00001 to
/oradata/orcl11r2/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to
/oradata/orcl11r2/sysaux.dbf
channel ORA_DISK_1: restoring datafile 00003 to
/oradata/orcl11r2/undotbs.dbf
channel ORA_DISK_1: restoring datafile 00004 to
/oradata/orcl11r2/plus01.dbf
channel ORA_DISK_1: restoring datafile 00005 to
/oradata/orcl11r2/sk.dbf
channel ORA_DISK_1: restoring datafile 00006 to
/oradata/orcl11r2/data01.dbf
channel ORA_DISK_1: restoring datafile 00007 to
/oradata/orcl11r2/data02.dbf
channel ORA_DISK_1: restoring datafile 00008 to
/oradata/orcl11r2/data03.dbf
channel ORA_DISK_1: restoring datafile 00009 to
/oradata/orcl11r2/data04.dbf
channel ORA_DISK_1: restoring datafile 00010 to
/oradata/orcl11r2/index01.dbf
channel ORA_DISK_1: restoring datafile 00011 to
/oradata/orcl11r2/jiri.dbf
15 | P a g e
channel ORA_DISK_1: restoring datafile 00012 to
/oradata/orcl11r2/jaromir.dbf
channel ORA_DISK_1: restoring datafile 00013 to
/oradata/orcl11r2/index02.dbf
channel ORA_DISK_1: restoring datafile 00014 to
/oradata/orcl11r2/index03.dbf
channel ORA_DISK_1: restoring datafile 00015 to
/oradata/orcl11r2/mtvw.dbf
channel ORA_DISK_1: restoring datafile 00016 to
/oradata/orcl11r2/statspack01.dbf
channel ORA_DISK_1: reading from backup piece
/home_II/ufp26hjm_1_1
channel ORA_DISK_1: piece handle=/home_II/ufp26hjm_1_1
tag=TAG20140302T190318
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: reading from backup piece
/home_II/ufp26hjm_2_1
channel ORA_DISK_1: piece handle=/home_II/ufp26hjm_2_1
tag=TAG20140302T190318
channel ORA_DISK_1: restored backup piece 2
channel ORA_DISK_1: reading from backup piece
/home_II/ufp26hjm_3_1
channel ORA_DISK_1: piece handle=/home_II/ufp26hjm_3_1
tag=TAG20140302T190318
channel ORA_DISK_1: restored backup piece 3
channel ORA_DISK_1: reading from backup piece
/home_II/ufp26hjm_4_1
channel ORA_DISK_1: piece handle=/home_II/ufp26hjm_4_1
tag=TAG20140302T190318
channel ORA_DISK_1: restored backup piece 4
channel ORA_DISK_1: restore complete, elapsed time: 01:54:23
Finished restore at 06-MAR-14
RMAN>
Obnova databáze - restore
RMAN> recover database;
16 | P a g e
Starting recover at 06-MAR-14
using channel ORA_DISK_1
starting media recovery
channel ORA_DISK_1: starting archived log restore to default
destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=20272
channel ORA_DISK_1: reading from backup piece
/home_II/ugp26nbg_1_1
channel ORA_DISK_1: piece handle=/home_II/ugp26nbg_1_1
tag=TAG20140302T204120
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
archived log file
name=/oradata/orcl11r2/archivelog/2014_03_06/o1_mf_1_20272_9kjjk8
nk_.arc thread=1 sequence=20272
channel default: deleting archived log(s)
archived log file
name=/oradata/orcl11r2/archivelog/2014_03_06/o1_mf_1_20272_9kjjk8
nk_.arc RECID=11722 STAMP=841487932
unable to find archived log
archived log thread=1 sequence=20273
RMAN-00571:
===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS
===============
RMAN-00571:
===========================================================
RMAN-03002: failure of recover command at 03/06/2014 10:40:18
RMAN-06054: media recovery requesting unknown archived log for
thread 1 with sequence 20273 and starting SCN of 957553915
RMAN>
17 | P a g e
Otevření databáze
RMAN> alter database open resetlogs;
database opened
Doporučení:
Provozujete Vy nebo Vaši klienti databáze Oracle?
Mou primární oblastí je správa databází, konzultace a školení.
Velmi rád s Vami bud spolupracovat. Kontaktujte me a můžeme si možnostech
spolupráce pohovořit.
Dotazy:
Máte dotazy k daným příkládům nebo máte námět na jiné příklady?
Zajimá vás jiná oblast? Napiště mi na [email protected]
Webináře:
Na webu www.tomas-solar.com máte k dispozi seznam webinářů, které proběhly nebo se
chystají. Věřím, že témata pro Vás budou zajimavá a kdyby přece jen nebyla, napište mě,
co Vás zajímá?
Workshopy:
Chtěli byste se účastit některého z jednodenních workshopů nebo máte námět na
speciální školení? Napiště mi na [email protected]
Jste DBA?
Zaregistrujte se na komunitním webu http://database-administrator.com/
18 | P a g e
Hledáte další informace? Pak navštivte můj web http://www.tomas-solar.com/
Těším se na Vaše dotazy a brzy pošlu další pokračování.
Pěkný den
Tomáš Solař