关于国产数据库的归档那些事

 

什么是归档

   数据库可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档。相应的日志被称为归档日志。

 

设置归档

 

方法1:修改dm.ini的ARCH_INI=1

       配置dmarch.ini

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL   

ARCH_DEST = /home/dmdba/data/DSC/ARCH/DSC02/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 1024

[ARCHIVE_REMOTE]

ARCH_TYPE = REMOTE

ARCH_DEST = DSC0

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 1024

ARCH_INCOMING_PATH = /home/dmdba/data/DSC/DSC02/arch_remote

配置中比较重要的参数

ARCH_TYPE:LOCAL/REMOTE/REALTIME/TIMELY/ ASYNC、分别表示本地归档/远程归档/实时归档/即时归档/异步归档

ARCH_FILE_SIZE:单个归档日志的大小,缺省为 1024MB,即 1G

ARCH_SPACE_LIMIT:归档空间的上限,0是无限的

ARCH_TIMER_NAME :定时器名称,仅对异步归档有效

重启数据库,才能生效

方法2:

SQL> alter database mount;

SQL> alter database add archivelog 'type=local,dest= /home/dmdba/data/DSC/arch,file_size=64,space_limit=10240';

SQL>

SQL> alter database open;

SQL>

校验归档

1.Select * from V$archived_log;

ARCH_TYPE是归档类型

FIRST_CHANGE#

日志文件所记录日志的最小 LSN

NEXT_CHANGE#

日志文件所记录日志的最大 LSN

FIRST_TIME

日志文件所记录的日志的起始时间

NEXT_TIME

日志文件所记录的日志的截止时间

2.命令行工具校验归档

./dmrachk

 

 

 

遇到的问题

1.环境是主备

归档权限是root权限

报错信息:

2020-06-03 09:48:52.442 [ERROR] database P0000002736 main_thread  os_file_open at (/data/jq/trunc_ent/dta/fil.c: 2905) error! desc: Permission denied, path: /home/dmdba/stzh/dmarch/ARCHIVE_LOCAL1_20200603094620899_0.log, code: 13

2020-06-03 09:48:52.442 [ERROR] database P0000002736 main_thread  os_file_open at (/data/jq/trunc_ent/dta/fil.c: 2905) error! desc: Permission denied, path: /home/dmdba/stzh/dmarch/ARCHIVE_LOCAL1_20200603094620899_0.log, code: 13

2020-06-03 09:48:52.442 [ERROR] database P0000002736 main_thread  os_file_open at (/data/jq/trunc_ent/dta/fil.c: 2905) error! desc: Permission denied, path: /home/dmdba/stzh/dmarch/ARCHIVE_LOCAL1_20200603094620568_0.log, code: 13

2020-06-03 09:48:52.442 [ERROR] database P0000002736 main_thread  os_file_open at (/data/jq/trunc_ent/dta/fil.c: 2905) error! desc: Permission denied, path: /home/dmdba/stzh/dmarch/ARCHIVE_LOCAL1_20200603094620899_0.log, code: 13

2020-06-03 09:48:52.442 [ERROR] database P0000002736 main_thread  os_file_write_by_offset [pwrite] error! handle: 14, offset: 0, bytes_to_write: 4096, bytes_writen:-1, code: 9, desc: Bad file descriptor

2020-06-03 09:48:52.442 [ERROR] database P0000002736 main_thread  os_file_trunc [ftruncate] error! handle: 14, offset: 1091072, code: 22, desc: Invalid argument

2020-06-03 09:48:52.442 [INFO] database P0000002736 main_thread  rfil_close_low set arch rfil[/home/dmdba/stzh/dmarch/ARCHIVE_LOCAL1_20200603094620899_0.log]'s sta to inactive, next_seq = 32793, handle = 14

2020-06-03 09:48:52.442 [ERROR] database P0000002736 main_thread  os_file_write_by_offset [pwrite] error! handle: 14, offset: 0, bytes_to_write: 4096, bytes_writen:-1, code: 9, desc: Bad file descriptor

原因:归档日志权限是root的,然后dmdba一直没有权限改动,所以实例日志一直刷这个错误,然后又没有权限发送给备库,没有权限删除,然后日志刷久库就挂掉了。

 

2.环境是(DSC+异步备机)-718的问题

 

2020-07-19 01:53:31.210 [ERROR] database P0000038630 T0000000000000038670  rafil_collect_by_dsc_seqno failed, rfil(/opt/dmdb/dmarch/arch/ARCHIVE_LOCAL1_0x22E25F7A[0]_2020-07-16_17-06-13.log)->arch_seq(29557659), pkg_seq(29392774)

2020-07-19 01:53:31.210 [ERROR] database P0000038630 T0000000000000038670  rarch_sync_process, rafil_collect_by_dsc_seqno failed, code=-718

2020-07-19 01:53:31.210 [ERROR] database P0000038630 T0000000000000038670  rarch_local_arch_send, rarch_sync_process failed, code:-718!

原因:dsc节点的归档还没发成功给异步备机就被删掉了,dsc节点的实例日志报-718错误,然后可以在监视器看到异步备机的flsn不再增长。(dsc节点和异步备机服务器的性能不能相差太多)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值