基于用户管理的同机数据库克隆(二)

2014-11-24 09:05:58 · 作者: · 浏览: 2
er_dump_dest目录下 SQL> alter database backup controlfile to trace resetlogs; --备份原数据库,如果数据库文件较多,使用热备脚本来完成 SQL> alter database begin backup; --复制数据库文件到目标数据库目录 SQL> host cp /u01/database/sybo3/oradata/* /u01/database/sybo4/oradata SQL> alter database end backup; --e、启动目标数据库到nomount状态并创建控制文件 $ export ORACLE_SID=sybo4 $ sqlplus / as sysdba SQL> startup nomount pfile=/u01/oracle/db_1/dbs/initsybo4.ora; ORACLE instance started. SQL> get sybo4ctl.sql 1 CREATE CONTROLFILE SET DATABASE "sybo4" RESETLOGS ARCHIVELOG 2 MAXLOGFILES 16 3 MAXLOGMEMBERS 3 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 292 7 LOGFILE 8 GROUP 1 '/u01/database/sybo4/redo/redo01.log' SIZE 50M BLOCKSIZE 512, 9 GROUP 2 '/u01/database/sybo4/redo/redo02.log' SIZE 50M BLOCKSIZE 512, 10 GROUP 3 '/u01/database/sybo4/redo/redo03.log' SIZE 50M BLOCKSIZE 512 11 DATAFILE 12 '/u01/database/sybo4/oradata/system01.dbf', 13 '/u01/database/sybo4/oradata/sysaux01.dbf', 14 '/u01/database/sybo4/oradata/undotbs01.dbf', 15 '/u01/database/sybo4/oradata/users01.dbf', 16 '/u01/database/sybo4/oradata/example01.dbf' 17 CHARACTER SET AL32UTF8 18* ; SQL> @sybo4ctl.sql Control file created. SQL> alter database mount; -->注意创建控制文件之后,数据库已经被mount,如下我们收到了错误提示 alter database mount * ERROR at line 1: ORA-01100: database already mounted --上面我们修改了控制文件脚本,使用了set database以及resetlogs方式来创建数据库 --f、恢复目标数据库 SQL> set logsource '/u01/database/sybo3/flash_recovery_area/SYBO3/archivelog/2013_07_24'; SQL> recover database using backup controlfile until cancel; ORA-00279: change 847086 generated at 07/24/2013 14:42:06 needed for thread 1 ORA-00289: suggestion : /u01/database/sybo3/flash_recovery_area/SYBO3/archivelog/2013_07_24/o1_mf_1_7_8216 17241.dbf ORA-00280: change 847086 for thread 1 is in sequence #7 Specify log: {
=suggested | filename | AUTO | CANCEL} /u01/database/sybo3/redo/redo01.log Log applied. Media recovery complete. --g、打开目标数据库 SQL> alter database open resetlogs; Database altered. --h、校验数据库及添加临时数据文件 SQL> select * from t; NAME ACTION ---------- -------------------- Robinson Transfer DB SQL> select name from v$datafile; NAME ------------------------------------------------------------ /u01/database/sybo4/oradata/system01.dbf /u01/database/sybo4/oradata/sysaux01.dbf /u01/database/sybo4/oradata/undotbs01.dbf /u01/database/sybo4/oradata/users01.dbf /u01/database/sybo4/oradata/example01.dbf SQL> col member format a60 SQL> select member from v$logfile; MEMBER ------------------------------------------------------------ /u01/database/sybo4/redo/redo03.log /u01/database/sybo4/redo/redo02.log /u01/database/sybo4/redo/redo01.log SQL> select name from v$controlfile; NAME ------------------------------------------------------------ /u01/database/sybo4/controlf/control01.ctl /u01/database/sybo4/controlf/control02.ctl --Author : Robinson SQL> select * from v$tempfile; no rows selected SQL> select property_name,property_value from database_properties where property_name like '%DEFAULT%'; PROPERTY_NAME PROPERTY_VALUE ------------------------------ ----------------------------