Oracle 11g 利用备份复制数据库

测试在同一机器不同数据库实例复制数据库

1.环境

Target DB:

IP:10.131.119.114

HOSTNAME:openstack-node1.example.com

ORACLE_SID:orcl11g

Auxiliary DB:

IP:10.131.119.114

HOSTNAME:openstack-node1.example.com

ORACLE_SID:aux

2.创建Auxiliary DB 参数文件

[[email protected] dbs]$ cat initaux.ora

*.audit_file_dest=‘/u2/oracle/admin/aux/adump‘

*.audit_trail=‘db‘

*.compatible=‘11.2.0.0.0‘

*.control_files=‘/u2/oracle/oradata/aux/control01.ctl‘,‘/u2/oracle/fast_recovery_area/aux/control02.ctl‘

*.db_block_size=8192

*.db_domain=‘us.oracle.com‘

*.db_name=‘aux‘

*.db_recovery_file_dest=‘/u2/oracle/fast_recovery_area‘

*.db_recovery_file_dest_size=4227858432

*.diagnostic_dest=‘/u2/oracle‘

*.dispatchers=‘(PROTOCOL=TCP) (SERVICE=auxXDB)‘

*.log_archive_dest_1=‘location=/u2/oracle/arch/aux‘

*.open_cursors=300

*.pga_aggregate_target=104857600

*.processes=150

*.remote_login_passwordfile=‘EXCLUSIVE‘

*.sga_max_size=272629760

*.sga_target=272629760

*.undo_tablespace=‘UNDOTBS1‘

*.db_file_name_convert=(‘orcl11g‘,‘aux‘)

3.创建Auxiliary DB需要的目录

[[email protected] ~]$ mkdir -p /u2/oracle/admin/aux/adump

[[email protected] ~]$ mkdir -p /u2/oracle/oradata/aux

[[email protected] ~]$ mkdir -p /u2/oracle/fast_recovery_area/aux

[[email protected] ~]$ mkdir -p /u2/oracle/arch/aux

4.创建Auxiliary DB密码文件
[[email protected] dbs]$ cp orapworcl11g orapwaux


5.配置监听与TNS

监听:

[[email protected] admin]$ cat listener.ora

# listener.ora Network Configuration File: /u2/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl11g)

(ORACLE_HOME = /u2/oracle/product/11.2.0/dbhome_1)

(SID_NAME = orcl11g)

)

(SID_DESC =

(GLOBAL_DBNAME = aux)

(ORACLE_HOME = /u2/oracle/product/11.2.0/dbhome_1)

(SID_NAME = aux)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.131.119.114)(PORT = 1521))

)

)

ADR_BASE_LISTENER = /u2/oracle


TNS:

[[email protected] admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /u2/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

ORCL11G =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.131.119.114)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl11g)

)

)

aux =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.131.119.114)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = aux)

)

)

6.开始复制操作

[[email protected] ~]$ rman target /     ----连接target DB

Recovery Manager: Release 11.2.0.2.0 - Production on Thu Jan 14 11:33:21 2016

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL11G (DBID=1007320894)

RMAN> backup database plus archivelog;    ----备份数据库与日志

Starting backup at 14-JAN-16

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=2 RECID=1 STAMP=900437233

input archived log thread=1 sequence=3 RECID=2 STAMP=900482409

input archived log thread=1 sequence=4 RECID=3 STAMP=900541603

input archived log thread=1 sequence=5 RECID=4 STAMP=900597615

input archived log thread=1 sequence=6 RECID=5 STAMP=900655218

input archived log thread=1 sequence=7 RECID=6 STAMP=900684500

input archived log thread=1 sequence=8 RECID=7 STAMP=900734434

input archived log thread=1 sequence=9 RECID=8 STAMP=900770943

input archived log thread=1 sequence=10 RECID=9 STAMP=900813623

input archived log thread=1 sequence=11 RECID=10 STAMP=900885622

input archived log thread=1 sequence=12 RECID=11 STAMP=900950581

input archived log thread=1 sequence=13 RECID=12 STAMP=900982859

input archived log thread=1 sequence=14 RECID=13 STAMP=901058420

input archived log thread=1 sequence=15 RECID=14 STAMP=901101608

input archived log thread=1 sequence=16 RECID=15 STAMP=901102699

input archived log thread=1 sequence=17 RECID=16 STAMP=901102770

input archived log thread=1 sequence=18 RECID=17 STAMP=901107986

channel ORA_DISK_1: starting piece 1 at 14-JAN-16

channel ORA_DISK_1: finished piece 1 at 14-JAN-16

piece handle=/u2/oracle/fast_recovery_area/ORCL11G/backupset/2016_01_14/o1_mf_annnn_TAG20160114T114626_c9g6jlyk_.bkp tag=TAG20160114T114626 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45

Finished backup at 14-JAN-16

Starting backup at 14-JAN-16

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00001 name=/u2/oracle/oradata/orcl11g/system01.dbf

input datafile file number=00002 name=/u2/oracle/oradata/orcl11g/sysaux01.dbf

input datafile file number=00005 name=/u2/oracle/oradata/orcl11g/tom01.dbf

input datafile file number=00003 name=/u2/oracle/oradata/orcl11g/undotbs01.dbf

input datafile file number=00004 name=/u2/oracle/oradata/orcl11g/users01.dbf

channel ORA_DISK_1: starting piece 1 at 14-JAN-16

channel ORA_DISK_1: finished piece 1 at 14-JAN-16

piece handle=/u2/oracle/fast_recovery_area/ORCL11G/backupset/2016_01_14/o1_mf_nnndf_TAG20160114T114712_c9g6l0l2_.bkp tag=TAG20160114T114712 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15

Finished backup at 14-JAN-16

Starting backup at 14-JAN-16

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting archived log backup set

channel ORA_DISK_1: specifying archived log(s) in backup set

input archived log thread=1 sequence=19 RECID=18 STAMP=901108107

channel ORA_DISK_1: starting piece 1 at 14-JAN-16

channel ORA_DISK_1: finished piece 1 at 14-JAN-16

piece handle=/u2/oracle/fast_recovery_area/ORCL11G/backupset/2016_01_14/o1_mf_annnn_TAG20160114T114827_c9g6ncw6_.bkp tag=TAG20160114T114827 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 14-JAN-16

Starting Control File and SPFILE Autobackup at 14-JAN-16

piece handle=/u2/oracle/fast_recovery_area/ORCL11G/autobackup/2016_01_14/o1_mf_s_901108109_c9g6nffq_.bkp comment=NONE

Finished Control File and SPFILE Autobackup at 14-JAN-16

RMAN> connect auxiliary sys/[email protected]      ----连接auxiliary DB

connected to auxiliary database: AUX (not mounted)

RMAN> duplicate target database to aux      ----开始复制

2> pfile=/u2/oracle/product/11.2.0/dbhome_1/dbs/initaux.ora

3> logfile

4> ‘/u2/oracle/oradata/aux/redo01.dbf‘ size 50M,

5> ‘/u2/oracle/oradata/aux/redo02.dbf‘ size 50M,

6> ‘/u2/oracle/oradata/aux/redo03.dbf‘ size 50M;

Starting Duplicate Db at 14-JAN-16

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=125 device type=DISK

contents of Memory Script:

{

sql clone "create spfile from memory";

}

executing Memory Script

sql statement: create spfile from memory

contents of Memory Script:

{

shutdown clone immediate;

startup clone nomount;

}

executing Memory Script

Oracle instance shut down

connected to auxiliary database (not started)

Oracle instance started

Total System Global Area     271400960 bytes

Fixed Size                     2225672 bytes

Variable Size                109054456 bytes

Database Buffers             155189248 bytes

Redo Buffers                   4931584 bytes

contents of Memory Script:

{

sql clone "alter system set  db_name =

‘‘ORCL11G‘‘ comment=

‘‘Modified by RMAN duplicate‘‘ scope=spfile";

sql clone "alter system set  db_unique_name =

‘‘AUX‘‘ comment=

‘‘Modified by RMAN duplicate‘‘ scope=spfile";

shutdown clone immediate;

startup clone force nomount

restore clone primary controlfile;

alter clone database mount;

}

executing Memory Script

sql statement: alter system set  db_name =  ‘‘ORCL11G‘‘ comment= ‘‘Modified by RMAN duplicate‘‘ scope=spfile

sql statement: alter system set  db_unique_name =  ‘‘AUX‘‘ comment= ‘‘Modified by RMAN duplicate‘‘ scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area     271400960 bytes

Fixed Size                     2225672 bytes

Variable Size                109054456 bytes

Database Buffers             155189248 bytes

Redo Buffers                   4931584 bytes

Starting restore at 14-JAN-16

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=133 device type=DISK

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: restoring control file

channel ORA_AUX_DISK_1: reading from backup piece /u2/oracle/fast_recovery_area/ORCL11G/autobackup/2016_01_14/o1_mf_s_901108109_c9g6nffq_.bkp

channel ORA_AUX_DISK_1: piece handle=/u2/oracle/fast_recovery_area/ORCL11G/autobackup/2016_01_14/o1_mf_s_901108109_c9g6nffq_.bkp tag=TAG20160114T114828

channel ORA_AUX_DISK_1: restored backup piece 1

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01

output file name=/u2/oracle/oradata/aux/control01.ctl

output file name=/u2/oracle/fast_recovery_area/aux/control02.ctl

Finished restore at 14-JAN-16

database mounted

contents of Memory Script:

{

set until scn  1404181;

set newname for datafile  1 to

"/u2/oracle/oradata/aux/system01.dbf";

set newname for datafile  2 to

"/u2/oracle/oradata/aux/sysaux01.dbf";

set newname for datafile  3 to

"/u2/oracle/oradata/aux/undotbs01.dbf";

set newname for datafile  4 to

"/u2/oracle/oradata/aux/users01.dbf";

set newname for datafile  5 to

"/u2/oracle/oradata/aux/tom01.dbf";

restore

clone database

;

}

executing Memory Script

executing command: SET until clause

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 14-JAN-16

using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_AUX_DISK_1: restoring datafile 00001 to /u2/oracle/oradata/aux/system01.dbf

channel ORA_AUX_DISK_1: restoring datafile 00002 to /u2/oracle/oradata/aux/sysaux01.dbf

channel ORA_AUX_DISK_1: restoring datafile 00003 to /u2/oracle/oradata/aux/undotbs01.dbf

channel ORA_AUX_DISK_1: restoring datafile 00004 to /u2/oracle/oradata/aux/users01.dbf

channel ORA_AUX_DISK_1: restoring datafile 00005 to /u2/oracle/oradata/aux/tom01.dbf

channel ORA_AUX_DISK_1: reading from backup piece /u2/oracle/fast_recovery_area/ORCL11G/backupset/2016_01_14/o1_mf_nnndf_TAG20160114T114712_c9g6l0l2_.bkp

channel ORA_AUX_DISK_1: piece handle=/u2/oracle/fast_recovery_area/ORCL11G/backupset/2016_01_14/o1_mf_nnndf_TAG20160114T114712_c9g6l0l2_.bkp tag=TAG20160114T114712

channel ORA_AUX_DISK_1: restored backup piece 1

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:15

Finished restore at 14-JAN-16

contents of Memory Script:

{

switch clone datafile all;

}

executing Memory Script

datafile 1 switched to datafile copy

input datafile copy RECID=6 STAMP=901108249 file name=/u2/oracle/oradata/aux/system01.dbf

datafile 2 switched to datafile copy

input datafile copy RECID=7 STAMP=901108249 file name=/u2/oracle/oradata/aux/sysaux01.dbf

datafile 3 switched to datafile copy

input datafile copy RECID=8 STAMP=901108249 file name=/u2/oracle/oradata/aux/undotbs01.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=9 STAMP=901108249 file name=/u2/oracle/oradata/aux/users01.dbf

datafile 5 switched to datafile copy

input datafile copy RECID=10 STAMP=901108249 file name=/u2/oracle/oradata/aux/tom01.dbf

contents of Memory Script:

{

set until scn  1404181;

recover

clone database

delete archivelog

;

}

executing Memory Script

executing command: SET until clause

Starting recover at 14-JAN-16

using channel ORA_AUX_DISK_1

starting media recovery

archived log for thread 1 with sequence 19 is already on disk as file /u2/oracle/arch/1_19_900436609.dbf

archived log file name=/u2/oracle/arch/1_19_900436609.dbf thread=1 sequence=19

media recovery complete, elapsed time: 00:00:01

Finished recover at 14-JAN-16

Oracle instance started

Total System Global Area     271400960 bytes

Fixed Size                     2225672 bytes

Variable Size                104860152 bytes

Database Buffers             159383552 bytes

Redo Buffers                   4931584 bytes

sql statement: CREATE CONTROLFILE REUSE SET DATABASE "AUX" RESETLOGS ARCHIVELOG

MAXLOGFILES     16

MAXLOGMEMBERS      3

MAXDATAFILES      100

MAXINSTANCES     8

MAXLOGHISTORY      292

LOGFILE

GROUP  1 ‘/u2/oracle/oradata/aux/redo01.dbf‘ SIZE 50 M ,

GROUP  2 ‘/u2/oracle/oradata/aux/redo02.dbf‘ SIZE 50 M ,

GROUP  3 ‘/u2/oracle/oradata/aux/redo03.dbf‘ SIZE 50 M

DATAFILE

‘/u2/oracle/oradata/aux/system01.dbf‘

CHARACTER SET WE8MSWIN1252

contents of Memory Script:

{

set newname for tempfile  1 to

"/u2/oracle/oradata/aux/temp01.dbf";

switch clone tempfile all;

catalog clone datafilecopy  "/u2/oracle/oradata/aux/sysaux01.dbf",

"/u2/oracle/oradata/aux/undotbs01.dbf",

"/u2/oracle/oradata/aux/users01.dbf",

"/u2/oracle/oradata/aux/tom01.dbf";

switch clone datafile all;

}

executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /u2/oracle/oradata/aux/temp01.dbf in control file

cataloged datafile copy

datafile copy file name=/u2/oracle/oradata/aux/sysaux01.dbf RECID=1 STAMP=901108255

cataloged datafile copy

datafile copy file name=/u2/oracle/oradata/aux/undotbs01.dbf RECID=2 STAMP=901108255

cataloged datafile copy

datafile copy file name=/u2/oracle/oradata/aux/users01.dbf RECID=3 STAMP=901108255

cataloged datafile copy

datafile copy file name=/u2/oracle/oradata/aux/tom01.dbf RECID=4 STAMP=901108255

datafile 2 switched to datafile copy

input datafile copy RECID=1 STAMP=901108255 file name=/u2/oracle/oradata/aux/sysaux01.dbf

datafile 3 switched to datafile copy

input datafile copy RECID=2 STAMP=901108255 file name=/u2/oracle/oradata/aux/undotbs01.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=3 STAMP=901108255 file name=/u2/oracle/oradata/aux/users01.dbf

datafile 5 switched to datafile copy

input datafile copy RECID=4 STAMP=901108255 file name=/u2/oracle/oradata/aux/tom01.dbf

contents of Memory Script:

{

Alter clone database open resetlogs;

}

executing Memory Script

database opened

Finished Duplicate Db at 14-JAN-16

7.检查auxiliary DB

[[email protected] ~]$ export ORACLE_SID=aux

[[email protected] ~]$ echo $ORACLE_SID

aux

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Thu Jan 14 14:15:36 2016

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/u2/oracle/oradata/aux/system01.dbf

/u2/oracle/oradata/aux/sysaux01.dbf

/u2/oracle/oradata/aux/undotbs01.dbf

/u2/oracle/oradata/aux/users01.dbf

/u2/oracle/oradata/aux/tom01.dbf

SQL> select status from v$instance;

STATUS

------------

OPEN

SQL> show parameter name;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_file_name_convert                 string      orcl11g, aux

db_name                              string      aux

db_unique_name                       string      aux

global_names                         boolean     FALSE

instance_name                        string      aux

lock_name_space                      string

log_file_name_convert                string

service_names                        string      aux.us.oracle.com


时间: 2024-08-25 07:35:37

Oracle 11g 利用备份复制数据库的相关文章

oracle 11g下冷备数据库

1.关闭数据库 [email protected]>shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down. 2.退出[email protected]>exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning,

Oracle 11g 在备份导出时缺少表的问题

ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2)设置deferred_segment_creation参数 SQL> show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------

ORACLE 11G 利用泠备份恢复standby库

利用泠备份恢复standby数据库 1 開始在备库上进行泠备份 先查好控制文件.redo.undo文件.数据文件的路径 1.1 先关闭主库的归档日志传输 SQL> ALTER system SETlog_archive_dest_state_2 ='DEFER'; System altered. SQL> 1.2 先关闭standby库 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instan

oracle 11g expdp 备份解决空表无法备份

之前做oracle 备份用的都是exp,但exp在11g上存在一个问题,就是无法导出空表. 最近做oracle 数据迁移,需要将空表一同导出,经过搜索,找到了expdb 于是有了此文. 此文仅作记录其中问题,以及我个人对expdp 的理解 在使用expdp impdp之前,需要先建立目录对象,并赋予用户权限.这是因为expdp impdp只能通过DIRECTORY对象关系,将数据存入系统目录. 注:红色部分要替换成实际值 expdp 导出 创建DIRECTORY对象和OS PATH映射,并赋予权

Oracle 11g rman备份相关

1.验证备份是否可以被成功还原,完全还原确定需应用哪些备份集和归档日志. RMAN> restore database preview; Starting restore at 07-OCT-15 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=202 device type=DISK allocated cha

oracle 11g 手工热备-数据库

查看数据库是否处于归档模式,开启数据库热备模式,拷贝操作系统数据库数据文件到备份目录 [email protected]> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch Oldest online log sequence 2 Next log sequen

Windows下Oracle 11g安装以及创建数据库

安装数据库 事实上Oracle安装 1.安装准备 Oracle的安装包下载以后是两个压缩包,同时选中两个压缩包右击进行解压 2.解压完成如下图所示 3.双击 setup.exe 文件进行安装,会弹出以下窗口 安全配置:随即会进入安装界面,此时让我们填写电子邮箱,邮箱不是必填选项,可填可不填,不填写的话会有一个提示,我们可直接无视,点击是进入下一步 安装选项:直接选择默认创建和配置一个数据库(安装完数据库管理软件后,系统会自动创建一个数据库实例). 安装类型:我们选择系统默认的桌面类 典型安装:重

oracle 11g 基于备份的rman duplicate

基于备份的rman duplicate 命令来创建standby database 前提条件: 保证原库数据库的备份,归档对于standby 端是完全可见的, 这里假设原库和目标端数据文件,日志文件等所有文件存放结构完全相同: 配置主库,备库静态监听,主库处于归档模式,和force logging 1.对主数据库进行必要的更改. a. 启用 force logging. b. 如果没有密码文件,则创建密码文件. c. 创建备用 redo 日志. d. 修改参数文件,使其适用于 Dataguard

Oracle闪回技术之一Oracle 11g 利用FlashTable (闪回表)恢复(用delete)误删的数据

闪回表,实际上就是将表中的数据快速恢复到过去的一个时间点或者系统改变号SCN上.实现表的闪回,需要用到撤销表空间相关的UNDO信息,通过SHOW PARAMETER UNDO命令就可以了解这些信息.用户对表的数据的修改操作,都记录在撤销表空间中,这为表的闪回提供的数据恢复的基础. 修改记录被提交到undo表空间中的默认保留时间为900秒,用户可以在这900秒的时间内对表的进行闪回操作,从而将表中的数据恢复的修改前的状态. 如上图显示的默认900秒,我们通过sql来修改这个默认时间为1200: f