配置数据库到归档模式

归档模式是oracle数据库非常重要的保护数据,恢复数据的手段
简单的开启归档的操作非常简单,但是最好还是要规范的开启归档
改变数据库归档模式,需要使用alter database archivelog|noarchivelog语句,链接用户的权限必须是as sysdba。
1.查看数据库是否是归档模式
SQL> archive log list
Database log mode       No Archive Mode
Automatic archival       Disabled
Archive destination       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     56
Current log sequence       58
USE_DB_RECOVERY_FILE_DEST说明了使用的是快速恢复区
2.关闭数据库实例
shutdown immediate
在改变归档模式前必须关闭数据库。如果有数据文件需要介质恢复,不能更改归档模式。
3.备份数据库
在对数据库做任何较大的变更之前,最好要备份数据库。因为在改动数据库的时候不总是任何问题都没有的,作为一个dba的本职工作就是要做好备份,保护数据安全,这也是最容易忽略也最重要的步骤。
4.编辑参数文件指定归档日志的路径(也可以使用命令的方式更改)
默认情况使用的是快速恢复区
SQL> show parameter recover

NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest     string /u01/app/oracle/fast_recovery_
area
db_recovery_file_dest_size     big integer 8G
db_unrecoverable_scn_tracking     boolean TRUE
recovery_parallelism     integer 0
SQL>   

除了快速恢复区外,10g及以上版本提供了LOG_ARCHIVE_DEST_n 参数(1-31个路径),可以使用多个路径,可以备份到其他磁盘。使用了DB_RECOVERY_FILE_DEST,DB_RECOVERY_FILE_DEST_SIZE启用快速恢复区就不能启用其他归档路径。使用LOG_ARCHIVE_DEST_n跟快速恢复区不同,是不用设置大小的
SQL> show parameter log_archive

NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config     string
log_archive_dest     string
log_archive_dest_1     string
log_archive_dest_10     string
log_archive_dest_11     string
log_archive_dest_12     string
log_archive_dest_13     string

归档日志的默认名
SQL> show parameter format


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format     string %t_%s_%r.dbf
%t:进程号(thread)
%s:日志序列号(sequence)
%r:resetlogs ID

5.启动实例到mount阶段
SQL> startup mount
ORACLE instance started.
Total System Global Area 1048059904 bytes
Fixed Size    2235000 bytes
Variable Size  310379912 bytes
Database Buffers  729808896 bytes
Redo Buffers    5636096 bytes
Database mounted.

6.更改数据库
SQL> alter database archivelog
  2  /
Database altered.

SQL> archive log list
Database log mode       Archive Mode
Automatic archival       Enabled
Archive destination       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     56
Next log sequence to archive   58
Current log sequence       58

归档模式已启用

更改路径(可选)
SQL> alter system set log_archive_dest_1='location=/home/oracle' scope=both;
System altered.

7.关闭数据库
8.备份数据库
更改数据库归档更新了控制文件,在更改数据库归档模式后,必须备份所有数据库文件和控制文件。之前noarchivelog模式的备份就不再使用了。
9.打开数据库,检查配置
SQL> archive log list;
Database log mode       Archive Mode
Automatic archival       Enabled
Archive destination       /home/oracle
Oldest online log sequence     58
Next log sequence to archive   60
Current log sequence       60

SQL> alter system switch logfile;
System altered.

SQL> select name from v$archived_log;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/product/11.2/dbs/arch2_58_947085344.dbf  -----做的测试(如果不使用快速恢复区且没有设置log_archive_dest_n的情况下归档日志会在这)
/home/oracle/1_59_947085344.dbf
已经没有启用快速恢复区了,使用的是log_archive_dest_1的指定路径

分享文章:配置数据库到归档模式
文章起源:http://azwzsj.com/article/iigihp.html