RMAN 与datagurad
SQL> select name from v$database;
NAME
---------
XH
SQL> host oradim -new -sid standby1 -intpwd a831115 (建立instance)
实例已创建。
配置 net
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = g:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = xh)
(ORACLE_HOME = g:\oracle\product\10.2.0\db_1)
(GLOBAL_DBNAME = xh)
)
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = g:\oracle\product\10.2.0\db_1)
(GLOBAL_DBNAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-200901221248)(PORT = 1521))
)
)
LSTANDBY =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-200901221248)(PORT = 1522))
)
)
SID_LIST_LSTANDBY=
(SID_DESC =
(SID_NAME = standby1)
(ORACLE_HOME = g:\oracle\product\10.2.0\db_1)
(GLOBAL_DBNAME = standby1)
)
)
C:\>lsnrctl start lstandby
C:\>lsnrctl start
tnsname.ora
XH =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-200901221248)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xh)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-200901221248)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
STANDBY1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-200901221248)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = STANDBY1)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
SQL> conn sys/a831115@xh as sysdba
已连接。
SQL> create pfile from spfile;
文件已创建。
修改primary pfile
xh.__db_cache_size=184549376
xh.__java_pool_size=4194304
xh.__large_pool_size=4194304
xh.__shared_pool_size=88080384
xh.__streams_pool_size=0
*.audit_file_dest='g:\oracle\product\10.2.0/admin/xh/adump'
*.background_dump_dest='g:\oracle\product\10.2.0/admin/xh/bdump'
*.compatible='10.2.0.1.0'
*.control_files='g:\oracle\product\10.2.0\oradata\xh\control01.ctl','g:\oracle\product\10.2.0\oradata\xh\control02.ctl','g:\oracle\product\10.2.0\oradata\xh\control03.ctl'
*.core_dump_dest='g:\oracle\product\10.2.0/admin/xh/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='xh'
*.db_recovery_file_dest='g:\oracle\product\10.2.0/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=xhXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=95420416
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=287309824
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='g:\oracle\product\10.2.0/admin/xh/udump'
*.fal_client='xh'
*.fal_server='standby1'
*.log_archive_dest_1='location=G:\archivelog valid_for=(all_logfiles,all_roles) db_unique_name=xh'
*.log_archive_dest_2='service=standby1 valid_for=(online_logfiles,primary_role) db_unique_name=standby1'
*.db_unique_name='xh'
*.standby_file_management='auto'
*.log_archive_config='dg_config=(xh,standby1)'
SQL> create spfile from pfile;
文件已创建。
SQL> startup
ORACLE 例程已经启动。
建立standby pfile
SQL> host copy G:\oracle\product\10.2.0\db_1\database\initxh.ora e:\standby\datafile\init
standby1.ora
已复制 1 个文件。
standby1.__db_cache_size=184549376
standby1.__java_pool_size=4194304
standby1.__large_pool_size=4194304
standby1.__shared_pool_size=88080384
standby1.__streams_pool_size=0
*.audit_file_dest='e:\standby/adump'
*.background_dump_dest='e:\standby/bdump'
*.compatible='10.2.0.1.0'
*.control_files='e:\standby\datafile\control01.ctl'
*.core_dump_dest='e:\standby/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='xh'
*.db_recovery_file_dest='e:\standby\archive'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=xhXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=95420416
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=287309824
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='e:\standby/udump'
*.fal_client='standby1'
*.fal_server='xh'
*.db_unique_name='standby1'
*.log_archive_dest_1='location=e:\standby\archive valid_for=(all_logfiles,all_roles) db_unique_name=standby1'
*.log_archive_dest_2='service=xh valid_for=(online_logfiles,primary_role) db_unique_name=xh'
*.standby_file_management='auto'
*.service_names=standby1
*.instance_name=standby1
*.standby_archive_dest='e:\standby\archive'
*.db_file_name_convert='g:\oracle\product\10.2.0\oradata\xh','e:\standby\datafile'
*.log_file_name_convert='g:\oracle\product\10.2.0\oradata\xh','e:\standby\datafile'
*.log_archive_config='dg_config=(xh,standby1)'
C:\>set oracle_sid=standby1
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 11月 11 16:49:57 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount pfile='e:\standby\datafile\initstandby1.ora'
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 96469696 bytes
Database Buffers 184549376 bytes
Redo Buffers 7139328 bytes
SQL> create spfile from pfile='e:\standby\datafile\initstandby1.ora';
文件已创建。
SQL> shutdown immediate;
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 96469696 bytes
Database Buffers 184549376 bytes
Redo Buffers 7139328 bytes
SQL>
C:\>rman target / auxiliary system/a831115@standby1
恢复管理器: Release 10.2.0.1.0 - Production on 星期三 11月 11 16:52:41 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: XH (DBID=3098165337)
已连接到辅助数据库: XH (未装载)
RMAN> backup database;
启动 backup 于 11-11月-09
C:\>rman target / auxiliary system/a831115@standby1
RMAN> copy
2> current
3> controlfile
4> for
5> standby
6> to
7> 'e:\standby\datafile\control01.ctl';
启动 backup 于 11-11月-09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制备用控制文件
输出文件名 = E:\STANDBY\DATAFILE\CONTROL01.CTL 标记 = TAG20091111T170236 recid =
3 时间戳 = 702666156
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 11-11月-09
RMAN> duplicate target database for standby dorecover;
启动 Duplicate Db 于 11-11月-09
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=158 devtype=DISK
RMAN-03002: Duplicate Db 命令 (在 11/11/2009 17:05:22 上) 失败
ORA-01405: 提取的列值为 NULL
RMAN> delete noprompt backup
2> ;
RMAN> backup database plus archivelog;
RMAN> duplicate target database for standby dorecover;
启动 Duplicate Db 于 11-11月-09
使用通道 ORA_AUX_DISK_1
内存脚本的内容:
{
set until scn 580245;
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
正在执行内存脚本
正在执行命令: SET until clause
启动 restore 于 11-11月-09
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在复原控制文件
通道 ORA_AUX_DISK_1: 已复制控制文件副本
输出文件名=E:\STANDBY\DATAFILE\CONTROL01.CTL
输出文件名=E:\STANDBY\DATAFILE\CONTROL01.CTL
完成 restore 于 11-11月-09
sql 语句: alter database mount standby database
释放的通道: ORA_DISK_1
释放的通道: ORA_AUX_DISK_1
内存脚本的内容:
{
set until scn 580245;
set newname for tempfile 1 to
"E:\STANDBY\DATAFILE\TEMP01.DBF";
switch clone tempfile all;
set newname for datafile 1 to
"E:\STANDBY\DATAFILE\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\STANDBY\DATAFILE\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\STANDBY\DATAFILE\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\STANDBY\DATAFILE\USERS01.DBF";
set newname for datafile 5 to
"E:\STANDBY\DATAFILE\EXAMPLE01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
临时文件 1 在控制文件中已重命名为 E:\STANDBY\DATAFILE\TEMP01.DBF
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 11-11月-09
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=155 devtype=DISK
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\STANDBY\DATAFILE\SYSTEM01.DBF
正将数据文件00002恢复到E:\STANDBY\DATAFILE\UNDOTBS01.DBF
正将数据文件00003恢复到E:\STANDBY\DATAFILE\SYSAUX01.DBF
正将数据文件00004恢复到E:\STANDBY\DATAFILE\USERS01.DBF
正将数据文件00005恢复到E:\STANDBY\DATAFILE\EXAMPLE01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA
\XH\BACKUPSET\2009_11_11\O1_MF_NNNDF_TAG20091111T170844_5HNZRXQX_.BKP
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\XH\BACKUPSET\2009_11_11\O1
_MF_NNNDF_TAG20091111T170844_5HNZRXQX_.BKP 标记 = TAG20091111T170844
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:01:36
完成 restore 于 11-11月-09
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
数据文件 1 已转换成数据文件副本
输入数据文件副本 recid=9 stamp=702666763 文件名=E:\STANDBY\DATAFILE\SYSTEM01.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=10 stamp=702666763 文件名=E:\STANDBY\DATAFILE\UNDOTBS01.D
BF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=11 stamp=702666764 文件名=E:\STANDBY\DATAFILE\SYSAUX01.DB
F
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=12 stamp=702666764 文件名=E:\STANDBY\DATAFILE\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=13 stamp=702666764 文件名=E:\STANDBY\DATAFILE\EXAMPLE01.D
BF
内存脚本的内容:
{
set until scn 580245;
recover
standby
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 11-11月-09
使用通道 ORA_AUX_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 3 已作为文件 G:\ARCHIVELOG\ARC00003_0702662237.001 存在于磁
盘上
存档日志线程 1 序列 4 已作为文件 G:\ARCHIVELOG\ARC00004_0702662237.001 存在于磁
盘上
存档日志文件名 =G:\ARCHIVELOG\ARC00003_0702662237.001 线程 =1 序列 =3
存档日志文件名 =G:\ARCHIVELOG\ARC00004_0702662237.001 线程 =1 序列 =4
介质恢复完成, 用时: 00:00:04
完成 recover 于 11-11月-09
完成 Duplicate Db 于 11-11月-09
RMAN>
SQL> select db_unique_name,database_role ,open_mode from v$database;(standby)
DB_UNIQUE_NAME DATABASE_ROLE OPEN_MODE
------------------------------ ---------------- ----------
standby1 PHYSICAL STANDBY MOUNTED
SQL> show parameter standby (standby)
NAME TYPE VALUE
------------------------------------ ----------- --------------------------
standby_archive_dest string e:\standby\archive
standby_file_management string auto
SQL> select process,client_process,status,sequence# from v$managed_standby;(standby)
PROCESS CLIENT_P STATUS SEQUENCE#
--------- -------- ------------ ----------
ARCH ARCH CONNECTED 0
ARCH ARCH CONNECTED 0
RFS UNKNOWN IDLE 0
SQL> select count(*) from v$archived_log;(standby)
COUNT(*)
----------
3
SQL> alter system switch logfile;(primary)
系统已更改。
SQL> select count(*) from v$archived_log;(standby)
COUNT(*)
----------
4
SQL> select name from v$datafile; (primary)
NAME
-------------------------------------------------------------------------------
G:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\SYSTEM01.DBF
G:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\UNDOTBS01.DBF
G:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\SYSAUX01.DBF
G:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\USERS01.DBF
G:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\EXAMPLE01.DBF
SQL> create tablespace xhtr datafile 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\xhtr. (primary)
bf'size 10m;
表空间已创建。
SQL> alter system switch logfile; (primary)
系统已更改。
SQL> alter database recover managed standby database disconnect from session;(standby)
数据库已更改。
SQL> select applied from v$archived_log;(standby)
APP
---
YES
YES
YES
YES
YES
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
E:\STANDBY\DATAFILE\SYSTEM01.DBF
E:\STANDBY\DATAFILE\UNDOTBS01.DBF
E:\STANDBY\DATAFILE\SYSAUX01.DBF
E:\STANDBY\DATAFILE\USERS01.DBF
E:\STANDBY\DATAFILE\EXAMPLE01.DBF
E:\STANDBY\DATAFILE\XHTR.DBF
已选择6行。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12020513/viewspace-619718/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12020513/viewspace-619718/