[20200120]oracle wait event "enq: SQ – contention" and DBA_DB_LINK_SOURCES.txt --//昨天看链接https://www.anbob.com/archives/5034.html,里面提到从12c 版本开始新引入DBA_DB_LINK_SOURCES(link_sources$)记 --//录了远程dblink 曾登录本地数据的会话信息(hostname、IP, dbname、用户名、logon_time、logon_count)。 1.环境: SCOTT@test01p> @ ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0 SYS@test> @desc DBA_DB_LINK_SOURCES Name Null? Type ----------------- -------- --------------------------- SOURCE_ID NOT NULL NUMBER DB_NAME NOT NULL VARCHAR2(256) DBID NOT NULL NUMBER DB_UNIQUE_NAME VARCHAR2(256) HOST_NAME VARCHAR2(256) IP_ADDRESS VARCHAR2(128) PROTOCOL VARCHAR2(64) USERNAME NOT NULL VARCHAR2(128) USER# NOT NULL NUMBER FIRST_LOGON_TIME NOT NULL TIMESTAMP(6) LAST_LOGON_TIME TIMESTAMP(6) LOGON_COUNT NUMBER SYS@test> select text_vc c80 from dba_views where VIEW_NAME='DBA_DB_LINK_SOURCES'; C80 ------------------------------------------------------------------------------------ select source_id, db_name, dbid, db_unique_name, host_name, ip_address, protocol, username, user#, first_logon_time, (select max(llt) from ((select last_logon_time llt from LINK_SOURCES$ where source_id = X.source_id) union (select max(logon_time) llt from LINK_LOGONS$ where source_id = X.source_id))) last_logon_time, (select X.logon_count + count(*) from LINK_LOGONS$ where source_id = X.source_id) logon_count from LINK_SOURCES$ X --//该视图基于底层基表link_sources$以及LINK_LOGONS$。 2.测试: SCOTT@test01p> CREATE PUBLIC DATABASE LINK LOOPBACK USING 'localhost:1521/test01p'; Database link created. SCOTT@test01p> select * from dept@loopback ; DEPTNO DNAME LOC ---------- -------------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON SCOTT@test01p> select * from DBA_DB_LINK_SOURCES 2 @ prxx ============================== SOURCE_ID : 1 DB_NAME : TEST01P DBID : 3179431019 DB_UNIQUE_NAME : test HOST_NAME : XXXXXX IP_ADDRESS : 127.0.0.1 PROTOCOL : tcp USERNAME : SCOTT USER# : 108 FIRST_LOGON_TIME : 2020-01-20 01:22:44.786000 LAST_LOGON_TIME : 2020-01-20 01:22:44.786000 LOGON_COUNT : 1 PL/SQL procedure successfully completed. --//检索共享池可以发现如下语句: --//sql_id=d2217udafsm66 INSERT INTO link_sources$ ( source_id ,username ,user# ,first_logon_time ,last_logon_time ,logon_count ,db_name ,dbid ,host_name ,ip_address ,protocol ,db_unique_name ) VALUES ( link_source_id_seq.NEXTVAL , :usrnm , :usri ,SYSTIMESTAMP AT TIME ZONE 'UTC' ,SYSTIMESTAMP AT TIME ZONE 'UTC' ,1 , :dbldbn , :dbldbi ,SYS_CONTEXT ('USERENV', 'HOST') ,SYS_CONTEXT ('USERENV', 'IP_ADDRESS') ,SYS_CONTEXT ('USERENV', 'NETWORK_PROTOCOL') ,SUBSTR ( SYS_CONTEXT ('USERENV', 'DBLINK_INFO') ,20 , INSTR ( SYS_CONTEXT ('USERENV', 'DBLINK_INFO') ,',' ,1 ,1 ) - 20 ) ) --//sql_id=fw07zwwyz6gva UPDATE link_sources$ SET (LOGON_COUNT, LAST_LOGON_TIME) = (SELECT (link_sources$.logon_count + COUNT (*)), MAX (LOGON_TIME) FROM link_logons$ WHERE (link_sources$.source_id = link_logons$.source_id) AND (link_logons$.logon_time <= :ref_tstmp)) WHERE link_sources$.source_id IN (SELECT UNIQUE source_id FROM link_logons$ WHERE link_logons$.logon_time <= :ref_tstmp) --//里面有使用序列号link_source_id_seq. SCOTT@test01p> select * from DBA_SEQUENCES where sequence_owner='SYS' and sequence_name='LINK_SOURCE_ID_SEQ' 2 @ prxx ============================== SEQUENCE_OWNER : SYS SEQUENCE_NAME : LINK_SOURCE_ID_SEQ MIN_VALUE : 1 MAX_VALUE : 9999999999999999999999999999 INCREMENT_BY : 1 CYCLE_FLAG : N ORDER_FLAG : N CACHE_SIZE : 10 LAST_NUMBER : 11 SCALE_FLAG : N EXTEND_FLAG : N SESSION_FLAG : N KEEP_VALUE : N PL/SQL procedure successfully completed. --//里面CACHE_SIZE设置太小,如果应用频繁调用db_links.出现"enq: SQ - contention "很正常,适当增加cache_size大小。 --//另外也可以通过隐含参数关闭 database link source tracking。 SYS@test> @ hide _db_link_sources_tracking NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD ------------------------- -------------------------------------------- ------------- ------------- ------------ ----- --------- _db_link_sources_tracking enable/disable database link source tracking TRUE TRUE TRUE FALSE FALSE
[20200120]oracle wait event "enq: SQ – contention" and DBA_DB_LINK_SOURCES.txt
来源:这里教程网
时间:2026-03-03 14:53:38
作者:
编辑推荐:
- [20200120]oracle wait event "enq: SQ – contention" and DBA_DB_LINK_SOURCES.txt03-03
- [20200120]12c在线统计收集问题.txt03-03
- [20200120]ORA-54033 ORA-30556.txt03-03
- Analytic Functions in Oracle03-03
- Script to Collect Log File Sync Diagnostic Information (lfsdiag.sql)03-03
- [20200121]CURRENT_TIMESTAMP LOCALTIMESTAMP SYSTIMESTAMP的不同.TXT03-03
- Oracle listener log配置与管理03-03
- 正常终止expdp作业03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle 11g升级到12C
Oracle 11g升级到12C
26-03-03 - ASM集群文件系统ACFS(ASM Cluster File System)
- ORA-01195: online backup of file 1 needs more recovery to be consistent
- SharePlex安装配置、常用功能配置文档、常见故障处理文档
SharePlex安装配置、常用功能配置文档、常见故障处理文档
26-03-03 - Oracle 12c nocdb转换成cdb
Oracle 12c nocdb转换成cdb
26-03-03 - parameter table management,11.2.0.4 Bug 20564072
- 如果你的系统需要在一张很大的表上创建一个索引,你会考虑哪些因素?
如果你的系统需要在一张很大的表上创建一个索引,你会考虑哪些因素?
26-03-03 - oracle 12c 新增的LREG进程及其动态注册的过程
oracle 12c 新增的LREG进程及其动态注册的过程
26-03-03 - Bad check value found during backing up datafileBad check value found during bac
- 体系_表空间和数据文件的管理
体系_表空间和数据文件的管理
26-03-03
