使用RMAN DUPLICATE命令创建备用数据库
2012-12-29 23:27
267 查看
作者 阿九【转载时请务必以超链接形式标明文章原始出处和作者信息】
使用RMANDUPLICATE命令创建备用数据库
说明:在做这些操作之前需要配置好tnsnames.ora文件
数据库版本:Oracle 10.2.0.4
主库SID:orcl
备库SID:orclaux
数据文件使用LV,LV配置一样
归档目录地址相同。
备份主库数据库
创建文件
拷贝文件
9、创建备库使用的spfile文件
10、使用创建的spfile文件重启备库到mount状态
使用RMANDUPLICATE命令创建备用数据库
说明:在做这些操作之前需要配置好tnsnames.ora文件
1、环境说明
OS:RedHat5.5数据库版本:Oracle 10.2.0.4
主库SID:orcl
备库SID:orclaux
数据文件使用LV,LV配置一样
归档目录地址相同。
2、备份主库数据库
要使用RMAN DUPLICATE命令创建备用数据库,必须有一个可用的、有效的备份集并且在之后创建一个为备库使用的控制文件备份。否则报错:[oracle@sigle admin]$ rman target / auxiliary sys/sysadmin@sigleaux [uniread] Loaded history (265 lines) Recovery Manager: Release 10.2.0.4.0 - Production on 星期六 12月 29 21:06:25 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: ORCL (DBID=1305151947) connected to auxiliary database: ORCLAUX (not mounted) RMAN> list backupset; using target database control file instead of recovery catalog RMAN> RMAN> RMAN> DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK; Starting Duplicate Db at 29-12月-12 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: sid=1644 devtype=DISK contents of Memory Script: { restore clone standby controlfile; sql clone 'alter database mount standby database'; } executing Memory Script Starting restore at 29-12月-12 using channel ORA_AUX_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of Duplicate Db command at 12/29/2012 21:06:53 RMAN-03015: error occurred in stored script Memory Script RMAN-06026: some targets not found - aborting restore RMAN-06024: no backup or copy of the control file found to restore RMAN> |
[oracle@sigle backup]$ rman target / [uniread] Loaded history (397 lines) Recovery Manager: Release 10.2.0.4.0 - Production on 星期六 12月 29 22:27:39 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: ORCL (DBID=1305151947) RMAN> run{ 2> allocate channel d1 type disk format='/oracle/backup/full_db_20121229.dbf'; backup as compressed backupset database tag='full_db_20121229'; 3> release channel d1; 4> } 5> using target database control file instead of recovery catalog allocated channel: d1 channel d1: sid=1632 devtype=DISK Starting backup at 29-12月-12 channel d1: starting compressed full datafile backupset channel d1: specifying datafile(s) in backupset input datafile fno=00001 name=/dev/raw/raw1 input datafile fno=00002 name=/dev/raw/raw3 input datafile fno=00003 name=/dev/raw/raw2 input datafile fno=00004 name=/dev/raw/raw4 channel d1: starting piece 1 at 29-12月-12 channel d1: finished piece 1 at 29-12月-12 piece handle=/oracle/backup/full_db_20121229.dbf tag=FULL_DB_20121229 comment=NONE channel d1: backup set complete, elapsed time: 00:00:45 Finished backup at 29-12月-12 Starting Control File and SPFILE Autobackup at 29-12月-12 piece handle=/oracle/db10g/dbs/c-1305151947-20121229-02 comment=NONE Finished Control File and SPFILE Autobackup at 29-12月-12 released channel: d1 RMAN> list backupset; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 38 Full 192.07M DISK 00:00:36 29-12月-12 BP Key: 38 Status: AVAILABLE Compressed: YES Tag: FULL_DB_20121229 Piece Name: /oracle/backup/full_db_20121229.dbf List of Datafiles in backup set 38 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- ---------- ---- 1 Full 808208 29-12月-12 /dev/raw/raw1 2 Full 808208 29-12月-12 /dev/raw/raw3 3 Full 808208 29-12月-12 /dev/raw/raw2 4 Full 808208 29-12月-12 /dev/raw/raw4 BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 39 Full 13.70M DISK 00:00:01 29-12月-12 BP Key: 39 Status: AVAILABLE Compressed: NO Tag: TAG20121229T223711 Piece Name: /oracle/db10g/dbs/c-1305151947-20121229-03 Control File Included: Ckp SCN: 808230 Ckp time: 29-12月-12 SPFILE Included: Modification time: 29-12月-12 RMAN> exit Recovery Manager complete. [uniread] Saved history (403 lines) [oracle@sigle backup]$ |
3、为备库准备控制文件备份
RMAN> run{ 2> allocate channel d1 type disk format '/oracle/backup/stdb.ctl'; 3> backup current controlfile for standby; 4> release channel d1; 5> } released channel: ORA_DISK_1 allocated channel: d1 channel d1: sid=1630 devtype=DISK Starting backup at 29-12月-12 channel d1: starting full datafile backupset channel d1: specifying datafile(s) in backupset including standby control file in backupset channel d1: starting piece 1 at 29-12月-12 channel d1: finished piece 1 at 29-12月-12 piece handle=/oracle/backup/stdb.ctl tag=TAG20121229T224013 comment=NONE channel d1: backup set complete, elapsed time: 00:00:02 Finished backup at 29-12月-12 Starting Control File and SPFILE Autobackup at 29-12月-12 piece handle=/oracle/db10g/dbs/c-1305151947-20121229-05 comment=NONE Finished Control File and SPFILE Autobackup at 29-12月-12 released channel: d1 RMAN> |
4、创建主库参数文件副本,并将文件拷贝到备库。
文件目录随意,只要oracle用户能访问就行创建文件
[oracle@sigle backup]$ sqlplus /nolog [uniread] Loaded history (216 lines) SQL*Plus: Release 10.2.0.4.0 - Production on 星期六 12月 29 22:50:48 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. SQL> conn /as sysdba Connected. SQL> create pfile='/oracle/backup/pfile_pri.ora' from spfile; File created. SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining Scoring Engine and Real Application Testing options [uniread] Saved history (219 lines) [oracle@sigle backup]$ |
[oracle@clone_sigle dbs]$ ftp 172.16.1.120 Connected to 172.16.1.120 (172.16.1.120). 220 (vsFTPd 2.0.5) Name (172.16.1.120:root): root 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /oracle/backup 250 Directory successfully changed. ftp> lcd /oracle/backup Local directory now /oracle/backup ftp> ls 227 Entering Passive Mode (172,16,1,120,24,10) 150 Here comes the directory listing. -rw------- 1 500 500 14385152 Mar 24 2012 c-1305151947-20120324-01 -rw------- 1 500 500 201408512 Dec 29 14:37 full_db_20121229.dbf -rw------- 1 500 500 914 Mar 26 2012 initorclaux.ora -rw------- 1 500 500 884 Dec 29 14:50 pfile_pri.ora -rw------- 1 500 500 14352384 Dec 29 14:40 stdb.ctl 226 Directory send OK. ftp> bin 200 Switching to Binary mode. ftp> get pfile_pri.ora local: pfile_pri.ora remote: pfile_pri.ora 227 Entering Passive Mode (172,16,1,120,176,142) 150 Opening BINARY mode data connection for pfile_pri.ora (884 bytes). 226 File send OK. 884 bytes received in 7.1e-05 secs (1.2e+04 Kbytes/sec) ftp> bye 221 Goodbye. [oracle@clone_sigle dbs]$ |
5、使用主库参数文件副本启动备库到nomount状态
要使用RMAN DUPLICATE复制备库,需要将备库启动到nomount状态[oracle@clone_sigle backup]$ sqlplus /nolog [uniread] Loaded history (458 lines) SQL*Plus: Release 10.2.0.4.0 - Production on 星期六 12月 29 22:54:03 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. SQL> conn /as sysdba Connected to an idle instance. SQL> startup nomount pfile='/oracle/backup/pfile_pri.ora'; ORACLE instance started. Total System Global Area 486539264 bytes Fixed Size 1268196 bytes Variable Size 138413596 bytes Database Buffers 339738624 bytes Redo Buffers 7118848 bytes SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining Scoring Engine and Real Application Testing options [uniread] Saved history (461 lines) [oracle@clone_sigle backup]$ |
6、将创建的主库备份拷贝到HOST2上相同的路径位置。
包括创建的备用控制文件备份。如果备份到磁带机上,则要保证备库能访问到磁带机上的备份集。7、连接主备库执行复制操作
[oracle@sigle backup]$ rman target / auxiliary sys/sysadmin@sigleaux [uniread] Loaded history (436 lines) Recovery Manager: Release 10.2.0.4.0 - Production on 星期六 12月 29 23:04:39 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: ORCL (DBID=1305151947) connected to auxiliary database: ORCL (not mounted) RMAN> DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK; Starting Duplicate Db at 29-12月-12 using target database control file instead of recovery catalog allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: sid=1641 devtype=DISK contents of Memory Script: { restore clone standby controlfile; sql clone 'alter database mount standby database'; } executing Memory Script Starting restore at 29-12月-12 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backupset restore channel ORA_AUX_DISK_1: restoring control file channel ORA_AUX_DISK_1: reading from backup piece /oracle/backup/stdb.ctl channel ORA_AUX_DISK_1: restored backup piece 1 piece handle=/oracle/backup/stdb.ctl tag=TAG20121229T224013 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03 output filename=/dev/raw/raw6 output filename=/dev/raw/raw7 output filename=/dev/raw/raw8 Finished restore at 29-12月-12 sql statement: alter database mount standby database released channel: ORA_AUX_DISK_1 contents of Memory Script: { set newname for tempfile 1 to "/dev/raw/raw5"; switch clone tempfile all; set newname for datafile 1 to "/dev/raw/raw1"; set newname for datafile 2 to "/dev/raw/raw3"; set newname for datafile 3 to "/dev/raw/raw2"; set newname for datafile 4 to "/dev/raw/raw4"; restore check readonly clone database ; } executing Memory Script executing command: SET NEWNAME renamed temporary file 1 to /dev/raw/raw5 in control file executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting restore at 29-12月-12 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: sid=1641 devtype=DISK channel ORA_AUX_DISK_1: starting datafile backupset restore channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to /dev/raw/raw1 restoring datafile 00002 to /dev/raw/raw3 restoring datafile 00003 to /dev/raw/raw2 restoring datafile 00004 to /dev/raw/raw4 channel ORA_AUX_DISK_1: reading from backup piece /oracle/backup/full_db_20121229.dbf channel ORA_AUX_DISK_1: restored backup piece 1 piece handle=/oracle/backup/full_db_20121229.dbf tag=FULL_DB_20121229 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:15 Finished restore at 29-12月-12 contents of Memory Script: { switch clone datafile all; } executing Memory Script datafile 1 switched to datafile copy input datafile copy recid=5 stamp=803343987 filename=/dev/raw/raw1 datafile 2 switched to datafile copy input datafile copy recid=6 stamp=803343987 filename=/dev/raw/raw3 datafile 3 switched to datafile copy input datafile copy recid=7 stamp=803343987 filename=/dev/raw/raw2 datafile 4 switched to datafile copy input datafile copy recid=8 stamp=803343987 filename=/dev/raw/raw4 Finished Duplicate Db at 29-12月-12 RMAN> |
[oracle@clone_sigle dbs]$ sqlplus /nolog [uniread] Loaded history (492 lines) SQL*Plus: Release 10.2.0.4.0 - Production on 星期六 12月 29 23:23:27 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. SQL> conn /as sysdba Connected. SQL> create spfile from pfile='/oracle/backup/pfile_pri.ora'; File created. SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining Scoring Engine and Real Application Testing options [uniread] Saved history (498 lines) [oracle@clone_sigle dbs]$ |
[oracle@clone_sigle dbs]$ sqlplus /nolog [uniread] Loaded history (498 lines) SQL*Plus: Release 10.2.0.4.0 - Production on 星期六 12月 29 23:25:00 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. SQL> conn /as sysdba Connected. SQL> shutdown immediate; ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 486539264 bytes Fixed Size 1268196 bytes Variable Size 138413596 bytes Database Buffers 339738624 bytes Redo Buffers 7118848 bytes Database mounted. SQL> select dbid,name,DB_UNIQUE_NAME,DATABASE_ROLE ,open_mode from v$database; DBID NAME DB_UNIQUE_NAME DATABASE_ROLE OPEN_MODE ---------- --------- ------------------------------ ---------------- ---------- 1305151947 ORCL orcl PHYSICAL STANDBY MOUNTED SQL> |
相关文章推荐
- flask-sqlalchemy使用命令创建数据库
- asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库
- 如何使用命令在navicat中创建数据库及表
- Laravel 使用artisan命令 创建数据库表,实体类和controller
- 命令行中使用oracle命令创建数据库和表空间
- 在cmd、C#中使用命令为PostgreSQL创建数据库、登录角色,并对数据库进行备份和恢复
- 9_Oracle_Admin_删除数据库并使用CREATE DATABASE命令手动创建数据库
- 使用 RMAN DUPLICATE...FROM ACTIVE DATABASE 创建物理备用数据库(文档 ID 1526160.1)
- Navicat 创建数据库和表之使用命令创建
- 使用命令创建数据库
- Oracle学习笔记:使用rman duplicate {to|for} 创建数据库
- Linux系统使用mysql命令创建数据库并授权命令
- asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库
- 使用 RMAN DUPLICATE...FROM ACTIVE DATABASE 创建物理备用数据库的分步指南
- Navicat for MySQL使用手记(上)--创建数据库和表 推荐
- was使用命令创建概要文件
- 使用 SQL 语句创建 School 数据库(包括参数)、 TblClass 表、 TblStudent 表。
- CodeSmith和PowerDesigner的使用安装和数据库创建
- EntityFramework使用Code First模式创建数据库控制生成单数形式的表名
- Windows下使用命令创建rar压缩包