3打开db文件_Oracle RAC 重置db_recovery_file_dest_size

3fee24b9731de9469355455bf8d5b9aa.gif

说明:

db_recovery_file_dest_size参数值默认大小为0,某些场景下我们需要临时设置一个大于0的值,之后可能需要再将值改回默认值0;

将db_recovery_file_dest_size由0改到5G;

查看当期参数文件

SQL> show parameter spfileNAME     TYPE VALUE------------------------------------ ----------- ------------------------------spfile     string +DATA/cjcdb/spfile/spfilecjcdb.ora

查看db_recovery_file_dest_size值

SQL> show parameter recoverNAME     TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest     stringdb_recovery_file_dest_size     big integer 0db_unrecoverable_scn_tracking     boolean TRUErecovery_parallelism     integer 0

设置db_recovery_file_dest_size值为5g

SQL> alter system set db_recovery_file_dest_size=5G sid='*'; System altered.

再将db_recovery_file_dest_size参数改为0,出现报错ORA-19803

SQL> alter system set db_recovery_file_dest_size=0 sid='*';alter system set db_recovery_file_dest_size=0 sid='*'*ERROR at line 1:ORA-02097: parameter cannot be modified because specified value is invalidORA-19803: Parameter DB_RECOVERY_FILE_DEST_SIZE is out of range (1 - 18446744073709551614)

通常有两种方式可以将db_recovery_file_dest_size重置为0;

方法一:reset

方法二: 生成pfile,手动将db_recovery_file_dest_size参数值去掉

5e4f183486132fc99dc495fc5c1c0246.gif

方法一:reset

reset说明:

Clearing Initialization Parameter ValuesYou can use the ALTER SYSTEM RESET command to clear (remove) the setting of any initialization parameter in the SPFILE that was used to start the instance. Neither SCOPE=MEMORY nor SCOPE=BOTH are allowed. The SCOPE = SPFILE clause is not required, but can be included.You may want to clear a parameter in the SPFILE so that upon the next database startup a default value is used.

重置db_recovery_file_dest_size值

reset默认采用scope=spfile方式

SQL> alter system reset db_recovery_file_dest_size scope=spfile sid='*';SQL> show parameter recoverNAME     TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest     stringdb_recovery_file_dest_size     big integer 5Gdb_unrecoverable_scn_tracking     boolean TRUErecovery_parallelism     integer 0

重启其中一个节点

SQL> shutdown immediateSQL> startupORACLE instance started.Total System Global Area 1023004672 bytesFixed Size    2259640 bytesVariable Size  704644424 bytesDatabase Buffers  310378496 bytesRedo Buffers    5722112 bytesORA-01105: mount is incompatible with mounts by other instancesORA-19808: recovery destination parameter mismatch

报错ORA-01105,说明修改db_recovery_file_dest_size后,必须同时重启RAC所有节点实例才可以。

SQL> show parameter recoverNAME     TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest     stringdb_recovery_file_dest_size     big integer 0db_unrecoverable_scn_tracking     boolean TRUErecovery_parallelism     integer 0

此时重启另一个节点实例后,在重启这个节点实例,参数即可修改成功。

注意:如果执行了db_recovery_file_dest_size参数reset操作后,还没有时间窗口重启实例,当某一个节点宕机后,首次启动是无法打开实例的,因为两个节点db_recovery_file_dest_size值不一致,为了减少数据库停机时间,可以先在另一个节点上,手动设置所有节点db_recovery_file_dest_size为当期值,然后在启动宕机的实例。

52b88a81149d31d1bda36643c77fb63a.gif

方法二:生成pfile,手动将db_recovery_file_dest_size参数值去掉

1 生成pfile到临时目录,注意不要覆盖默认的pfile

SQL> create pfile='/tmp/pfile0726.ora' from spfile;

2 注释掉或删除db_recovery_file_dest_size

[oracle@rac01 dbs]$ cat /tmp/pfile0726.ora |grep recover###*.db_recovery_file_dest_size=5368709120

3 重新生成spfile(spfile可以提前备份)

SQL> create spfile='+DATA/cjcdb/spfile/spfilecjcdb.ora' from pfile='/tmp/pfile0726.ora';

4 需要同时重启所有实例

SQL> show parameter recoverNAME     TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest     stringdb_recovery_file_dest_size     big integer 0db_unrecoverable_scn_tracking     boolean TRUErecovery_parallelism     integer 0

更多数据库相关学习资料,可以查看我的ITPUB博客,网名chenoracle

http://blog.itpub.net/29785807/

dc5ef897c5fff4b80727050fbfc1e6f4.gif

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值