克隆Open状态下的PRACTICE数据库
实验目的:在源数据库PRACTICEopen状态下,用alter tablespace .. begin backup 的方式备份全库。 用该备份在一台新的数据库服务器上恢复,验证备份的有效性。为了操作简便,克隆数据库端采用了dbca创建数据库,用源数据库的备份来覆盖所有文件,执行恢复操作来完成此次克隆。
源数据库: 192.168.1.20
克隆数据库:192.168.1.21
此次试验分为5个步骤
1 准备克隆数据库
2 备份打开的PRACTICE数据库
3 从源库复制备份到克隆库
4 恢复克隆的数据库
5 打开克隆的数据库
step1 准备克隆数据库
在克隆数据库主机上创建数据文件、归档日志、备份文件目录
mkdir /oradata
mkdir /archive
mkdir /backup
chown oracle:oinstall /oradata
chown oracle:oinstall /archive
chown oracle:oinstall /backup
dbca建库
step2 备份Open状态下的PRACTICE数据库
该脚本是在源数据库open状态下执行alter tablespace begin backup方式进行的。
@/backup/scripts/open_backup.sql
脚本如下
vi /backup/scripts/open_backup.sql
set feedback off
set pagesize 0
set heading off
set verify off
set linesize 100
set trimspool on
define dir = '/backup/open_backup'
define fil = '/backup/scripts/open_backup_commands.sql'
define spo = '&dir/open_backup_output.lst'
set serveroutput on
spool &fil
prompt spool &spo
prompt archive log list;;
prompt alter system switch logfile;;
prompt alter system archive log all;;
DECLARE
rem不备份临时表空间
CURSOR cur_tablespace IS
SELECT tablespace_name
FROM dba_tablespaces where tablespace_name<>'TEMP';
CURSOR cur_datafile (tn VARCHAR) IS
SELECT file_name
FROM dba_data_files
WHERE tablespace_name = tn;
BEGIN
FOR ct IN cur_tablespace LOOP
dbms_output.put_line ('alter tablespace '||ct.tablespace_name||' begin backup;');
FOR cd IN cur_datafile (ct.tablespace_name) LOOP
dbms_output.put_line ('host cp '||cd.file_name||' &dir');
END LOOP;
dbms_output.put_line ('alter tablespace '||ct.tablespace_name||' end backup;');
END LOOP;
END;
/
prompt alter system switch log file;;
rem 注意此处只备份了一个控制文件,需要手工复制一份到快速恢复区/u01/app/oracle/fast_recovery_area/PRACTICE
prompt alter database backup controlfile to '&dir./control01.ctl' REUSE;;
prompt archive log list;;
prompt spool off
spool off;
@&fil
step3 从源库复制备份到克隆库
在源数据库端root用户下执行以下复制操作
复制spfile文件
scp /u01/app/oracle/product/11.2.0/db_1/dbs/spfilePRACTICE.ora 192.168.1.21:/u01/app/oracle/product/11.2.0/db_1/dbs/
复制数据文件、控制文件
scp /backup/open_backup/* 192.168.1.21:/backup/
复制归档日志文件
scp -r /archive/ 192.168.1.21:/
在克隆数据库端修改组属
chown oracle:oinstall /u01/app/oracle/product/11.2.0/db_1/dbs/spfilePRACTICE.ora
chown oracle:oinstall /oradata
chown oracle:oinstall /archive
在克隆数据库端复制一份拷贝过来的控制文件到闪回区
cp /backup/control01.ctl /u01/app/oracle/fast_recovery_area/PRACTICE/control02.ctl
step4 恢复克隆的数据库
recover database until cancel using backup control file;
ORA-00279: change 1304004 generated at 08/02/2014 10:52:46 needed for thread 1
ORA-00289: suggestion : /archive/1_2_854446453.arc
ORA-00280: change 1304004 for thread 1 is in sequence #2
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1304100 generated at 08/02/2014 10:53:08 needed for thread 1
ORA-00289: suggestion : /archive/1_3_854446453.arc
ORA-00280: change 1304100 for thread 1 is in sequence #3
ORA-00278: log file '/archive/1_2_854446453.arc' no longer needed for this
recovery
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1304837 generated at 08/02/2014 11:03:41 needed for thread 1
ORA-00289: suggestion : /archive/1_4_854446453.arc
ORA-00280: change 1304837 for thread 1 is in sequence #4
ORA-00278: log file '/archive/1_3_854446453.arc' no longer needed for this
recovery
Specify log: {=suggested | filename | AUTO | CANCEL}
Log applied.
Media recovery complete.
SYS@PRACTICE >
SYS@PRACTICE >
SYS@PRACTICE >alter database open resetlogs;
step5 打开克隆的数据库
alter database open resetlogs;
由于dbca建库包含了temp01.dbf临时表空间文件,所以不需要再次添加了。
实验目的:在源数据库PRACTICEopen状态下,用alter tablespace .. begin backup 的方式备份全库。 用该备份在一台新的数据库服务器上恢复,验证备份的有效性。为了操作简便,克隆数据库端采用了dbca创建数据库,用源数据库的备份来覆盖所有文件,执行恢复操作来完成此次克隆。
源数据库: 192.168.1.20
克隆数据库:192.168.1.21
此次试验分为5个步骤
1 准备克隆数据库
2 备份打开的PRACTICE数据库
3 从源库复制备份到克隆库
4 恢复克隆的数据库
5 打开克隆的数据库
step1 准备克隆数据库
在克隆数据库主机上创建数据文件、归档日志、备份文件目录
mkdir /oradata
mkdir /archive
mkdir /backup
chown oracle:oinstall /oradata
chown oracle:oinstall /archive
chown oracle:oinstall /backup
dbca建库
step2 备份Open状态下的PRACTICE数据库
该脚本是在源数据库open状态下执行alter tablespace begin backup方式进行的。
@/backup/scripts/open_backup.sql
脚本如下
vi /backup/scripts/open_backup.sql
set feedback off
set pagesize 0
set heading off
set verify off
set linesize 100
set trimspool on
define dir = '/backup/open_backup'
define fil = '/backup/scripts/open_backup_commands.sql'
define spo = '&dir/open_backup_output.lst'
set serveroutput on
spool &fil
prompt spool &spo
prompt archive log list;;
prompt alter system switch logfile;;
prompt alter system archive log all;;
DECLARE
rem不备份临时表空间
CURSOR cur_tablespace IS
SELECT tablespace_name
FROM dba_tablespaces where tablespace_name<>'TEMP';
CURSOR cur_datafile (tn VARCHAR) IS
SELECT file_name
FROM dba_data_files
WHERE tablespace_name = tn;
BEGIN
FOR ct IN cur_tablespace LOOP
dbms_output.put_line ('alter tablespace '||ct.tablespace_name||' begin backup;');
FOR cd IN cur_datafile (ct.tablespace_name) LOOP
dbms_output.put_line ('host cp '||cd.file_name||' &dir');
END LOOP;
dbms_output.put_line ('alter tablespace '||ct.tablespace_name||' end backup;');
END LOOP;
END;
/
prompt alter system switch log file;;
rem 注意此处只备份了一个控制文件,需要手工复制一份到快速恢复区/u01/app/oracle/fast_recovery_area/PRACTICE
prompt alter database backup controlfile to '&dir./control01.ctl' REUSE;;
prompt archive log list;;
prompt spool off
spool off;
@&fil
step3 从源库复制备份到克隆库
在源数据库端root用户下执行以下复制操作
复制spfile文件
scp /u01/app/oracle/product/11.2.0/db_1/dbs/spfilePRACTICE.ora 192.168.1.21:/u01/app/oracle/product/11.2.0/db_1/dbs/
复制数据文件、控制文件
scp /backup/open_backup/* 192.168.1.21:/backup/
复制归档日志文件
scp -r /archive/ 192.168.1.21:/
在克隆数据库端修改组属
chown oracle:oinstall /u01/app/oracle/product/11.2.0/db_1/dbs/spfilePRACTICE.ora
chown oracle:oinstall /oradata
chown oracle:oinstall /archive
在克隆数据库端复制一份拷贝过来的控制文件到闪回区
cp /backup/control01.ctl /u01/app/oracle/fast_recovery_area/PRACTICE/control02.ctl
step4 恢复克隆的数据库
recover database until cancel using backup control file;
ORA-00279: change 1304004 generated at 08/02/2014 10:52:46 needed for thread 1
ORA-00289: suggestion : /archive/1_2_854446453.arc
ORA-00280: change 1304004 for thread 1 is in sequence #2
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1304100 generated at 08/02/2014 10:53:08 needed for thread 1
ORA-00289: suggestion : /archive/1_3_854446453.arc
ORA-00280: change 1304100 for thread 1 is in sequence #3
ORA-00278: log file '/archive/1_2_854446453.arc' no longer needed for this
recovery
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1304837 generated at 08/02/2014 11:03:41 needed for thread 1
ORA-00289: suggestion : /archive/1_4_854446453.arc
ORA-00280: change 1304837 for thread 1 is in sequence #4
ORA-00278: log file '/archive/1_3_854446453.arc' no longer needed for this
recovery
Specify log: {=suggested | filename | AUTO | CANCEL}
Log applied.
Media recovery complete.
SYS@PRACTICE >
SYS@PRACTICE >
SYS@PRACTICE >alter database open resetlogs;
step5 打开克隆的数据库
alter database open resetlogs;
由于dbca建库包含了temp01.dbf临时表空间文件,所以不需要再次添加了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29047826/viewspace-1244325/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29047826/viewspace-1244325/