oracle 12c 启用 archivelog 模式

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/ctypyb2002/article/details/86641692

os: centos 7.4
db: oracle 12.1.0.2

线上的 oracle 数据库必须启用 archivelog 模式,否则毫无安全性可言.

archivelog 对数据库的恢复至关重要,决不能丢失.因为你不清楚数据库什么时候需要进行恢复操作,莫要在需要恢复时发现无法恢复.

dbf 方式启用

archivelog 最好和 datafile,online redo log 落在不同的 pv 上,以避免io竞争.

# mkdir -p /u02/archivelog
# chown -R oracle:oinstall /u02

查看归档模式

# su - oracle
$ sqlplus / as sysdba;
SQL> archive log list;
Database log mode	       No Archive Mode
Automatic archival	       Disabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     28
Current log sequence	       30
SQL> 
SQL> 
SQL> show parameter db_recovery_file_dest;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /u01/app/oracle/fast_recovery_area
db_recovery_file_dest_size	     big integer 4560M

SQL> 
SQL> 
SQL> show parameter archive;
SQL> 
SQL> alter system set log_archive_dest_1='location=/u02/archivelog' scope = spfile;
SQL> alter system set archive_lag_target = 600;
SQL> 
SQL> 
SQL> shutdown immediate;
SQL> startup mount;
SQL> 
SQL> alter database archivelog; 
SQL> archive log list;
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       /u02/archivelog
Oldest online log sequence     28
Next log sequence to archive   30
Current log sequence	       30
SQL> alter database open;

验证归档

SQL> alter system switch logfile;
SQL> 
SQL> alter system archive log current;
SQL>

$ ls -l /u02/archivelog
total 6208
-rw-r----- 1 oracle oinstall 6350336 Jan 25 10:39 1_30_998234027.dbf
-rw-r----- 1 oracle oinstall    1024 Jan 25 10:39 1_31_998234027.dbf

至此,dbf 方式的数据库的归档设置完成.比较简单

asm 方式启用

这里说的 asm 方式是指 单实例+asm,和 单实例+dbf 相对应
可以考虑为 archivelog 单独创建一个磁盘组

# su - oracle
$ sqlplus / as sysdba;
SQL> archive log list;
Database log mode	       No Archive Mode
Automatic archival	       Disabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     24
Current log sequence	       26
SQL> 
SQL> 
SQL> show parameter DB_RECOVERY_FILE_DEST;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 +DG_DATA
db_recovery_file_dest_size	     big integer 4560M

SQL> 
SQL>
SQL> show parameter archive;
SQL> 
SQL> 
SQL> alter system set log_archive_dest_1='location=+dg_data' scope=spfile;
SQL> alter system set archive_lag_target = 600 scope=spfile;
SQL> 
SQL> 
SQL> shutdown immediate;
SQL> startup mount;
SQL> 
SQL> 
SQL> alter database archivelog; 
SQL> archive log list;
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       +DG_DATA
Oldest online log sequence     24
Next log sequence to archive   26
Current log sequence	       26
SQL> 
SQL> 
SQL> alter database open;

验证归档

SQL> alter system switch logfile;
SQL> 
SQL> alter system archive log current;
SQL>

# su - grid
$ asmcmd
ASMCMD> cd +dg_data/orcl/archivelog/2019_01_25
ASMCMD> ls -l
Type        Redund  Striped  Time             Sys  Name
ARCHIVELOG  UNPROT  COARSE   JAN 25 11:00:00  Y    thread_1_seq_26.279.998478787
ARCHIVELOG  UNPROT  COARSE   JAN 25 11:00:00  Y    thread_1_seq_27.280.998478791

哈哈,发现使用 asm 挺好,唯一担心的就是 asm 出现问题,就死翘翘了.

rac 方式启用

rac 的方式 和 asm 的方式基本一致,只是需要把 rac 的所有实例关闭后,启动其中一个实例到mount状态下修改归档模式.


参考:
https://docs.oracle.com/database/121/REFRN/GUID-405D335F-5549-4E02-AFB9-434A24465F0B.htm#REFRN10003

猜你喜欢

转载自blog.csdn.net/ctypyb2002/article/details/86641692