nbu oracle 冷备_oracle 冷备及恢复

找到冷备路径

[oracle@yang ~]$ls/u02/orcl

control01.ctl  orapworcl   redo2b.rdo    system01.dbf   users01.dbf

control02.ctl  redo1a.rdo  redo3a.rdo

example01.dbf  redo1b.rdo  redo3b.rdo

initorcl.ora   redo2a.rdo  sysaux01.dbf  undotbs01.dbf

查看二进制控制文件找到所有数据文件路径

[oracle@yang ~]$strings /u02/orcl/control01.ctl |grep dbf

/u01/app/oracle/oradata/orcl/system01.dbf

/u01/app/oracle/oradata/orcl/undotbs01.dbf

/u01/app/oracle/oradata/orcl/sysaux01.dbf

/u01/app/oracle/oradata/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/example01.dbf

/u01/app/oracle/oradata/orcl/temp01.dbf

可以得到建立控制文件的语句

查看控制文件路径

SQL>show parameter control_files

NAME                                 TYPE        VALUE

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

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

control_files                        string      /u01/app/oracle/oradata/orcl/

control01.dbf, /u01/app/oracle/oradata/orcl/

control02.dbf

SQL>

将备份的控制文件拷贝到原路径

SQL>ho cp /u02/orcl/control* /u01/app/oracle/oradata/orcl/

将数据库启动到mount状态

SQL>alter database mount;

得到建立控制文件语句

SQL>alter database backup controlfile to trace as  '/u02/orcl/ctl.sql';

Database altered.

SQL>

删除拷贝的控制文件

SQL>ho rm  /u01/app/oracle/oradata/orcl/control*

关闭数据库

SQL>shutdown abort

编辑脚本(将所有注释与前面空格都删除)

[oracle@yang ~]$vi /u02/orcl/ctl.sql

改成如下格式

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE

"ORCL" NORESETLOGS  NOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 (

'/u01/app/oracle/oradata/orcl/redo1a.log',

'/u01/app/oracle/oradata/orcl/redo1b.log'

) SIZE 50M,

GROUP 2 (

'/u01/app/oracle/oradata/orcl/redo2a.log

',

'/u01/app/oracle/oradata/orcl/redo2b.log'

) SIZE 50M,

GROUP 3 (

'/u01/app/oracle/oradata/orcl/redo3a.log

',

'/u01/app/oracle/oradata/orcl/redo3b.log

'

) SIZE 50M

DATAFILE

'/u01/app/oracle/oradata/orcl/system01.dbf',

' /u01/app/oracle/oradata/orcl/undotbs01.dbf',

' /u01/app/oracle/oradata/orcl/sysaux01.dbf',

' /u01/app/oracle/oradata/orcl/users01.dbf',

'/u01/app/oracle/oradata/orcl/example01.dbf',

CHARACTER SET ZHS16GBK

;

RECOVER DATABASE

ALTER SYSTEM ARCHIVE LOG ALL;

ALTER DATABASE OPEN;

ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'

SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

最后执行创建脚本

SQL>@/u02/orcl/ctl.sql

完成后需要在次对数据库进行备份(控制文件重建,以前的备份就无效了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值