dg环境连接ORA-00604,ORA-16000: database open for read-only access
报错信息
根据客户提供的报错信息, ORA-: error occurred at recursive SQL level
ORA-: database open for read-only access
怀疑是触发器导致的问题,自己的测试环境进行测试。
测试一、dg环境开启审计参数是否影响
[oracle@adg1 dbs]$ sqlplus tt/tt@adgtns
SQL*Plus: Release 11.2.0.4. Production on Sat May ::
SQL>
audit_trail string OS SQL> alter system set audit_trail=db scope=spfile;
System altered.
SQL> startup force;
DG环境,备库如果开启审计功能,配置db将自动转换为OS
SQL> audit select,insert,update,delete on scott.emp by access;
Audit succeeded SQL> conn tt/tt
Connected.
SQL> select * from scott.emp where rownum=;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- --------------------
SMITH CLERK -DEC-
SQL> conn / as sysdba
Connected.
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/tt/adump 测试发现,备库开启审计功能,并不会导致无法连接。
Sat May :: +:
LENGTH: ""
SESSIONID:[] "" ENTRYID:[] "" STATEMENT:[] "" USERID:[] "TT" USERHOST:[] "adg1" TERMINAL:[]
"pts/1" ACTION:[] "" RETURNCODE:[] "" COMMENT$TEXT:[] "Authenticated by: DATABASE" OS$USERID:[]
"oracle" DBID:[] "" PRIV$USED:[] ""
Sat May :: +:
LENGTH: ""
SESSIONID:[] "" ENTRYID:[] "" STATEMENT:[] "" USERID:[] "TT" USERHOST:[] "adg1" TERMINAL:[]
"pts/1" ACTION:[] "" RETURNCODE:[] "" OBJ$CREATOR:[] "SCOTT" OBJ$NAME:[] "EMP" OS$USERID:[]
"oracle" DBID:[] "" PRIV$USED:[] ""
经过测试,备库开启审计,不会影响连接。
测试二、手工创建登录触发器
主库创建触发器
create table UC_LOGON_OFF
(
user_id VARCHAR2(),
session_id NUMBER(),
host VARCHAR2(),
last_program VARCHAR2(),
last_action VARCHAR2(),
last_module VARCHAR2(),
logon_day DATE,
logon_time VARCHAR2(),
logoff_day DATE,
logoff_time VARCHAR2(),
elapsed_minutes NUMBER(),
sid NUMBER(),
serial NUMBER()
)
tablespace USERS
pctfree
initrans
maxtrans ; CREATE OR REPLACE TRIGGER TRIG_LOGON_AUDIT
AFTER LOGON
ON DATABASE
BEGIN
INSERT INTO sys.uc_logon_off
select USER,
SYS_CONTEXT ('USERENV', 'SESSIONID'),
SYS_CONTEXT ('USERENV', 'HOST'),
NULL,
NULL,
NULL,
SYSDATE,
TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss'),
NULL,
NULL,
NULL,
NULL, null from dual;
END; alter table uc_logon_off modify logon_time varchar2();
SQL> alter system switch logfile;
--备库开启MRP同步应用,测试前tt可以连接
recover managed standby database disconnect from session;
SQL> conn tt/tt
ERROR:
ORA-: error occurred at recursive SQL level
ORA-: database open for read-only access
ORA-: at line
Warning: You are no longer connected to ORACLE. alert.log
Sat May ::
Errors in file /u01/app/oracle/diag/rdbms/tt/tt/trace/tt_ora_16392.trc:
ORA-: error occurred at recursive SQL level
ORA-: database open for read-only access
ORA-: at line
主库处理,禁用触发器
SQL> select OWNER,TRIGGER_NAME,TRIGGERING_EVENT,TABLE_OWNER,TABLE_NAME,STATUS,ACTION_TYPE from dba_triggers where TRIGGER_NAME='TRIG_LOGON_AUDIT'
OWNER TRIGGER_NAME TRIGGERING_EVENT TABLE_OWNER TABLE_NAME STATUS ACTION_TYPE
---------- ------------------------------ -------------------- ------------------------------ ------------------------------ -------- -----------
SYS TRIG_LOGON_AUDIT LOGON SYS ENABLED PL/SQL ALTER TRIGGER "SYS"."TRIG_LOGON_AUDIT" DISABLE;
--备库OK
SQL> conn tt/tt
Connected.
dg环境连接ORA-00604,ORA-16000: database open for read-only access的更多相关文章
- oracle三个连接配置文件 listener.ora、sqlnet.ora、tnsnames.ora
关于PLSQL连接ORACLE配置字符串 首先要讲一下下面的一些知识 1.ORACLE_SID:(ORACLE SYSTEM IDENTIFIER) Oracle实例是由SGA和一组后台进程组成的,实 ...
- logminer实战之生产环境写入数据字典,dg环境查询拷贝日志,测试环境进行挖掘,输出结果
应客户需要,对某一天的日志进行挖掘,分析日均归档日志切换数量20增长至40的原因,是什么表的dml操作导致的日志量剧增,最终定位某个应用(需要客户自己进行甄别) 操作说明及介绍: 1.客户10.2.0 ...
- Oracle 10g DG 环境搭建详解
环境描述:线上招聘库在物理机上,需要上云主机,于是申请两台云主机:由于云主机变态性,分配的云主机具有很多局限性:1.没有/tmp,2.没有 swap 3. /home 目录非常小:于是申请两块云硬盘, ...
- DG环境恢复同步遇到报错ORA-00353ORA-00334以及ORA-00600[2619], [47745]
问题说明 客户环境主库4节点RAC11.2.0.4,单实例DG环境,DG由于空间不足,导致同步中断,由于DG备库未应用的归档主库都再,本次恢复的方式,是开启dg mrp进程,自动同步追上主库. 以下遇 ...
- listener.ora/sqlnet.ora/tnsnames.ora配置文件详解
oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...
- oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性
学习:http://www.cnblogs.com/william-lee/archive/2010/10/20/1856261.html 之前因为安装的是windows server 2008 r2 ...
- ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...
- DG环境的日常巡检
DG环境的日常巡检 目录 1.DG环境的日常巡检4 1.1.主库环境检查4 1.1.1.主库实例启动状态检查4 1.1.2.主库启动模式检查4 1.1.3.主库DG环境的保护模式检查4 1.1.4.主 ...
- DG环境数据库RMAN备份策略制定
DG环境数据库RMAN备份策略制定: 主库(Primary) 全库备份 归档备份 删除历史文件夹 备库(Standby) 删除归档 引用说明 主库(Primary) $ crontab -l 0 1 ...
随机推荐
- Uber如何搭建一个基于Kafka的跨数据中心复制平台 原创: 徐宏亮 AI前线 今天
Uber如何搭建一个基于Kafka的跨数据中心复制平台 原创: 徐宏亮 AI前线 今天
- vue-cli的eslint不加空格报错问题
//方法一.直接不启用eslint(不推荐) //找到build/webpack.base.conf.js把以下代码取消注释 { test: /\.(js|vue)$/, loader: 'eslin ...
- videojs调整音频播放语速
参考来源: https://stackoverflow.com/questions/19112255/change-the-video-playback-speed-using-video-js 以下 ...
- 重新学习微信小程序
基础学习: 传送门:http://www.jianshu.com/p/1cec15a81722 这个简书博客介绍的很详细,今天思思重新学习了一下. 一路到最后只遇到一个坑,还是自己不仔细.这里记录下: ...
- jsplumb 流程图,常用功能配置记录
前言: jsplumb 有2个版本一个Toolkit Edition(付费版),另外一个就是Community Edition(社区版本).Toolkit Edition版本功能集成的比较丰富,社区版 ...
- Docker 容器的通信(十二)
目录 一.容器间通信 1.IP 通信 2.Docker DNS Server 3.joined 容器 二.容器访问外部网络 三.外部网络访问容器 1.随机端口 2.指定端口 3.不指定任何端口. 4. ...
- C# checked和unchecked 关键字详解
checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的:如果使用了checked发生数学运算溢出时会抛出OverflowException:如果使用了unchecked则不会 ...
- 使用kubeadm部署K8S v1.17.0集群
kubeadm部署K8S集群 安装前的准备 集群机器 172.22.34.34 K8S00 172.22.34.35 K8S01 172.22.34.36 K8S02 注意: 本文档中的 etcd . ...
- redis 设置后台守护运行的两种方式
第一种:进入src目录,执行 nohup ./redis-server & 第二种:redis.conf==> daemonize=yes,启动redis-server后面加redis. ...
- 最新 边锋网络java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.边锋网络等10家互联网公司的校招Offer,因为某些自身原因最终选择了边锋网络.6.7月主要是做系统复习.项目复盘.Leet ...