ORA-00942
能访问的表,却抱 ORA-00942[@more@]今天写了个function:create or replace function show_pkg (name in varchar2) return varchar2isv_code varchar(1000);cursor c_code isselect a.text from sys.dba_source a where a.owner='MAS9I' and a.name=upper(name) and a.type='PACKAGE BODY';beginopen c_code;loopfetch c_code into v_code;exit when c_code%notfound;dbms_output.put_line(v_code);end loop;end;编译的时候抱错:ORA-00942: table or view does not exist ,可是用该用户是可以访问 DBA_SOURCE的,为啥写到function会抱错
sqlplus失去响应
今天突然发现用sqlplus一连接数据库就死在那里了。[@more@]现象:今天本地装了个10g的数据库,用 sqlplus xxx/xxx@aaa 来连接数据库,然后就死掉了,没有反应,但是用 sqlplus "/ as sysdba" 可以正常连接数据库,用 @xxx 的方法连接别的地方的数据库正常。分析:发现数据库的udump目录下,每次一连接就会有一个.trc文件生成,里面的内容是 opiino: Attach failed! error=-1 ifvp=00000000sqlnet.log 文件里面也发现抱错;TNS-12560: TNS:协议适配器出现错误上网查了一下,意思就是 用了9i的listener来连接了10g的数据库。可是我
物化试图日志过大
发现一张物化试图日志表达到了2G。...[@more@]1. 远程试图使用的rowid刷新,可我的日志用的是主键创建的,所以fast刷新失败,结果使用了完全刷新,导致日志表一直增加。顺便看了下物化视图刷新的顺序。更新的顺序是先删除后更新,最后插入。首先查询出需要删除的数据:SELECT /*+ remote_mapped(MASPROD104.CIMC.COM) */DISTINCT M_ROW$$FROM (SELECT M_ROW$$FROM "MAS9I"."MLOG$_ACTION_TEST1"@MASPROD104.CIMC.COM MLOG$WHERE "SNAPTIME$$" > :1AND ("DMLTYPE$$" != 'I')) LOG$WHERE (M_ROW
[转贴]Skip Scan Index
今天用STA,叫我用Skip Scan Index ,转个贴记录了一下[@more@]在Oracle9i中,有一个新的特性:跳跃式索引(Skip Scan Index)。当表有一个复合索引,而在查询中有除了索引中第一列的其他列作为条件,并且优化器模式为CBO,这时候查询计划就有可能使用到SS。此外,还可以通过使用提示index_ss(CBO下)来强制使用SS。强制使用ss的方法: select /*+index_ss(test1 test_idx1)*/* from test1 a where b ='a';但并不是任何情况下都会使用到SS。在Oracle的官方文档中,除了提到需要CBO,并且对表进行过分析外,还需要保证第一列的distinct valu
enq: DX - contention
今天用addm检查数据库的时候,报了一个enq: DX - contention的过多等待。[@more@]enq: DX - contention 是分布式事务所使用的锁。select * from v$lock where type='DX'发现C0000001380D5D00 C0000001380D5D20 2833 DX 16 0 1 0 1121192 0C0000001380E76C8 C0000001380E76E8 2234 DX 51 0 4 0 4150509 1C0000001380E7B08 C0000001380E7B28 2784 DX 51 0 0 6 4150445 0这些锁的时间可不小啊,原来是2234堵住了2784,而且时间很久了,杀掉2234后,正常不过 DX 这个锁是如何发生的呢,做了一个小测试数据库A,数据库B 数据库A上有 dblinkB 连
ORA-03106
ORA-03106的错误。[@more@]客户半个月以前曾经碰到过一个问题,有个job抱错,执行的内容是通过 dblink 往对方的数据库插数据,一直跑得好好的,突然就开始出错了。ORA-12012: 自动执行作业 82 出错ORA-03106: 致命的双工通信协议错误ORA-02063: 紧接着line(源于HRMS.CIMC.COM)ORA-06512: 在"xxxxxxxx", line 399ORA-06512: 在line 1因为以前一直跑得很好,所以怎么也想不通为啥抱错,于是先重现问题发现抱错,没什么办法,无聊之下多执行了几次,发现了一个奇怪的现象,就是抱错的行数一直在增大,就是说这次抱错在399 行 ,下
windows通过samba访问aix的共享目录
windows通过samba访问aix的共享目录的配置方法 [@more@]一、Samba基础1、 简介1).SMB协议 SMB(Server Message Block,服务器信息块)协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和Linux机器提供文件系统、打印服务或是其他一些信息。 SMB的工作原理是让NetBIOS(Win95网络邻居通信协议)与SMB这两种协议运行在TCP/IP的通信协议上,且使用NetBIOS nameserver让用户的Linux机器可以在Windows的网络邻居里被看到,所以就可以和Win95/NT主机在网络上相互沟通,共享文件与服务了。 目前Micros
dbms_system.set_sql_trace_in_session 无效
用 dbms_system.set_sql_trace_in_session 设置了sql trace,可是无效。 [@more@]今天需要追踪下别人的sql,用exec dbms_system.set_sql_trace_in_session(11,13,true);执行成功,可是看 v$session 字段里面的SQL_TRACE还是DISABLED 阿,奇怪是sys用户阿,执行也没有抱错,后来才发现,原来要用户做下操作,该字段才会被刷新的,虽然字段还没有改过来,其实已经生效了。
ORA-00932
form6i在读取blob的时候 抱错 ORA-00932:数据类型不一致[@more@]公司的HR系统还是form6i的,最近数据库升级到了10g (10.2.0.1.0) ,结果在读取blob字段的时候,抱错了 ORA-00932:数据类型不一致,应为 ,但却获得 一样的程序在9i和8i都正常的,估计是6i不支持10g的blob。找了下资料,原来是个bughttp://forums.oracle.com/forums/thread.jspa?threadID=370746,说把form 6i 打到patch 17 就可以了, metalink上说是bug ,bug号 1883920 ,不过说是15patch就解决了,可是出问题的就是打到15 patch的form 6i ,奇怪,估计他们搞错了吧,反正是