RMAN异机不同路径结构Duplicate数据库
来源:互联网 发布:java static final区别 编辑:程序博客网 时间:2024/04/26 08:35
taget database
auxiliary database
操作系统
RHEL 5 update 8 X86_64
RHEL 5 update 8 X86_64
主机名
oraedu
oraedu1
IP地址/子网掩码
192.168.127.11/24
192.168.127.12/24
/etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.127.11 oraedu
192.168.127.12 oraedu1
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.127.12 oraedu1
192.168.127.11 oraedu
~/.bash_porfile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
EDITOR=vi
export PATH EDITOR
ORACLE_BASE=/u01/app/oracle
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_SID
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
EDITOR=vi
export PATH EDITOR
ORACLE_BASE=/u01/app/oracle
ORACLE_SID=orclb
export ORACLE_BASE ORACLE_SID
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
安装oracle软件的用户
oracle
oracle
Oracle软件版本
oracle 10g 10.2.0.1.0 X86_64
oracle 10g 10.2.0.1.0 X86_64
$ORACLE_BASE
/u01/app/oracle/
/u01/app/oracle/
$ORACLE_HOME
/u01/app/oracle/product/10.2.0/db_1/
/u01/app/oracle/product/10.2.0/db_1/
$ORACLE_SID
orcl
orclb
lisntener.o
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraedu)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
#这里要用静态注册的方式,否则oraedu无法连接此侦听,不用静态注册也可以成功(2012-10-31修改)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_NAME = orclb)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = orclb)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraedu1)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
tnsnames.ora
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraedu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCLB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraedu1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclb)
(UR=A)
)
)
#一定要在连接orclb的服务描述符中加上(UR=A),否则RMAN连接orclb不是"not mounted"状态,而是"not started"状态,auxiliary database是"not started"状态执行duplicate是无法成功的。
Note: The (UR=A) clause in tnsnames.ora is intended to work with a dynamically registered handler so the use of SERVICE_NAME versus SID is preferred. (ID 362656.1)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraedu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCLB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraedu1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclb)
(UR=A)
)
)
表格 1
本实验演示RMAN的DUPLICATE功能,复制targetdatabase到auxiliary database中。target database已经open,并且处于归档模式,auxiliary database已安装Oracle软件,并未安装数据库。我们需要为auxiliary database配置参数文件,然后启动实例,再利用RMAN的DUPLICATE把target database的数据库完整备份复制到auxiliary database上,并启动auxiliary database。实验目的是为了建立一个和targetdatabase几乎一致的数据库副本,因为auxiliary database只能与target database的某个时间点相同。
本实验只演示异机不同路径的复制,除此之外还有异机相同路径复制和本地创建DUPLICATE。
为完成本次实验需要两台机器,两台机器的主机和oracle相关设置见表格1,oraedu是target database,已经安装oracle数据库,并且处于open状态,oraedu1是auxiliary database,已安装oracle软件,没有安装oracle数据库,没有启动实例。以下是实验步骤,在实验前要确保已按照表格中的内容做相关设置:
步骤一、创建orclb实例的参数文件
1、oraedu主机的orcl数据库是用spfile文件启动实例,我们可以利用spfile创建pfile,并复制pfile到oraedu1主机。
登录oraedu主机:
[oracle@oraedu ~]$ sqlplus / as sysdba
SYS@orcl>select status from v$instance;
STATUS
------------
OPEN
SYS@orcl>select dbid,name,log_mode fromv$database;
DBID NAME LOG_MODE
------------------- --------- ---------
1320402727 ORCL ARCHIVELOG
SYS@orcl>create pfile from spfile;
File created.
SYS@orcl>exit
[oracle@oraedu ~]$scp $ORACLE_HOME/dbs/initorcl.ora oracle@oraedu1:/u01/app/oracle/product/10.2.0/db_1/dbs/initorclb.ora
2、修改参数文件
登录oraedu1主机:
[oracle@oraedu1 ~]$ vi $ORACLE_HOME/dbs/initorclb.ora
把文件中所有orcl改成orclb,在文件尾加添加以下两行后保存:
db_file_name_convert=(/u01/app/oracle/oradata/orcl/,/u01/app/oracle/oradata/orclb/)
log_file_name_convert=(/u01/app/oracle/oradata/orcl/,/u01/app/oracle/oradata/orclb/)
这两行是实现复制之后的数据文件的位置映射。
创建参数文件中的相关目录:
[oracle@oraedu1 ~]$ mkdir -p/u01/app/oracle/admin/orclb/adump
[oracle@oraedu1 ~]$ mkdir -p/u01/app/oracle/admin/orclb/bdump
[oracle@oraedu1 ~]$ mkdir -p/u01/app/oracle/admin/orclb/cdump
[oracle@oraedu1 ~]$ mkdir -p/u01/app/oracle/admin/orclb/udump
[oracle@oraedu1 ~] mkdir -p/u01/app/oracle/flash_recovery_area
[oracle@oraedu1 ~] mkdir -p/u01/app/oracle/oradata/orclb
步骤二、创建orclb数据库的密码文件
[oracle@oraedu1 ~]orapwd file=$ORACLE_HOME/dbs/orapworclbpassword=oracle entries=20
步骤三、启动orclb的侦听,启动orclb实例到no mount状态。
[oracle@oraedu1 ~]lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 -Production on 27-OCT-2012 14:12:36
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr:please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to/u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraedu1)(PORT=1521)))
Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oraedu1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 27-OCT-2012 21:01:40
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/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraedu1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "orclb" has 1 instance(s).
Instance"orclb", status UNKNOWN, has 1 handler(s) for this service...
The command completed successful
[oracle@oraedu1 ~]sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production onSat Oct 27 14:16:52 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SYS@orclb> startup nomount
ORACLE instance started.
Total System Global Area 314572800 bytes
FixedSize 2020480 bytes
VariableSize 109054848 bytes
DatabaseBuffers 201326592 bytes
RedoBuffers 2170880 bytes
SYS@orclb>select status from v$instance;
STATUS
------------
STARTED
SYS@orclb>
步骤四、在oraedu主机的orcl数据库上用RMAN创建数据库备份集,并复制备份到oraedu1主机上
登录oraedu主机:
[oracle@oraedu ~]$mkdir -p/u01/app/oracle/backup/ --创建备份目录
[oracle@oraedu ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Sat Oct27 21:10:21 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1320402727)
RMAN>backup fulldatabase format '/u01/app/oracle/backup/full_%u%p%s.rmn' include currentcontrolfile plus archivelog format '/u01/app/oracle/backup/arch_%u%p%s.rmn'; --创建数据库的完整备份,并备份当前控制文件和日志文件。
…………输出省略
RMAN>list backup; --查看备份的数据库文件、控制文件和日志文件。
…………输出省略
RMAN>exit
[oracle@oraedu ~]$scp -r/u01/app/oracle/backup/ oracle@oraedu1:/u01/app/oracle/ --备份集必须复制到auxiliary database相同的位置。
步骤五、连接target database和auxiliary database,执行复制语句。
登录oraedu主机:
[oracle@oraedu ~]$rman target sys/oracle@orcl auxiliarysys/oracle@orclb
Recovery Manager: Release 10.2.0.1.0 - Production on Sat Oct27 21:28:40 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1320402727)
connected to auxiliary database: ORCLB(not mounted) --如果是(not started)执行复制命令是无法成功的。
RMAN>duplicate targetdatabase to orclb; --执行数据库复制命令。
Starting Duplicate Db at 27-OCT-12
using target database control file instead of recoverycatalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=155 devtype=DISK
contents of Memory Script:
{
set until scn 1252314;
set newname fordatafile 1 to
"/u01/app/oracle/oradata/orclb/system01.dbf";
set newname fordatafile 2 to
"/u01/app/oracle/oradata/orclb/undotbs01.dbf";
set newname fordatafile 3 to
"/u01/app/oracle/oradata/orclb/sysaux01.dbf";
set newname fordatafile 4 to
"/u01/app/oracle/oradata/orclb/users01.dbf";
set newname fordatafile 5 to
"/u01/app/oracle/oradata/orclb/example01.dbf";
set newname fordatafile 6 to
"/u01/app/oracle/oradata/orclb/statsinfo01.dbf";
set newname fordatafile 7 to
"/u01/app/oracle/oradata/orclb/toms01.dbf";
set newname fordatafile 8 to
"/u01/app/oracle/oradata/orclb/tomss01.dbf";
restore
check readonly
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
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 27-OCT-12
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restorefrom backup set
restoring datafile 00001 to/u01/app/oracle/oradata/orclb/system01.dbf
restoring datafile 00002 to/u01/app/oracle/oradata/orclb/undotbs01.dbf
restoring datafile 00003 to/u01/app/oracle/oradata/orclb/sysaux01.dbf
restoring datafile 00004 to/u01/app/oracle/oradata/orclb/users01.dbf
restoring datafile 00005 to/u01/app/oracle/oradata/orclb/example01.dbf
restoring datafile 00006 to/u01/app/oracle/oradata/orclb/statsinfo01.dbf
restoring datafile 00007 to/u01/app/oracle/oradata/orclb/toms01.dbf
restoring datafile 00008 to/u01/app/oracle/oradata/orclb/tomss01.dbf
channel ORA_AUX_DISK_1: reading from backup piece/u01/app/oracle/backup/full_11noqiqh133.rmn
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/app/oracle/backup/full_11noqiqh133.rmntag=TAG20121027T160329
channel ORA_AUX_DISK_1: restore complete, elapsed time:00:01:47
Finished restore at 27-OCT-12
sql statement: CREATE CONTROLFILE REUSE SET DATABASE"ORCLB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/orclb/redo101.log','/u01/app/oracle/oradata/orclb/redo01.log' ) SIZE 50 M REUSE,
GROUP 2 ('/u01/app/oracle/oradata/orclb/redo202.log','/u01/app/oracle/oradata/orclb/redo02.log' ) SIZE 50 M REUSE,
GROUP 3 ('/u01/app/oracle/oradata/orclb/redo303.log','/u01/app/oracle/oradata/orclb/redo03.log' ) SIZE 50 M REUSE,
GROUP 4 ('/u01/app/oracle/oradata/orclb/redo04.log','/u01/app/oracle/oradata/orclb/redo404.log' ) SIZE 50 M REUSE
DATAFILE
'/u01/app/oracle/oradata/orclb/system01.dbf'
CHARACTER SET AL32UTF8
contents of Memory Script:
{
switch clonedatafile all;
}
executing Memory Script
released channel: ORA_AUX_DISK_1
datafile 2 switched to datafile copy
input datafile copy recid=1 stamp=797790845filename=/u01/app/oracle/oradata/orclb/undotbs01.dbf
datafile 3 switched to datafile copy
input datafile copy recid=2 stamp=797790845filename=/u01/app/oracle/oradata/orclb/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy recid=3 stamp=797790845filename=/u01/app/oracle/oradata/orclb/users01.dbf
datafile 5 switched to datafile copy
input datafile copy recid=4 stamp=797790845filename=/u01/app/oracle/oradata/orclb/example01.dbf
datafile 6 switched to datafile copy
input datafile copy recid=5 stamp=797790845filename=/u01/app/oracle/oradata/orclb/statsinfo01.dbf
datafile 7 switched to datafile copy
input datafile copy recid=6 stamp=797790845filename=/u01/app/oracle/oradata/orclb/toms01.dbf
datafile 8 switched to datafile copy
input datafile copy recid=7 stamp=797790845filename=/u01/app/oracle/oradata/orclb/tomss01.dbf
contents of Memory Script:
{
set until scn 1252314;
recover
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 27-OCT-12
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=155 devtype=DISK
starting media recovery
channel ORA_AUX_DISK_1: starting archive log restore todefault destination
channel ORA_AUX_DISK_1: restoring archive log
archive log thread=1 sequence=55
channel ORA_AUX_DISK_1: reading from backup piece/u01/app/oracle/backup/arch_13noqj28135.rmn
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/app/oracle/backup/arch_13noqj28135.rmntag=TAG20121027T160736
channel ORA_AUX_DISK_1: restore complete, elapsed time:00:00:02
archive logfilename=/u01/app/oracle/flash_recovery_area/ORCLB/archivelog/2012_10_27/o1_mf_1_55_88q7404s_.arcthread=1 sequence=55
channel clone_default: deleting archive log(s)
archive logfilename=/u01/app/oracle/flash_recovery_area/ORCLB/archivelog/2012_10_27/o1_mf_1_55_88q7404s_.arcrecid=1 stamp=797790848
media recovery complete, elapsed time: 00:00:03
Finished recover at 27-OCT-12
contents of Memory Script:
{
shutdown clone;
startup clonenomount ;
}
executing Memory Script
database dismounted
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 314572800 bytes
Fixed Size 2020480 bytes
Variable Size 109054848 bytes
Database Buffers 201326592 bytes
Redo Buffers 2170880 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE"ORCLB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/orclb/redo101.log','/u01/app/oracle/oradata/orclb/redo01.log' ) SIZE 50 M REUSE,
GROUP 2 ('/u01/app/oracle/oradata/orclb/redo202.log','/u01/app/oracle/oradata/orclb/redo02.log' ) SIZE 50 M REUSE,
GROUP 3 ('/u01/app/oracle/oradata/orclb/redo303.log','/u01/app/oracle/oradata/orclb/redo03.log' ) SIZE 50 M REUSE,
GROUP 4 ('/u01/app/oracle/oradata/orclb/redo04.log','/u01/app/oracle/oradata/orclb/redo404.log' ) SIZE 50 M REUSE
DATAFILE
'/u01/app/oracle/oradata/orclb/system01.dbf'
CHARACTER SET AL32UTF8
contents of Memory Script:
{
set newname fortempfile 1 to
"/u01/app/oracle/oradata/orclb/temp01.dbf";
switch clonetempfile all;
catalog clonedatafilecopy "/u01/app/oracle/oradata/orclb/undotbs01.dbf";
catalog clonedatafilecopy "/u01/app/oracle/oradata/orclb/sysaux01.dbf";
catalog clonedatafilecopy "/u01/app/oracle/oradata/orclb/users01.dbf";
catalog clonedatafilecopy "/u01/app/oracle/oradata/orclb/example01.dbf";
catalog clonedatafilecopy "/u01/app/oracle/oradata/orclb/statsinfo01.dbf";
catalog clonedatafilecopy "/u01/app/oracle/oradata/orclb/toms01.dbf";
catalog clonedatafilecopy "/u01/app/oracle/oradata/orclb/tomss01.dbf";
switch clonedatafile all;
}
executing Memory Script
executing command: SET NEWNAME
renamed temporary file 1 to/u01/app/oracle/oradata/orclb/temp01.dbf in control file
cataloged datafile copy
datafile copyfilename=/u01/app/oracle/oradata/orclb/undotbs01.dbf recid=1 stamp=797792902
cataloged datafile copy
datafile copyfilename=/u01/app/oracle/oradata/orclb/sysaux01.dbf recid=2 stamp=797792908
cataloged datafile copy
datafile copyfilename=/u01/app/oracle/oradata/orclb/users01.dbf recid=3 stamp=797792909
cataloged datafile copy
datafile copyfilename=/u01/app/oracle/oradata/orclb/example01.dbf recid=4 stamp=797792909
cataloged datafile copy
datafile copyfilename=/u01/app/oracle/oradata/orclb/statsinfo01.dbf recid=5 stamp=797792910
cataloged datafile copy
datafile copyfilename=/u01/app/oracle/oradata/orclb/toms01.dbf recid=6 stamp=797792910
cataloged datafile copy
datafile copyfilename=/u01/app/oracle/oradata/orclb/tomss01.dbf recid=7 stamp=797792910
datafile 2 switched to datafile copy
input datafile copy recid=1 stamp=797792902filename=/u01/app/oracle/oradata/orclb/undotbs01.dbf
datafile 3 switched to datafile copy
input datafile copy recid=2 stamp=797792908filename=/u01/app/oracle/oradata/orclb/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy recid=3 stamp=797792909filename=/u01/app/oracle/oradata/orclb/users01.dbf
datafile 5 switched to datafile copy
input datafile copy recid=4 stamp=797792909filename=/u01/app/oracle/oradata/orclb/example01.dbf
datafile 6 switched to datafile copy
input datafile copy recid=5 stamp=797792910filename=/u01/app/oracle/oradata/orclb/statsinfo01.dbf
datafile 7 switched to datafile copy
input datafile copy recid=6 stamp=797792910filename=/u01/app/oracle/oradata/orclb/toms01.dbf
datafile 8 switched to datafile copy
input datafile copy recid=7 stamp=797792910filename=/u01/app/oracle/oradata/orclb/tomss01.dbf
contents of Memory Script:
{
Alter clone databaseopen resetlogs;
}
executing Memory Script
database opened
Finished Duplicate Db at 27-OCT-12
RMAN> --已完成数据库的复制
步骤六、连接orclb数据库验证复制结果
登陆oraedu1主机,用sqlplus连接orclb数据库
[oracle@oraedu1 ~]$ sqlplus / as sysdba
SQL*Plus:Release 10.2.0.1.0 - Production on Sat Oct 27 21:37:33 2012
Copyright(c) 1982, 2005, Oracle. All rightsreserved.
Connectedto:
OracleDatabase 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
Withthe Partitioning, OLAP and Data Mining options
SYS@orclb> selectstatus from v$instance;
STATUS
------------
OPEN
SYS@orclb> selectdbid,name,log_mode from v$database;
DBID NAME LOG_MODE
---------- --------- ------------
2861060852 ORCLB ARCHIVELOG
可以看到数据库已经启动,而且是处于归档模式,并且DBID=2861060852 和orcl数据库的DBID=1320402727不一样。复制完数据库后要重新配置em,否则无法用em管理数据库。
- RMAN异机不同路径结构Duplicate数据库
- 基于RMAN的异机数据库克隆(rman duplicate)
- 迁移数据库——rman Duplicate 异机复制数据库
- RMAN duplicate 异机恢复
- RMAN Duplicate复制数据库
- RMAN创建duplicate数据库
- rman duplicate数据库
- RMAN duplicate数据库
- 基于RMAN从活动数据库异机克隆(rman duplicate from active DB)
- rman异机恢复(目录结构不同)
- RMAN 异机duplicate复制数据库
- oracle11G rman duplicate 复制数据库
- rman的duplicate复制数据库
- RMAN复制(Duplicate)数据库之实战
- 用RMAN duplicate命令克隆数据库
- Oracle 11g RMAN 异机duplicate数据库
- 使用rman中的duplicate复制数据库
- 实战:rman异机duplicate active数据库
- 项目开发文档
- nyoj27 水池数目 dfs
- 音视频压缩
- Windows核心编程——第一章
- Ios编程中文教程系列
- RMAN异机不同路径结构Duplicate数据库
- 使用WCF进行跨平台开发之一(WCF的实现、控制台托管与.net平台的调用)
- 小新手有问题求解答
- Linux C编程一站式学习
- .NET异步编程总结----四种实现模式
- VS2010如何调试IIS上的网站?
- js 自记忆函数
- atoi函数的实现
- Linux下PostgresQL数据库C语言接口:libpq (一)数据库连接