ITPub博客

首页 > 数据库 > Oracle > oracle database cool backup

oracle database cool backup

原创 Oracle 作者:qingfrog 时间:2009-10-27 22:52:57 0 删除 编辑

冷备份是最有效的备份(必须在数据库关闭的情况下)

备份还原的时候要求数据库版本一致;若只有datafile冷备份恢复的时候,版本可以为该版本的同一序列。

步骤:

1.建立文件(文件每行一句)

vi /opt/oracle/cx.sql

select ' cp ' || name || ' /opt/oracle/bak/ ; ' from v$controlfile union

select ' cp ' || name || ' /opt/oracle/bak/ ; ' from v$tempfile union

select ' cp ' || name || ' /opt/oracle/bak/ ; ' from v$datafile union

select ' cp ' || member || ' /opt/oracle/bak/ ; ' from v$logfile union

select ' cp $ORACLE_HOME/dbs/spfile' || instance_name || '.ora /opt/oracle/bak/ ; ' from v$instance

/

2.执行上面的脚本,生成备份文件(将执行脚本的显示保存在cool.sql文件中)

sql>spool /opt/oracle/bak/cool.sql

SQL> @/opt/oracle/slectcp.sql

'CP'||NAME||'/OPT/ORACLE/BAK/;'

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

cp $ORACLE_HOME/dbs/spfileorcl.ora /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/control01.ctl /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/control02.ctl /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/control03.ctl /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/redo01.log /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/redo02.log /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/redo03.log /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/sysaux01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/system01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/temp01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/undo1.dbf /opt/oracle/bak/ ;

'CP'||NAME||'/OPT/ORACLE/BAK/;'

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

cp /opt/oracle/oradata/orcl/undotbs01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/users01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/product/10.2/db_1/dbs/cms_data.dbf /opt/oracle/bak/ ;

14 rows selected.

SQL> spool off

3.修改cool.sql文件使其为下面显示

oracle@vcs-ss:~> cat cool.sql

cp $ORACLE_HOME/dbs/spfileorcl.ora /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/control01.ctl /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/control02.ctl /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/control03.ctl /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/redo01.log /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/redo02.log /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/redo03.log /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/sysaux01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/system01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/temp01.dbf /opt/oracle/bak/ ;

cp /opt/oracle/oradata/orcl/undo1.dbf /opt/oracle/bak/ ;

cp /opt/oracle/product/10.2/db_1/dbs/cms_data.dbf /opt/oracle/bak/ ;

4.关闭数据库

shutdown immediate

exit

5.执行冷备脚本

sh /opt/oracle/bak/cool.sql

测试:

rm -rf /opt/oracle/oradata/orcl/*

cp /opt/oracle/bak/* /opt/oracle/oradata/orcl/.

如果数据库能够正常启动起来,则说明成功

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22779391/viewspace-1028205/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle后台进程
请登录后发表评论 登录
全部评论

注册时间:2009-10-27

  • 博文量
    15
  • 访问量
    20501