帮助人为乐乃快乐之本
记新公司上班完成第一个任务![@more@] 接到客户反馈公司自编的恢复脚本无法执行,提示tns-12546的错误。(前几天可以连得上,但是今天不行,sqlplus sys/sys@abc as sysdba也报一样的错误) 由于对新公司的情况不了解和无法登录上客户的主机,沟通上不了解双方,出现了个分歧,导致传送的一个文件传错,结果一个本可以5分钟搞定的东西,搞到快一个小时,就是由于listener.log文件大于2G,导致数据库无法写日志文件。 其时最想说的是,这是个由于以前在上一家公司做dba的时候,那天一个项目组的组长打电话给我说他的oracle数据
oracle 8 pl/sqli不支持 case语句判断
oracle 8 pl/sqli不支持 case语句判断只能用 if *** thenelsif ** thenelsif ** thenend if;case语句9i后得以实现。真是不可思议的事情,,[@more@]
对表的更改进行审计的方法
摘自"Oracle高效设计" p15采用dbms_wm.EnableVersioning; [@more@]1) 先建一张表主键的表如 create table tmp (ID NUMBER(1),NAME VARCHAR2(100));2)alter table tmp add constraint tmp_pk primary key ( ID);3)EXEC dbms_wm.ENABLEVERSIONING('TMP','VIEW_WO_OVERWRITE');---这样会建立一个 tmp_base,并建立三个触发器,--查询历史 记录 用select * from tmp_hist 来进行查看注意,不能修改主键的值,否则会异常出错停用审计方法:EXEC DBMS_WM.DISABLEVERSIONING('TMP');
ORA-01578: ORACLE 数据块损坏(文件号16,块号159507)
现象:在执行某一过程时出现:ORA-01401: 插入的值对于列过大 ORA-06512: 在"ITNMS.ITNMS_PKG", line 1525 ORA-01578: ORACLE 数据块损坏(文件号16,块号159507) ORA-01110: 数据文件 16: 'D:IT_DATAPERF_INDEX01.DBF' ORA-06512: 在line 1错误[@more@]解决方法:查看相应的错误手册:根据错误号得出: SELECT SEGMENT_TYPE, OWNER || '.' || SEGMENT_NAME FROM DBA_EXTENTS WHERE file_id =16 AND 159507 BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1; 得出下面记录即ITNMS.INX_DB_SEG 段corrupted将其删除后进行重建。。OK
急急急问:ora-00600
急急急问:ora-00600[@more@]ora-00600:internal error code,arguments:[12870],[]kdlgon]:waited too long for object id ,[],[],[],[],[],[]os as linux3 oracle 9204 rac 两节点作新增表分区 alter index 88888 rebuild ;@ultrp.sqlcreate table aa as select * from kkk where rownum<200;都会报上面的错。 解决过程:select * from gv$session _wait;有大量的library cache lock,这样怀疑有DDL语句没有完成,用pl/sql developer中的session工具查看,有大量的truncate 某一个表没有完成。kill他,但后面有个alter view XDB.path_vi