继上次介绍了:Oracle数据库基于用户管理的备份与恢复之恢复重做日志之后,我们今天接着介绍基于用户管理的备份与恢复之其他文件的备份,包括归档日志的备份以及参数文件的备份与恢复等。接下来就让我们来一起了解一下这一过程吧。
备份归档日志
--查看第一个归档位置过去一天以来生成的归档日志,dest_id代表归档日志存放位置,对应到v$archive_dest中1~10的destination字段值,0代表不可用。
class="dp-xml">
- SQL> select name from v$archived_log where dest_id=1 and first_time>=sysdate-1;
 - NAME
 - ------------------------------------------------------------------------------------------------------------------------
 - /oracle/10g/oracle/log/archive_log/archive_1_23_757801926.arclog
 - /oracle/10g/oracle/log/archive_log/archive_1_24_757801926.arclog
 - SQL> select name from v$archived_log where dest_id=10 and first_time>=sysdate-1;
 - NAME
 - ------------------------------------------------------------------------------------------------------------------------
 - /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_01/o1_mf_1_23_73fljh3f_.arc
 - /oracle/10g/oracle/product/10.2.0/db_1/flash_recovery_area/ORALIFE/archivelog/2011_08_02/o1_mf_1_24_73hwlry6_.arc
 - SQL> select destination from v$archive_dest;
 - DESTINATION
 - ------------------------------------------------------------------------------------------------------------------------
 - /oracle/10g/oracle/log/archive_log
 - /oracle/10g/oracle/log/archive_log2
 - USE_DB_RECOVERY_FILE_DEST
 - 10 rows selected.
 
备份参数文件
1)如果使用文本参数文件(pfile),使用OS命令拷贝到备份目录。
2)如果使用spfile,使用create pfile 进行备份。
3)如果使用pfile,使用create spfile进行备份。
- SQL> show parameter spfile
 - NAME TYPE VALUE
 - ------------------------------------ ----------- ------------------------------
 - spfile string /oracle/10g/oracle/product/10.
 - 2.0/db_1/dbs/spfileoralife.ora
 
创建pfile,相当于备份spfile为pfile
使用pfile启动数据库到nomount状态,也可以直接startup pfile='pfile全路径名'
- SQL> startup nomount pfile='/oracle/10g/oracle/bakup/database/pfileoralife.ora';
 - ORACLE instance started.
 - Total System Global Area 528482304 bytes
 - Fixed Size 1220360 bytes
 - Variable Size 146800888 bytes
 - Database Buffers 373293056 bytes
 - Redo Buffers 7168000 bytes
 - SQL> show parameter pfile;--当用pfile启动数据库时,spfile参数为空
 - NAME TYPE VALUE
 - ------------------------------------ ---------------------- ------------------------------
 - spfile string
 - SQL> show parameter spfile;
 - NAME TYPE VALUE
 - ------------------------------------ ---------------------- ------------------------------
 - spfile string
 - SQL> alter database mount;
 - Database altered.
 - SQL> alter database open;
 - Database altered.
 - SQL> shutdown immediate
 - Database closed.
 - Database dismounted.
 - ORACLE instance shut down.
 
创建spfile到指定位置
- SQL> create spfile='/oracle/10g/oracle/product/10.2.0/db_1/dbs/spfileoralife_test.ora' from
 - 2 pfile='/oracle/10g/oracle/bakup/database/pfileoralife.ora';
 - File created.
 - SQL> shutdown immediate
 - ORA-01507: database not mounted
 - ORACLE instance shut down.
 
数据库启动时不能指定spfile文件位置,但可以在pfile文件中引用spfile
- SQL> startup nomount spfile='/oracle/10g/oracle/product/10.2.0/db_1/dbs/spfileoralife_test.ora'
 - SP2-0714: invalid combination of STARTUP options
 - SQL> startup spfile='/oracle/10g/oracle/product/10.2.0/db_1/dbs/spfileoralife_test.ora'
 - SP2-0714: invalid combination of STARTUP options
 
在pfileoralife.ora中添加:*.spfile='/oracle/10g/oracle/product/10.2.0/db_1/dbs/spfileoralife_test.ora'使用pfile启动数据库:
- SQL> startup nomount pfile='/oracle/10g/oracle/bakup/database/pfileoralife.ora';
 - ORACLE instance started.
 - Total System Global Area 528482304 bytes
 - Fixed Size 1220360 bytes
 - Variable Size 146800888 bytes
 - Database Buffers 373293056 bytes
 - Redo Buffers 7168000 bytes
 - SQL> show parameter spfile;
 - NAME TYPE VALUE
 - ------------------------------------ ---------------------- ------------------------------
 - spfile string /oracle/10g/oracle/product/10.
 - 2.0/db_1/dbs/spfileoralife_tes
 - t.ora
 
可以看出,已经使用了spfileoralife_test.ora。
关于Oracle数据库基于用户管理的备份归档日志和参数文件的知识就介绍到这里,如果您感兴趣还可以看一下:Oracle数据库基于用户管理的控制文件的备份与恢复,希望本次的介绍能够对您有所收获!