【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小时内删除。
发表评论