- 浏览: 978431 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
孤星119:
好熟悉的数据库字段啊, 上家公司做的项目每天都跟这些字段打招呼 ...
Oracle exp compress参数引起的空间浪费 -
itspace:
quxiaoyong 写道遇到个问题,网上一搜,全他妈这篇文章 ...
数据库连接错误ORA-28547 -
quxiaoyong:
遇到个问题,网上一搜,全他妈这篇文章。你转来转去的有意思吗?
数据库连接错误ORA-28547 -
hctech:
关于version count过高的问题,不知博主是否看过ey ...
某客户数据库性能诊断报告 -
itspace:
invalid 写道写的不错,我根据这个来安装,有点理解错误了 ...
AIX 配置vncserver
我们知道sqlplus连接Oracle时,会从sequence AUDSES$中取得Auditing session ID。研究版本为Oracle 10.2.0.4,需要注意的是在不同版本中略有不同。
我们用普通业务用户连接至Oracle,注意并没有使用sysdba连接。取得当前会话的Auditing session ID
同样在V$SESSION也有所体现
可以查看AUDSES$下一个取值。
进一步查看audses$的定义
我们用sysdba连接至Oracle,取得当前会话的Auditing session ID,发现sysdba权限的Auditing session ID并没有从AUDSES$取得,因为AUDSES$最大值为2000000000,而当前SESSIONID已经达到4294967295(取自x$ksuse.KSUUDSES)
进一步查看后台核心进程的Auditing session ID,都取值为0
在Oracle 10.2.0.4中可以看到sequence audses$的cache size已经变为10000。
而在Oracle 9.2.0.4中
如果用sysdba权限连接用户和后台进程(BACKGROUND)一样,其AUDSID为0
其cache_size为20.
另外值得注意的是:在10.2.3以下的Rac平台中,如果客户端频繁短连接,因cache_size只有20,可能会导致数据库挂起,可以详见metalink doc:395314.1
引用
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
我们用普通业务用户连接至Oracle,注意并没有使用sysdba连接。取得当前会话的Auditing session ID
引用
SQL> select USERENV('SESSIONID') from dual;
USERENV('SESSIONID')
--------------------
640503
USERENV('SESSIONID')
--------------------
640503
同样在V$SESSION也有所体现
引用
SQL> select SID,AUDSID,USERNAME,TYPE,PROGRAM
2 FROM V$SESSION WHERE TYPE='USER';
SID AUDSID USERN TYPE PROGRAM
---------- -------------- ----- ---------- ------------------------------
141 4294967295 SYS USER sqlplus@mcsvr (TNS V1-V3)
142 640503 ZHOUL USER sqlplus@mcsvr (TNS V1-V3)
2 FROM V$SESSION WHERE TYPE='USER';
SID AUDSID USERN TYPE PROGRAM
---------- -------------- ----- ---------- ------------------------------
141 4294967295 SYS USER sqlplus@mcsvr (TNS V1-V3)
142 640503 ZHOUL USER sqlplus@mcsvr (TNS V1-V3)
可以查看AUDSES$下一个取值。
引用
SQL> SELECT SYS.AUDSES$.NEXTVAL FROM DUAL;
NEXTVAL
----------
640504
NEXTVAL
----------
640504
进一步查看audses$的定义
引用
SQL> SELECT DBMS_METADATA.GET_DDL('SEQUENCE','AUDSES$') FROM DUAL;
DBMS_METADATA.GET_DDL('SEQUENCE','AUDSES$')
--------------------------------------------------------------------------------
CREATE SEQUENCE "SYS"."AUDSES$" MINVALUE 1 MAXVALUE 2000000000 INCREMENT BY 1 START WITH 77409 CACHE 10000 NOORDER CYCLE
DBMS_METADATA.GET_DDL('SEQUENCE','AUDSES$')
--------------------------------------------------------------------------------
CREATE SEQUENCE "SYS"."AUDSES$" MINVALUE 1 MAXVALUE 2000000000 INCREMENT BY 1 START WITH 77409 CACHE 10000 NOORDER CYCLE
我们用sysdba连接至Oracle,取得当前会话的Auditing session ID,发现sysdba权限的Auditing session ID并没有从AUDSES$取得,因为AUDSES$最大值为2000000000,而当前SESSIONID已经达到4294967295(取自x$ksuse.KSUUDSES)
引用
$ sqlplus "/as sysdba"
SQL> select USERENV('SESSIONID') from dual;
USERENV('SESSIONID')
--------------------
4294967295
SQL> select sid from v$mystat where rownum=1;
SID
----------
141
SQL> SELECT AUDSID,USERNAME,TYPE,PROGRAM
2 FROM V$SESSION WHERE SID=141;
AUDSID USERN TYPE PROGRAM
-------------- ----- ---------- ------------------------------
4294967295 SYS USER sqlplus@mcsvr (TNS V1-V3)
SQL> select USERENV('SESSIONID') from dual;
USERENV('SESSIONID')
--------------------
4294967295
SQL> select sid from v$mystat where rownum=1;
SID
----------
141
SQL> SELECT AUDSID,USERNAME,TYPE,PROGRAM
2 FROM V$SESSION WHERE SID=141;
AUDSID USERN TYPE PROGRAM
-------------- ----- ---------- ------------------------------
4294967295 SYS USER sqlplus@mcsvr (TNS V1-V3)
进一步查看后台核心进程的Auditing session ID,都取值为0
引用
SQL> select SID,AUDSID,USERNAME,TYPE,PROGRAM
2 FROM V$SESSION WHERE TYPE='BACKGROUND';
SID AUDSID USERN TYPE PROGRAM
---------- -------------- ----- ---------- ------------------------------
150 0 BACKGROUND oracle@mcsvr (q001)
151 0 BACKGROUND oracle@mcsvr (q000)
154 0 BACKGROUND oracle@mcsvr (QMNC)
160 0 BACKGROUND oracle@mcsvr (SMON)
161 0 BACKGROUND oracle@mcsvr (MMNL)
162 0 BACKGROUND oracle@mcsvr (MMON)
163 0 BACKGROUND oracle@mcsvr (CJQ0)
164 0 BACKGROUND oracle@mcsvr (RECO)
165 0 BACKGROUND oracle@mcsvr (DBW0)
166 0 BACKGROUND oracle@mcsvr (CKPT)
167 0 BACKGROUND oracle@mcsvr (LGWR)
SID AUDSID USERN TYPE PROGRAM
---------- -------------- ----- ---------- ------------------------------
168 0 BACKGROUND oracle@mcsvr (MMAN)
169 0 BACKGROUND oracle@mcsvr (PSP0)
170 0 BACKGROUND oracle@mcsvr (PMON)
14 rows selected.
2 FROM V$SESSION WHERE TYPE='BACKGROUND';
SID AUDSID USERN TYPE PROGRAM
---------- -------------- ----- ---------- ------------------------------
150 0 BACKGROUND oracle@mcsvr (q001)
151 0 BACKGROUND oracle@mcsvr (q000)
154 0 BACKGROUND oracle@mcsvr (QMNC)
160 0 BACKGROUND oracle@mcsvr (SMON)
161 0 BACKGROUND oracle@mcsvr (MMNL)
162 0 BACKGROUND oracle@mcsvr (MMON)
163 0 BACKGROUND oracle@mcsvr (CJQ0)
164 0 BACKGROUND oracle@mcsvr (RECO)
165 0 BACKGROUND oracle@mcsvr (DBW0)
166 0 BACKGROUND oracle@mcsvr (CKPT)
167 0 BACKGROUND oracle@mcsvr (LGWR)
SID AUDSID USERN TYPE PROGRAM
---------- -------------- ----- ---------- ------------------------------
168 0 BACKGROUND oracle@mcsvr (MMAN)
169 0 BACKGROUND oracle@mcsvr (PSP0)
170 0 BACKGROUND oracle@mcsvr (PMON)
14 rows selected.
在Oracle 10.2.0.4中可以看到sequence audses$的cache size已经变为10000。
引用
SQL> select sequence_owner,sequence_name,cache_size
2 from dba_sequences
3 where sequence_name='AUDSES$';
SEQUENCE_OWNER SEQUENCE_NAME CACHE_SIZE
------------------------------ ------------------------------ ----------
SYS AUDSES$ 10000
2 from dba_sequences
3 where sequence_name='AUDSES$';
SEQUENCE_OWNER SEQUENCE_NAME CACHE_SIZE
------------------------------ ------------------------------ ----------
SYS AUDSES$ 10000
而在Oracle 9.2.0.4中
引用
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
如果用sysdba权限连接用户和后台进程(BACKGROUND)一样,其AUDSID为0
引用
SQL> SELECT SID,AUDSID,USERNAME,TYPE FROM V$SESSION;
SID AUDSID USERNAME TYPE
---------- ---------- ------------------------------ ----------
1 0 BACKGROUND
2 0 BACKGROUND
3 0 BACKGROUND
4 0 BACKGROUND
5 0 BACKGROUND
6 0 BACKGROUND
7 0 USER
8 0 BACKGROUND
9 0 BACKGROUND
10 0 SYS USER
12 0 BACKGROUND
SID AUDSID USERNAME TYPE
---------- ---------- ------------------------------ ----------
1 0 BACKGROUND
2 0 BACKGROUND
3 0 BACKGROUND
4 0 BACKGROUND
5 0 BACKGROUND
6 0 BACKGROUND
7 0 USER
8 0 BACKGROUND
9 0 BACKGROUND
10 0 SYS USER
12 0 BACKGROUND
其cache_size为20.
引用
SQL> select sequence_owner,sequence_name,cache_size
2 from dba_sequences
3 where sequence_name='AUDSES$';
SEQUENCE_OWNER SEQUENCE_NAME CACHE_SIZE
------------------------------ ------------------------------ ----------
SYS AUDSES$ 20
2 from dba_sequences
3 where sequence_name='AUDSES$';
SEQUENCE_OWNER SEQUENCE_NAME CACHE_SIZE
------------------------------ ------------------------------ ----------
SYS AUDSES$ 20
另外值得注意的是:在10.2.3以下的Rac平台中,如果客户端频繁短连接,因cache_size只有20,可能会导致数据库挂起,可以详见metalink doc:395314.1
发表评论
-
buffer cache 的内部结构
2020-03-18 14:21 576BUFFER CACHE作为数据块的 ... -
Oracle OMC介绍
2020-03-18 13:19 484Oracle管理云服务(OMC)的大数据平台,自动收集的企业 ... -
参加Oracle勒索病毒防范专题培训会议
2019-09-27 17:15 5112019年7月22日,受邀参加Oracle勒索病毒防范专题培训 ... -
记一次内存换IO的Oracle优化
2019-09-27 16:50 826某客户数据库从P595物理 ... -
如何定位Oracle SQL执行计划变化的原因
2019-07-03 14:49 1458性能优化最难的是能够 ... -
如何定位Oracle SQL执行计划变化的原因
2018-10-30 09:24 1185性能优化最难的是能够 ... -
数据库性能优化目标
2018-10-08 10:59 518从数据库性能优化的场 ... -
数据库无法打开的原因及解决办法
2018-10-05 20:45 2117数据库的启动是一个相当复杂的过程。比如,Oracle在启动之前 ... -
怎么样彻底删除数据库?
2018-09-18 11:10 598Oracle提供了drop database命令用来删除数据库 ... -
Oracle减少日志量的方法
2018-09-10 10:17 865LGWR进程将LOG BUFFER中的 ... -
如何快速关闭数据库
2018-09-09 13:14 1231“一朝被蛇咬,十年怕井绳”。在没被“蛇”咬之前,很多DBA喜欢 ... -
关于《如何落地智能化运维》PPT
2018-05-17 10:19 1128在DTCC 2018发表《如何落地智能化运维》演讲,主要内容如 ... -
记录在redhat5.8平台安装oracle11.2容易忽视的几个问题
2018-05-11 19:58 577问题一:ping不通问题 在虚拟机上安装好linux系统后, ... -
《Oracle DBA实战攻略》第一章
2018-05-11 10:42 945即日起,不定期更新《OracleDBA实战攻略》一书电子版,请 ... -
Oracle 12c新特性
2018-05-11 10:33 898查询所有pdb [oracle@gj4 ~]$ sqlplu ... -
关于修改memory_target的值后数据库无法启动的问题
2017-02-28 12:24 3981操作系统:RHEL6.5 数据库版本:11.2.0.4 ... -
10g rac安装error while loading shared libraries libpthread.so.0 问题
2017-02-28 12:22 69311g rac安装在二节点跑脚本一般会报此错误: 解决这个问 ... -
记一次Oracle会话共享模式故障处理过程
2017-02-27 19:16 798故障简述 XXX第八人民医院HIS数据库7月13日11点左右从 ... -
RESMGR:cpu quantum等待事件处理过程
2017-02-27 18:23 2615由于数据库上线过程中出现大量的RESMGR:cpu quant ... -
谈谈log file sync
2014-03-19 14:18 1757数据库中的log file sync等待事件指的是,当user ...
相关推荐
### Oracle Sequence 重置(失效恢复) 在进行Oracle数据库移植或维护时,可能会遇到Sequence失效的问题。这种情况通常发生在数据迁移后,原有的Sequence不再与表中的最大值相匹配,导致新记录插入时出现ID冲突或者...
Oracle 创建自增字段方法-ORACLE SEQUENCE 的简单介绍 Oracle SEQUENCE 是一种特殊的数据库对象,用于生成一系列唯一的数值,通常用于主键或其他需要唯一标识的字段。下面将详细介绍 Oracle 创建自增字段方法-...
### ORACLE SEQUENCE 的详细介绍与应用 #### 一、概述 在数据库开发和管理中,自动编号是一项常用的功能。在 SQL Server 中,我们可以通过自增字段来实现这一功能。而在 Oracle 数据库中,则使用了一个名为 **...
### Oracle中的Sequence介绍及应用 #### 一、Sequence概述 在Oracle数据库中,Sequence是一种用于自动产生数值序列的对象。它可以生成连续的整数或者非连续的整数序列,并且可以根据需求进行递增或递减。Sequence...
本篇文章将围绕"让CoolSQL支持Oracle Sequence的GeneratedKey"这一主题展开,探讨如何在开发过程中利用Oracle的Sequence特性并将其与CoolSQL工具相结合,以实现更高效的数据操作。 首先,Oracle Sequence是一种用于...
Oracle中的Sequence是数据库管理系统提供的一种机制,用于生成序列化的整数,通常用于主键或唯一标识符,确保数据的唯一性和有序性。在Oracle中,Sequence不同于其他数据库系统的自增字段,例如SQL Server中的`...
在ORACLE数据库中,序列(SEQUENCE)是使用非常频繁的一个数据库对象,但是有时候会遇到序列(SEQUECNE)跳号(skip sequence numbers)的情形,那么在哪些情形下会遇到跳号呢? 事务回滚引起的跳号 不管序列有...
$k$-弧强连通多重有向图的度序列,刘清海,洪艳梅,设~$D$ 为点集为~${v_1,ldots, v_n}$ 的有向图,则序列~${(d^+(v_1),d^-(v_1)),ldots, (d^+(v_n)$, $d^-(v_n))}$ 称为~$D$ 的度序列。对任意给定一个整数对构成�
### Oracle GoldenGate 同步 Oracle Sequence 的步骤 Oracle GoldenGate 是一款强大的数据复制软件,能够实现跨平台的数据复制。在企业级应用环境中,为了确保数据的一致性和完整性,经常需要将源数据库中的序列...
1、在Oracle sequence首先创建sequence create sequence seq_idminvalue 1start with 1increment by 1cache 20; 2、在你的hbm.xml中的配置 seq_id 这样再插入数据的时候,Hibernate会自动生成如下语句: ...
本篇将重点介绍如何在使用JDeveloper这款强大的集成开发环境(IDE)时,结合Oracle的sequence和trigger来实现高效的数据操作。 首先,让我们理解一下sequence和trigger的概念。在Oracle中,sequence是一种自动递增...
在Oracle数据库中,由于不支持自动递增的主键策略,开发者通常会使用Sequence来生成主键值。本文将深入探讨如何在MyBatis-Plus(MP)框架中配置Oracle的主键Sequence。 首先,Oracle Sequence是Oracle数据库提供的...
### Oracle 主键自增 Sequence 的实现与应用 #### 一、Sequence 的概念及用途 在 Oracle 数据库中,`Sequence` 是一种用于生成一系列唯一数值的对象。这些数值可以按照特定的规则递增或递减,并且可以设定是否循环...
在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: CREATE SEQUENCE seqTest INCREMENT...
在Oracle数据库中,实现自动增长列的功能主要依赖于`SEQUENCE`对象。通过创建一个序列(SEQUENCE),可以方便地为表中的某列自动生成唯一的值,这对于主键或者需要唯一标识符的场景非常有用。 #### 1. SEQUENCE概述...
在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下Oracle重置sequence语句1 Sql代码 代码如下: DECLARE n NUMBER(10 ); tsql VARCHAR2(100 ); p_...
在Oracle中,序列(Sequence)是一个非常重要的概念,它主要用于生成唯一的整数序列,常常被用来作为主键值,特别是在插入新记录时自动增加。在本篇文章中,我们将深入探讨Oracle序列的创建、使用以及其在实际应用中...
Oracle自增长主键自动生成类 public static int nextID String table { if table null return 1; table table toLowerCase ; String strKey table; if sequences containsKey strKey { ...