关于WITH GRANT OPTION
关于WITH GRANT OPTION,我想第一个想到的就是权限的级联撤销,比如A用户将某权限赋予给B用户,B用户又将该权限赋给C用户。那么当A用户从B用户那撤回该权限后,则C用户的权限也会被级联撤回。 现在我想说的是关于WITH GRANT OPTION的另一个用处或者说是特点吧。 A用户创建了一个视图A_VIEW,A_VIEW视图查询的表是W用户下的W_TAB表,那么当A用户将对A_VIEW视图的查询权限赋给B用户后,B用户在查询视图A_VIEW时会报权限不足的错误,原因在于W用户将W_TAB表的SELECT权限赋给A用户时,没有带WITH GRANT OPTION。 例如:SQL> g
归档模式下online已被offline的表空间
在归档模式下,用IMMEDIATE选项OFFLINE表空间后,如果需要ONLINE该表空间,需要先执行介质恢复(media recovery),如: SQL> alter tablespace OCPTBS offline immediate; Tablespace altered. SQL> alter tablespace OCPTBS online; alter tablespace OCPTBS online * ERROR at line 1: ORA-01113: file 5 needs media recovery ORA-01110: data file 5: +XINER_DATA/xiner/datafile/ocptbs.268.745970939' 如果直接online的话,会提示file 5需要介质恢复。 SQL> recover tablespace OCPTBS; Medi
在Oracle数据库的优化过程中,表分析也是很重要的一步
今天业务人员抱怨其一条SQL语句执行速度之甚慢,我随让其提供其脚本欲研究一下,explain看了下执行计划,没发现有什么特别大的不对劲,于是怀疑可能是索引走的不对,看了下表分析记录后,发现该表还未曾做过分析,汗!!! 虽然我是DBA,但不是一个特别称职DBA,因为很多应用和业务上的事情还不是了解的很多,现实距离理想总是差距很大,DBA应该和应用一起协同工作…,不管是应用开发还是业务人员在遇到数据库相关的性能问题,都要及时的与数据库管理人员沟通,让其协助解决问题,而不要一味的抱怨数据库有问题等等。 把表analy
分布式事务失败官方解释
最近时常遇到分布式事务失败,把官方的解释贴上来,呵呵! Error: ORA 2050 Text: transaction <num> rolled back, some remote DBs may be in-doubt ------------------------------------------------------------------------------- Cause: There was a network failure or a remote failure during the two-phase commit. Action: Notify the database administrator. The remote databases will automatically resynchronize when the failure is repaired. [@more@]
采用直方图改善SQL执行性能
今天下午朋友QQ给我说他遇到一个SQL相关的性能问题,执行查询相当…的慢,发SQL发过来之后,发现跟上次让我看的是一样的,上次调整过一次,似乎效果不是很理想…,进入正题。 select * from (select * from U_MSG where MS='DELIVRD' and SA = '1066898829' and ICP_ID='91188' and SCTS>'2011-02-01' and SIGN is null ) C where rownum=1; 告诉朋友如何收集执行计划,发过来的结果为: Execution Plan ----------------------------
ora-21561 OID generation failed
今天给客户装Oracle(aix5.3 + raw + oracle10g),在点击finsh开始建库时报:ora-21561 OID generation failed.简单google了下,大都说是hosts文件的问题,于是打开/etc/hosts文件看看,发现除了注释仅有一行,见下:127.0.0.1 loopback localhost # loopback (lo0) name/address于是在其下加上具体的IP地址和对应的主机名称,如:10.13.28.99 ligle继续安装就没问题有任何问题了… [@more@]
ORA-27300: OS system dependent operation:fork failed with status: 11
今天早上,应用的人说新装的那台数据库连接报错,用PL/SQL Developer连接报:ORA-12537:TNS:连接关闭。开始处理:以oracle身份登陆系统,报:/etc/profile[50]: 0403-030 The fork function failed. Too many processes already exist.执行sqlplus登陆数据库又报:ORA-12549: TNS:operating system resource quota exceeded.这个类错误还是第一次遇见,不过看起来不算是有难度的问题,然后开始查询数据库告警日志alert.log,有很多类似的错误:Tue May 10 21:00:37 2011Process startup failed, error stack:Tue May 10 21:00:37 2011Erro
drop表空间后,lv状态仍然是open/syncd
刚在一个10.2.0.4版本的库上删除一个表空间后,发现对应的裸设备LV状态仍然是open/syncd。最后shutdown immediate就好了,可能是某些会话或进程仍在访问这些lv吧。[@more@]