2、参数文件的备份与恢复

1、概念

Oracle有两类参数文件:

(1)pfile:文本格式的参数文件,文件名通常为init.ora;

(2)spfile:二进制格式的参数文件,不能直接修改,可以使用alter system修改,文件名通常为spfile.ora,支持RMAN备份。

参数文件详解请参考文章 Oracle 的参数文件

2、使用RMAN备份参数文件

2.1 备份参数文件

命令如下:

RMAN> backup spfile format '/app/rmanbak/spfile_%d_%I_%T_%t.ora';

2.2 查看备份集

RMAN> list backup of spfile completed before 'sysdate';

3、恢复参数文件

3.1 删除参数文件

--a.查询参数文件位置
SQL> show parameter spfile;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile
--b.查询数据库状态                               string      /app/oracle/product/19.3.0/db/dbs/spfileorcl.ora
SQL> select status from v$instance;

STATUS
------------------------------------
OPEN
--c.停止数据库
SQL> shutdown immediate
--d.删除参数
[oracle@node1 ~]$ cd $ORACLE_HOME/dbs
[oracle@node1 dbs]$ ll
总用量 11080
-rw-rw---- 1 oracle oinstall     1544 2月   3 11:02 hc_orcl.dat
-rw-r--r-- 1 oracle oinstall     3079 5月  14 2015 init.ora
-rw-r----- 1 oracle oinstall       24 1月  31 12:58 lkMYDB
-rw-r----- 1 oracle oinstall       24 1月  12 13:04 lkORCL
-rw-r----- 1 oracle oinstall     2048 12月 19 20:28 orapworcl
-rw-r----- 1 oracle oinstall 11321344 2月   3 10:00 snapcf_orcl.f
-rw-r----- 1 oracle oinstall     3584 2月   2 18:30 spfileorcl.ora
[oracle@node1 dbs]$ rm -rf spfileorcl.ora 

3.2 重启数据库

重新启动数据库后提示无法打开参数文件

SQL> startup;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/app/oracle/product/19.3.0/db/dbs/initorcl.ora'

由于缺少参数文件,无法启动实例,我们可以在RMAN中启动一个伪实例到nomount,代码如下:

RMAN> startup nomount;

3.3 使用RMAN还原参数文件

单机版还原参数文件命令如下:

RMAN> restore spfile from '/app/rmanbak/spfile_ORCL_1651659091_20230203_1127818641.ora';

RAC还原参数文件命令如下:

restore spfile to '+DATA/ORCL/PARAMETERFILE/spfile.ora'  from  '+DATA/ARCHIVELOG/spfileorcl20221212_02.old';

3.4 RMAN关闭数据库

RMAN> shutdown immediate;

3.5 启动数据库

SQL> startup
ORACLE instance started.

Total System Global Area 8002730448 bytes
Fixed Size    8915408 bytes
Variable Size 1308622848 bytes
Database Buffers 6677331968 bytes
Redo Buffers    7860224 bytes
Database mounted.
Database opened.

至此Oracle数据库参数文件恢复完成,后期生产坏境中遇到问题,在继续更新!!!

猜你喜欢

转载自blog.csdn.net/liang921119/article/details/129454254