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 ...
随机推荐
- How To Install P4 Tutorials
安装一些依赖 sudo apt-get update sudo apt-get upgrade sudo apt-get install automake cmake libjudy-dev libp ...
- java spark list 转为 RDD 转为 dataset 写入表中
package com.example.demo; import java.util.ArrayList; import java.util.Arrays; import java.util.Hash ...
- ehcache的heap、off-heap、desk浅谈
ehcache的heap.off-heap.desk浅谈 答: 从读取速度上比较:heap > off-heap > disk heap堆内内存: heap表示使用堆内内存,heap( ...
- Qt编写自定义控件57-直方波形图
一.前言 直方波形图控件非原创控件,控件大全中大概有20-30个控件非自己原创,而是参考了网上开源的代码,自己加以整理和完善,新增了插件的代码使得可以直接集成到QtDesigner或者QtCreato ...
- tcpdump抓包代码
tcpdump - tcp[:]=:]=0x4854 or tcp 抓出来的包可以导入wireshark分析 以上代码曾经在ios越狱机器上使用,用于抓包,具体也记不起来了 导入wireshark效果
- Python3之实现字符反转
参考:https://www.cnblogs.com/jasmine0627/p/9510296.html 将字符串s="helloworld"反转为‘dlrowolleh’ fa ...
- Flutter布局--appbar导航栏和状态栏
MaterialApp 先看下上图的具体用法:1. title:标题2. actions:表示右侧的按钮的动作3. leading:表示左侧的按钮的动作4. flexibleSpace:5. back ...
- git merge仓
git merge --no-ff branch 合并指定代码 如果有冲突 git mergetool 可视化解决冲突, qa! 全退出 如果修复失败 git checkout branch -f ...
- 安卓计数器类APP推荐
1. Thing Counter - Google Play 上的应用 可添加多个计数器,同一页面展示,一行一个,操作直观方便: 可以更改计数器颜色,使页面更美观. 每个计数器有详情和历史记录 详情: ...
- windows服务器入门 初始化数据盘
本人在寒假的时候自行搭建了一个服务器,在此分享一下我的方法.本人服务器的系统为Windows 2012R2 在后面的讲解中中文英文都会有 所以不用在意系统的语言问题 1)第一步 自然就是打开服 ...