oracle控制文件生成_超详细的oracle冷备及恢复步骤

一、 冷备份的概念

冷备份是指在数据库关闭状态下所做的物理拷贝,也称脱机备份。

适合于非归档模式下的备份,而且也只能采用这种方式备份。

0720d1e6fc9bcc2dfc987101c5ae3b7e.png

二、 需要备份的文件

必须备份的文件:

数据文件和控制文件

可以备份的文件:

重做日志文件、临时文件、二进制参数文件(spfile)、口令文件

三、 冷备份的步骤

1. 找到所需要的备份文件

2. 正常关闭数据库

3. 备份文件到指定的备份路径下

4. 重新启动数据库

四、 冷脚本的写法

4.1 查看文件位置及状态

--查看实例和数据库的相关信息 

SQL> select instance_name,version,status,archiver,database_status from v$instance;INSTANCE_NAME VERSION STATUS ARCHIVE DATABASE_STATUS---------------- ----------------- ------------ ------- -----------------dbsrv1 11.2.0.1.0 OPEN STOPPED ACTIVE
SQL> select dbid,name,log_mode from v$database; DBID NAME LOG_MODE---------- --------- ------------ 294555525 DBSRV1 NOARCHIVELOG

 --查看数据文件及状态信息

SQL> col file_name for a50SQL> col tablespace_name for a15SQL> select file_name,tablespace_name,status,online_status from dba_data_files;FILE_NAME            TABLESPACE_NAME STATUS ONLINE_-------------------------------------------------- --------------- --------- -------/opt/oracle/app/oradata/dbsrv1/users01.dbf      USERS   AVAILABLE ONLINE/opt/oracle/app/oradata/dbsrv1/undotbs01.dbf     UNDOTBS1 AVAILABLE ONLINE/opt/oracle/app/oradata/dbsrv1/sysaux01.dbf   SYSAUX  AVAILABLE ONLINE/opt/oracle/app/oradata/dbsrv1/system01.dbf   SYSTEM  AVAILABLE SYSTEM/opt/oracle/app/oradata/costctl/COSTCTL_TBS.dbf COSTCTL_TBS AVAILABLE ONLINE/opt/oracle/app/oradata/dbsrv1/DEV_DATA.DBF DEV_DATA AVAILABLE ONLINE/opt/oracle/app/oradata/pdms/PDMS_DATA.dbf PDMS_DATA AVAILABLE ONLINE

--查看数据文件

SQL> col name for a50SQL> select file#, name, status from v$datafile; FILE# NAME             STATUS---------- -------------------------------------------------- ------- 1 /opt/oracle/app/oradata/dbsrv1/system01.dbf SYSTEM 2 /opt/oracle/app/oradata/dbsrv1/sysaux01.dbf ONLINE 3 /opt/oracle/app/oradata/dbsrv1/undotbs01.dbf ONLINE 4 /opt/oracle/app/oradata/dbsrv1/users01.dbf ONLINE 5 /opt/oracle/app/oradata/costctl/COSTCTL_TBS.dbf ONLINE 6 /opt/oracle/app/oradata/dbsrv1/DEV_DATA.DBF ONLINE 7 /opt/oracle/app/oradata/pdms/PDMS_DATA.dbf ONLINE

--查看临时文件

SQL> col name for a60SQL> select name from v$tempfile;NAME------------------------------------------------------------/opt/oracle/app/oradata/dbsrv1/temp01.dbf/opt/oracle/app/oradata/costctl/COSTCTL_TBS_temp.dbf/opt/oracle/app/oradata/pdms/PDMS_DATA_TEMP.dbf

--查看日志文件

SQL> select member from v$logfile;MEMBER--------------------------------------------------/opt/oracle/app/oradata/dbsrv1/redo03.log/opt/oracle/app/oradata/dbsrv1/redo02.log/opt/oracle/app/oradata/dbsrv1/redo01.log

--查看控制文件

SQL> select name from v$controlfile;NAME------------------------------------------------------------/opt/oracle/app/oradata/dbsrv1/control01.ctl/opt/oracle/app/flash_recovery_area/dbsrv1/control02.ctl

--查看参数文件

SQL> show parameter pfileNAME TYPE     VALUE------------------------------------ ---------- ------------------------------spfile string /opt/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/spfiledbsrv1.ora

4.2 进行备份

方案一、

--创建备份目录

SQL> ho mkdir -p /u03/backup/coolbak

--使用连接符生成复制文件命令

SQL> select 'ho cp' ||name|| '/u03/backup/coolbak' from v$controlfile;'HOCP'||NAME||'/U03/BACKUP/COOLBAK'--------------------------------------------------------------------------------ho cp/opt/oracle/app/oradata/dbsrv1/control01.ctl/u03/backup/coolbakho cp/opt/oracle/app/flash_recovery_area/dbsrv1/control02.ctl/u03/backup/coolbakSQL> save /tmp/tmpbak.sql; --将上面的输入保存为tmpbak.sql Created file /tmp/tmpbak.sql

编辑coolbak.sql

注意修改密码文件的位置和pfile的名字

 set feedback off set heading off set verify off set trimspool off set pagesize 0 set linesize 200 define dir = '/u03/backup/coolbak' define script = '/u03/backup/coolbak.txt' define passwd = '/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl' spool &script select 'ho cp -pv ' || name || ' &dir' from v$controlfile union all select 'ho cp -pv ' || name || ' &dir' from v$datafile union all select 'ho cp -pv ' || member || ' &dir' from v$logfile union all select 'ho cp -pv ' || name || ' &dir' from v$tempfile / create pfile = '&dir/initorcl.ora' from spfile; ho cp -pv &passwd &dir spool off shutdown immediate ho mkdir -pv /u03/backup/coolbak ho rm -rf /u03/backup/coolbak/* start &script startup

--执行coolbak.sql

SQL> @/tmp/coolbak.sql;

--执行过程及数据库启动略

--启动后查看备份的文件

1bd22cdc035b106de4da08cda73eca29.png

需要注意的是这种方式不利于恢复,得去寻找恢复的目录最好在cool后建立与数据库相同的目录。


冷恢复的步骤

脱机恢复到原来位置的步骤:

1. 如果数据库没有关闭,需关闭数据库

2. 将所有的备份数据文件和备份控制文件复制到数据库原来的位置

3. 也可以将其它所有的备份文件复制到数据库原来的位置(该操作不是必须的)

4. 重启数据库

 恢复成功后,数据库即恢复到上一次的备份,恢复所需要的时间就是复制文件所需要的时间

脱机恢复到非原来位置的步骤:

有时候储存数据文件的磁盘坏了,可能需要改变数据文件的恢复位置

1. 将备份文件恢复到正常的磁盘上

2. 将数据库加载为mount状态(startup mount)

3. alter database rename file 'u01/xxx.DBF' to 'u02/xxx.DBF' (u01磁盘损坏)

4. alter database open


总结:

冷备份数据必须是数据库不在open状态下。生产环境一般不太建议,更多是采用热备。

后面会分享更多DBA方面的内容,感兴趣朋友可以关注下!!

a7415b12b07dc3b95d6baca59308ea6a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值