使用RMAN备份与恢复数据库(2)——参数文件的备份与恢复
生活随笔
收集整理的這篇文章主要介紹了
使用RMAN备份与恢复数据库(2)——参数文件的备份与恢复
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用RMAN備份與恢復數據庫(2)——參數文件的備份與恢復
Oracle有兩類參數文件:
(1)pfile:文本格式的參數文件,文件名通常為init.ora;
(2)spfile:二進制格式的參數文件,不能直接修改,可以使用alter system修改,文件名通常為spfile.ora,支持RMAN備份。
一、使用RMAN備份參數文件
1、備份參數文件
命令如下:
RMAN> backup spfile format '/home/oracle/rmanbak/spfileorcl.old';Starting backup at 2020-04-09 14:52:14 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=9 device type=DISK channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 2020-04-09 14:52:14 channel ORA_DISK_1: finished piece 1 at 2020-04-09 14:52:15 piece handle=/home/oracle/rmanbak/spfileorcl.old tag=TAG20200409T145214 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 2020-04-09 14:52:152、查看備份集
RMAN> list backup of spfile;List of Backup Sets ===================BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ ------------------- 37 Full 80.00K DISK 00:00:00 2020-04-09 14:52:14BP Key: 66 Status: AVAILABLE Compressed: NO Tag: TAG20200409T145214Piece Name: /home/oracle/rmanbak/spfileorcl.oldSPFILE Included: Modification time: 2020-04-09 13:56:52SPFILE db_unique_name: ORCL二、恢復參數文件
1、連接scott用戶
創建t1表,并插入記錄:
SQL> show user; USER is "SCOTT"SQL> create table t1(id number(4),name varchar2(20)); Table created. Elapsed: 00:00:00.33SQL> insert into t1 values(1,'Jack'); 1 row created. Elapsed: 00:00:00.09SQL> commit; Commit complete. Elapsed: 00:00:00.00SQL> select * from t1;ID NAME ---------- --------------------1 Jack Elapsed: 00:00:00.012、刪除參數文件
(1)查看參數文件
SQL> show parameter spfile;NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /usr/local/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora(2)刪除參數文件
SQL> ! rm /usr/local/oracle/product/11.2.0/db_1/dbs/spfileorcl.oraSQL>3、重啟數據庫
重新啟動數據庫提示無法打開參數文件:
SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/usr/local/oracle/product/11.2.0/db_1/dbs/initorcl.ora'由于缺少參數文件,無法啟動實例,可以在RMAN中啟動一個偽實例到nomount,代碼如下:
RMAN> startup nomount;startup failed: ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/usr/local/oracle/product/11.2.0/db_1/dbs/initorcl.ora'starting Oracle instance without parameter file for retrieval of spfile Oracle instance startedTotal System Global Area 158662656 bytesFixed Size 2211448 bytes Variable Size 92275080 bytes Database Buffers 58720256 bytes Redo Buffers 5455872 bytes查看實例信息如下:
SQL> connect / as sysdba Connected. SQL> show parameter name;NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_file_name_convert string db_name string DUMMY db_unique_name string DUMMY global_names boolean FALSE instance_name string orcl lock_name_space string log_file_name_convert string service_names string DUMMY4、使用RMAN還原參數文件
RMAN> restore spfile from '/home/oracle/rmanbak/spfileorcl.old';Starting restore at 2020-04-09 15:47:47 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=10 device type=DISKchannel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/rmanbak/spfileorcl.old channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete Finished restore at 2020-04-09 15:47:495、關閉RMAN中的實例
RMAN> shutdown immediateOracle instance shut down6、啟動數據庫
SQL> connect / as sysdba Connected to an idle instance. SQL> startup ORACLE instance started.Total System Global Area 1068937216 bytes Fixed Size 2220200 bytes Variable Size 482348888 bytes Database Buffers 578813952 bytes Redo Buffers 5554176 bytes Database mounted. Database opened.7、查看數據是否丟失
刪除參數文件前的最后一個操作是往scott用戶的t1表中插入一條記錄,查看t1表中的數據如下:
SQL> select * from scott.t1;ID NAME ---------- --------------------1 JackElapsed: 00:00:00.05總結
以上是生活随笔為你收集整理的使用RMAN备份与恢复数据库(2)——参数文件的备份与恢复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 50个面试官最喜欢问的java微服务面试
- 下一篇: MySQL函数 思维导图