oracle 控制文件在哪里设置_用重建控制文件的方法修改oracle文件路径

用重做控制文件方法修改oracle文件路径

1、这里第一步,当然是查到数据在哪了

sql>col file_name format a55

sql>set line 120 pagesize 2000  ——设置输出格式

sql>select file_name,tablespace_name from dba_data_files;

2、这里我们知道数据文件在哪里了,现在就可以开始迁移数据文件了(当然这里我们需要先进行关机,不然会有数据文件在运行,造成不必要的麻烦)

sql>shutdown immediate  关闭数据库

sql>!mv /disk/* /u02/app/oracle/oradata/test/  这里我所有的控制文件都放在/disk目录,当然是可以直接用*号代替

3、做一下控制文件的备份(产生track文件)

做控制文件的备份,这里我们要先进入mount状态

sql>startup mount

sql>alter database backup controlfile to trace

当然这里track文件已经产生,每个人的track文件路径不同,所以我们可以用如下命令进行查看track文件路径

SELECT VALUE  FROM V$PARAMETER WHERE NAME = 'user_dump_dest';

4、重建控制文件

这里,如果我们是重建控制文件,肯定是不能再mount状态下的,所以我们又需要关机,进入nomount状态

sql>shutdown immediate    关闭数据库转换为nomount状态

sql>startup no mount      nomount

下面开始重建控制文件:

CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG  (这两句是归档,如果没开切记换成NORESETLOGS NOARCHIVELOG)

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 '/u02/app/oracle/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE 512,

GROUP 2 '/u02/app/oracle/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE 512,

GROUP 3 '/u02/app/oracle/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE 512

-- STANDBY LOGFILE

DATAFILE

'/disk/system01.dbf',

'/disk/sysaux01.dbf',

'/disk/undotbs01.dbf',

'/disk/users01.dbf'

CHARACTER SET ZHS16GBK    (字符集,这里也不要弄错了,当然这所有的,你可以进入3中备份的track查看到这所有的)

如上执行控制文件创建成功

5、启动数据库

sql>alter database open resetlogs  将nomount状体转换为open状态,启动数据库

这一步很有可能会报如下错误,这里日子文件时间产生差异,会报错

ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项

解决办法(进行介质恢复):

sql>recover database using backup controlfile

如下,第一种/disk/redo02.log,这里说明redo02.log是对的,而erdo01.log完成介质恢复,说明redo01.log在重建控制文件时是当前日志文件,恢复时产生了时间差异

sql>alter database open resetlogs 这时我们启动数据库,可以看到启动成功

6、查看修改后的数据文件的路径和状态:

SQL> select file_name,tablespace_name,status from dba_data_files;

至此,/opt/oracle/db02/oradata/ORCL目录下的数据文件路径全部修改成功

RMAN 控制文件的备份与恢复

rman target /

RMAN> show all  这里第一步,看一下当前控制文件保存的路径

db_unique_name 为 TEST 的数据库的 RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/orabackup/%F';  这里/代表oracle的家目录

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u02/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_test.f'; # default

上面我们可以看到控制文件备份的路径

这里也可以修改控制文件为自动备份(当数据文件备份时,会自带备份一份控制文件)

configure controlfile autobackup on;启动控制文件自动备份

configure controlfile autobackup format for device type disk to '/orabackup/%F';修改控制文件备份路径

这时候,我们就可以进行备份了

backup current controlfile  就可以备份了,当然如果你想另指路径,可以在后面加上format和路径

list backup of controlfile;  查看备份后的控制文件

RMAN> RESTORE CONTROLFILE FROM '/u01/oracle/fast_recovery_area/JUSTDB/backupset/2013_12_11/o1_mf_ncsnf_TAG20131211T162913_9bj8m1gt_.bkp';  还原

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值