逻辑DG ORA-16240: Waiting for logfile

本文介绍了解决逻辑DG备库归档目录满导致的日志未应用问题的方法,包括从主库拷贝归档文件到备库、重命名及重新注册日志等步骤。
问题现象:逻辑DG日志未应用处理。
通过Select * From v$logstdby
发现存在等待日志ORA-16240: Waiting for logfile (thread# 2, sequence# 25793)
问题原因:逻辑DG备库归档目录满
处理方法:
1、从主库拷贝归档到逻辑DB
$ ftp 192.168.128.36
Connected to 192.168.128.36.
220 P560D FTP server (Version 4.2 Fri Feb 3 22:13:23 CST 2006) ready.
Name (192.168.128.36:oracle): oracle
331 Password required for oracle.
Password: 
230-1 unsuccessful login attempt since last login.
230-Last unsuccessful login: Tue Apr 24 08:01:09 BEIST 2012 on ftp from P560A
230-Last login: Wed Mar 28 22:58:07 BEIST 2012 on 172_16_3_6_2 from 172.16.3.6:2
230 User oracle logged in.
ftp> cd /archivelog
250 CWD command successful.
ftp> put arch_2_25793_614088933.arc
200 PORT command successful.
150 Opening data connection for arch_2_25793_614088933.arc.
226 Transfer complete.
47813645 bytes sent in 3.076 seconds (1.518e+04 Kbytes/s)
local: arch_2_25793_614088933.arc remote: arch_2_25793_614088933.arc
ftp> 
2、逻辑备库上重命名归档
mv arch_2_25793_614088933.arc archive_2_25793_614088933.arc
3、逻辑备库上重新注册日志
alter database register logfile '/archivelog/archive_2_25793_614088933.arc';
4、查看逻辑备库发现已经正常应用日志
Tue Apr 24 08:12:07 2012
LOGMINER: End mining logfile: /archivelog/archive_2_25793_614088933.arc
Tue Apr 24 08:12:07 2012
LOGMINER: Begin mining logfile for session 1 thread 2 sequence 25794, /archivelog/archive_2_25794_614088933.arc
Tue Apr 24 08:12:07 2012
LOGMINER: Log Auto Delete - deleting: /archivelog/archive_2_25792_614088933.arc
Deleted file /archivelog/archive_2_25792_614088933.arc
Tue Apr 24 08:12:16 2012
LOGMINER: Log Auto Delete - deleting: /archivelog/archive_1_30978_614088933.arc
Deleted file /archivelog/archive_1_30978_614088933.arc
Tue Apr 24 08:12:16 2012
LOGMINER: Log Auto Delete - deleting: /archivelog/archive_2_25793_614088933.arc
Deleted file /archivelog/archive_2_25793_614088933.arc
Tue Apr 24 08:12:19 2012
Thread 1 advanced to log sequence 525 (LGWR switch)
  Current log# 1 seq# 525 mem# 0: /oradata/rlog11_disk


本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/842760,如需转载请自行联系原作者
`ORA-29283: invalid file operation` 通常表示在执行文件操作时出现了问题,`ORA-06512` 则指出了错误发生的具体位置,一般与 `UTL_FILE` 包相关。以下是可能的原因及对应的解决方案: #### 1. 目录对象权限问题 `UTL_FILE` 操作依赖于目录对象,若用户没有对目录对象的读写权限,就会出现该错误。 ```sql -- 检查目录对象 SELECT * FROM dba_directories WHERE directory_name = 'YOUR_DIRECTORY_OBJECT'; -- 授予用户对目录对象的读写权限 GRANT READ, WRITE ON DIRECTORY YOUR_DIRECTORY_OBJECT TO YOUR_USER; ``` #### 2. 目录不存在或不可访问 指定的物理目录可能不存在,或者数据库服务没有访问该目录的权限。 ```bash # 检查物理目录是否存在 ls -l /path/to/your/directory # 如果目录不存在,创建它 mkdir /path/to/your/directory # 确保数据库服务有访问该目录的权限 chown -R oracle:oinstall /path/to/your/directory chmod -R 775 /path/to/your/directory ``` #### 3. 文件已存在且不允许覆盖 若文件已经存在,而代码中没有设置覆盖选项,可能会报错。 ```sql -- 在使用 UTL_FILE 时,如果需要覆盖文件,可以在打开文件时使用 'W' 模式 v_file := UTL_FILE.FOPEN('YOUR_DIRECTORY_OBJECT', 'your_file.sql', 'W'); ``` #### 4. 文件路径过长 操作系统可能对文件路径长度有限制,若路径过长,会导致文件操作失败。 ```sql -- 检查文件路径长度,尽量缩短路径 SELECT LENGTH('/path/to/your/very/long/path/your_file.sql') FROM dual; ``` #### 5. 并发访问问题 多个会话同时访问同一个文件,可能会导致文件操作冲突。 ```sql -- 确保在同一时间只有一个会话对文件进行写操作 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值