【oracle11g,12】归档⽇志和归档
⼀.归档和⾮归档区别:
1.归档模式:
归档会在⽇志切换时,备份历史⽇志,⽤于oltp,可以进⾏冷备份和热备份,可以实现数据库完全恢复和不完全恢复(基于时间点,scn)。  归档会启⽤arch的后台进程、占磁盘空间。
可以恢复到最后⼀次提交。
开归档会降低10%的性能.
2.⾮归档模式:
⽤于olap/dss,只能冷备份,只能 恢复到最后⼀次备份状态。
3.归档的好处:
可以实现热备份
可以实现完全恢复
⼆.归档的代价:
1.归档⽇志需要磁盘存放,
2.归档需要管理
3.归档要备份。
4.开归档会降低10%的性能
三.清理(删除)归档⽇志:
如果想清理归档⽇志要使⽤rman删除, 不能⼿⼯删除(rm )。
如果⼿⼯删除过归档,要⽤rman的命令crosscheck archivelog all校验;
四.查看归档:(两种⽅式)
1.
SQL> archive log list
Database log mode              No Archive Mode
Automatic archival            Disabled
Archive destination            /u01/app/oracle/11.2.0/db_home_1/dbs/arch
Oldest online log sequence    29
Current log sequence          32
2.
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
3.⼿⼯归档⽇志⽂件:SQL> alter system archive log current;
五.开启归档:
1.如果在开启归档时不设置归档⽇志⽬录,归档默认放在闪回 区(快速恢复区),如果没有闪回区,会放在$ORACLE_HOME/dbs⽬录下,这种⽅式很不好。
db_recovery_file_dest:  配置快速恢复区,与log_archive_dest参数不兼容。
log_archive_dest:⼀般不使⽤,过时的参数。
log_archive_dest_n:配置归档⽇志地址: 与log_archive_dest参数不兼容。log_archive_dest_n优先级最⾼。
2.pfile 开启归档的步骤:
①.正常关库
②.创建⽬录⽤于存放归档⽇志
③.修改参数⽂件的中归档⽬录的参数 (⼀般归档两份,⼀份 归档在本地,⼀份归档在远程)这个归档⼀份:
a).oracle 11g:
#归档⽇志保存在⽂件系统
log_archive_dest_1="location=/home/oracle/prod mandatory reopen";  #归档保存在另外⼀个数据库上,standby_db1为tns。(在data guard中使⽤)log_archive_dest_2=" service=standby_db1 mandatory reopen";
oracle11g 创建数据库
log_ archive_dest_3=" location= /home/oracle/prod optional";
mandatory:表⽰将redo⽂件中的⽇志归档完,再覆盖redo⽇志⽂件,保证归档⽇志的完整性。
在只有⼀份归档⽇志时为默认参数,在有多份归档⽇志情况下⾄少有⼀份要设置该参数,
optional:可选,能写就写,不能写就不写。
reopen:重试,
--------------------
log_archive_min_succeed_dest参数:指定归档最少成功的数量。默认值是1. 当与 log_ archive_dest_n
配置有冲突时,以
log_archive_min_succeed_dest参数为准。
b).oracle 10g:
log_archive_dest_1=' /home/oracle/prod mandatory'
④.把数据库启动到mount状态,切换数据库到归档模式: alter database archivelog; ⑤.启动数据库
SQL> alter database open;
Database altered.
SQL> archive log list
Database log mode              Archive Mode
Automatic archival            Enabled
Archive destination            /home/oracle/prod
Oldest online log sequence    29
Next log sequence to archive  32
Current log sequence          32
3.spfile开启归档
①.创建⽬录⽤于存放归档⽇志②.修改参数⽂件的中归档⽬录的参数(⼀般归档两份,⼀份归档在本地,⼀份归档在远程)这个归档⼀份:
oracle 11g:
SQL> alter system set log_archive_dest_1='location=/home/oracle/prod mandatory';
③.正常关库
④.把数据库启动到mount状态,切换数据库到归档模式: alter database archivelog;
⑤.启动数据库
4.log_archive_format参数:
SQL> show parameter  log_archive_format;
log_archive_format                  string      %t_%s_%r.dbf
#查看归档⽇志⽬录:
[oracle@master prod]$ ll
total 7200
-rw-r----- 1 oracle oinstall 7344640 Jun 20 08:07 1_32_850032519.dbf
-rw-r----- 1 oracle oinstall    1024 Jun 20 08:07 1_33_850032519.dbf
-rw-r----- 1 oracle oinstall    1024 Jun 20 08:07 1_34_850032519.dbf
-rw-r----- 1 oracle oinstall    1536 Jun 20 08:07 1_35_850032519.dbf
查看归档⽇志的数据
thread#:单实例线程为1,多实例数据库会有多个值,
sequence#:归档的redolog的sequence,
resetlogs_id:,只要不resetlog这个值不会改变,
SQL> select thread#,sequence#,resetlogs_id from v$archived_log;
THREAD#  SEQUENCE# RESETLOGS_ID
---------- ---------- ------------
1        3
2    850032519
1        33    850032519
1        34    850032519
1        35    850032519
5.log_archive_max_processes参数:表⽰归档的最⼤进程号
SQL> show parameter  log_archive_max_processes;
log_archive_max_processes            integer    4
#当数据库繁忙的时候,最多可以有5个归档进程
[oracle@master dbs]$ ps -ef|grep ora_
oracle    6698    1  0 07:58 ?        00:00:00 ora_pmon_prod
oracle    6700    1  0 07:58 ?        00:00:00 ora_vktm_prod
oracle    6704    1  0 07:58 ?        00:00:00 ora_gen0_prod
oracle    6706    1  0 07:58 ?        00:00:00 ora_diag_prod
oracle    6708    1  0 07:58 ?        00:00:00 ora_dbrm_prod
oracle    6710    1  0 07:58 ?        00:00:00 ora_psp0_prod
oracle    6712    1  0 07:58 ?        00:00:00 ora_dia0_prod
oracle    6714    1  0 07:58 ?        00:00:00 ora_mman_prod
oracle    6716    1  0 07:58 ?        00:00:00 ora_dbw0_prod
oracle    6718    1  0 07:58 ?        00:00:00 ora_lgwr_prod
oracle    6720    1  0 07:58 ?        00:00:00 ora_ckpt_prod
oracle    6722    1  0 07:58 ?        00:00:00 ora_smon_prod
oracle    6724    1  0 07:58 ?        00:00:00 ora_reco_prod
oracle    6726    1  0 07:58 ?        00:00:00 ora_mmon_prod
oracle    6728    1  0 07:58 ?        00:00:00 ora_mmnl_prod
oracle    6787    1  0 07:59 ?        00:00:00 ora_arc0_prod
oracle    6789    1  0 07:59 ?        00:00:00 ora_arc1_prod
oracle    6791    1  0 07:59 ?        00:00:00 ora_arc2_prod
oracle    6793    1  0 07:59 ?        00:00:00 ora_arc3_prod
oracle    6796    1  0 07:59 ?        00:00:00 ora_qmnc_prod
oracle    6813    1  0 08:00 ?        00:00:00 ora_q000_prod
oracle    6815    1  0 08:00 ?        00:00:00 ora_q001_prod
oracle    7147    1  0 08:04 ?        00:00:00 ora_smco_prod
oracle    7355    1  0 08:14 ?        00:00:00 ora_w000_prod
oracle    7502  5598  0 08:22 pts/3    00:00:00 grep ora_
6.通过视图查看归档是否有效:当归档有问题时,在error列显⽰错误的原因。SQL> select dest_name, status, error from v$archive_dest;
DEST_NAME            STATUS    ERROR
-------------------- --------- ------------------------------
LOG_ARCHIVE_DEST_1    VALID
LOG_ARCHIVE_DEST_2    INACTIVE
LOG_ARCHIVE_DEST_3  INACTIVE
LOG_ARCHIVE_DEST_4  INACTIVE
LOG_ARCHIVE_DEST_5  INACTIVE
LOG_ARCHIVE_DEST_6  INACTIVE
LOG_ARCHIVE_DEST_7  INACTIVE
LOG_ARCHIVE_DEST_8  INACTIVE
LOG_ARCHIVE_DEST_9  INACTIVE
LOG_ARCHIVE_DEST_10  INACTIVE
LOG_ARCHIVE_DEST_11  INACTIVE
DEST_NAME            STATUS    ERROR
-
------------------- --------- ------------------------------
LOG_ARCHIVE_DEST_12  INACTIVE
LOG_ARCHIVE_DEST_13  INACTIVE
LOG_ARCHIVE_DEST_14  INACTIVE
LOG_ARCHIVE_DEST_15  INACTIVE
LOG_ARCHIVE_DEST_16  INACTIVE
LOG_ARCHIVE_DEST_17  INACTIVE
LOG_ARCHIVE_DEST_18  INACTIVE
LOG_ARCHIVE_DEST_19  INACTIVE
LOG_ARCHIVE_DEST_20  INACTIVE
LOG_ARCHIVE_DEST_21  INACTIVE
LOG_ARCHIVE_DEST_22  INACTIVE
DEST_NAME            STATUS    ERROR
-------------------- --------- ------------------------------
LOG_ARCHIVE_DEST_23  INACTIVE
LOG_ARCHIVE_DEST_24  INACTIVE
LOG_ARCHIVE_DEST_25  INACTIVE
LOG_ARCHIVE_DEST_26  INACTIVE
LOG_ARCHIVE_DEST_27  INACTIVE
LOG_ARCHIVE_DEST_28  INACTIVE
LOG_ARCHIVE_DEST_29  INACTIVE
LOG_ARCHIVE_DEST_30  INACTIVE
LOG_ARCHIVE_DEST_31  INACTIVE
31 rows selected.
7.log_archive_dest_state_n 参数:
控制 log_archive_dest_n参数对应路径是否可⽤,
例:
LOG_ARCHIVE_DEST_1='LOCATION=/arch1/chicago/' LOG_ARCHIVE_DEST_STATE_1=ENABLE

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。