存档

‘Oracle’ 分类的存档

Oracle logon trigger举例

2014年3月26日 没有评论

以一个例子来说明logon trigger的使用问题。

1、问题提出

如下只是一个举例,自己修改一下可以完成更多的功能。想完成如下的功能:
1)某一个Ip段的用户不能登陆
2)针对的只是某一个或几个用户
3)对连接所用的应用程序也进行了限定。


2、问题解决

1)如果你的logon trigger不是建在sys用户下,v_$session的查询权限需要授权给给建trigger的用户。
我选择在system用户下建:

SQL>connect / as sysdba;
SQL>grant select on v_$session to system;

阅读全文…

分类: Oracle 标签: , ,

如何将PENDING OFFLINE状态的回滚段OFFLINE?

2014年3月23日 没有评论

版本ORACLE 9.2.0.4,采用Auto Undo Management
在v$transaction没有使用到这些PENDING OFFLINE的回滚段,可这些回滚段一个月的状态都是这样,有什么方法可以转为OFFLINE呢?

问题描述:

itpub swelp提问:

版本ORACLE 9.2.0.4,采用Auto Undo Management
在v$transaction没有使用到这些PENDING OFFLINE的回滚段,可这些回滚段一个月的状态都是这样,有什么方法可以转为OFFLINE呢?
阅读全文…

Oracle起动库时1102报错处理

2014年3月23日 没有评论

实际过程中有时我们会遇到这样的问题,当你用startup试图启动数据库时会遇到ORA-01102的报错,如何处理呢?[@more@]
一、提出问题
实际过程中有时我们会遇到这样的问题,当你用startup试图启动数据库时会遇到ORA-01102的报错。我们可以在Unix下切换到Oracle的用户,执行一下oerr ora 1102便会看到有关1102的简短的描述,如下:


rp2$[/home/ora2]oerr ora 1102
01102, 00000, “cannot mount database in EXCLUSIVE mode”
// *Cause: Some other instance has the database mounted exclusive or shared.
// *Action: Shutdown other instance or mount in a compatible mode

看了这个1102的简短的解释你一定有些迷惑,因为它有一些的误导性。如下我便来分析一下问题产生的原因,并给出解决的办法。
 
二、分析原因
当你启动数据库遇到1102报错时,之前的数据库的down操作一般都不是正常完成的,或由于一些异常使Oracle在操作系统中残留一些内存结构,Pmon等一几个进程依然存在等原因使Oracle误认为Instance依然在运行着,所以库就没有启动,具体说来大体原因有如下几个:
1、pmon、smon、lwgw及dbwr这些后台进程依然存在着
2、Oracle开辟的共享内存没有释放掉
3、”lk” and “sgadef.dbf”这两个用于锁内存的文件存在着。
阅读全文…

分类: Oracle 标签:

Oracle Trace Level Event Numbers

2014年3月20日 没有评论

Oracle 诊断事件编码及内容。
阅读全文…

分类: Oracle 标签: