自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 外键索引检查

<br />外键列上缺失索引会带来两个问题:<br />1.主子表关联查询时,会对子表进行全表扫描<br />2.主表删除记时,子表会被锁住。<br /><br />鉴于以上两个原因,我们会选择浪费一些存储空间,在外键上创建索引<br /> <br />下面的SQL可以检测出库中外键上无索引的列,并生成创建索引的脚本<br /> <br /> SQL> SELECT X.T, X.C, UPPER('create index ' || 'idx_' || X.T ||

2011-04-29 17:49:00 978

原创 11g中imp不能创建视图

<br />问题描述:<br />接到一个朋友的电话说用exp导出dmp时一切正常,当用imp导入时发现有部分视图不能创建。问可能的原因是什么?<br />答:1.检查用户是否有创建视图的权限<br />      2.检查创建视图的语句,看创建视图用到的表当前用户能否访问。<br /> <br />检查结果如下:    <br />1.用户有DBA权限,有创建视图的权限。(人家已经说了只有部分视图不能创建,呵呵)<br />2.创建视图中用到的部分表,在imp时没有imp进来。但exp时是整个用户导出的。

2011-04-21 15:12:00 2869

原创 IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件

<br />一般遇到IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件<br /><br />通常有两种解决方法:<br /><br />1. 授予执行导出的用户dba权限(导数前要grant,导入后要revoke dba权限)<br />2. 重新用非dba用户导出数据 (如果dmp文件比较大,需要消耗较长的时间)<br /> <br /> 如果有dba权限的用户,可以方便避免上述两个问题。<br />3.利用有DBA权限的用户结合fromuser ,touser 参数进行导入<br

2011-04-20 18:07:00 18072

原创 EXP导出含有lang类型的表结构

<br />通常我们习惯通过PL/SQL Developer导出表结构。Tools->Export Tables ->SQL Inserts tab页<br />中在where clause 中输入where1=0 导出建表SQL。然而这种方法不能导出含有long类型的表。<br /> <br />如cust表中含有long类型字段,则会遇到下述错误。<br />Table CUST contains one or more LONG columns.<br />Cannot export in SQL f

2011-04-19 18:41:00 1871

原创 ORA-00904 & EXP-00091

<br />11.2.0.1.0客户端通过exp导出10.2.0.4.0的数据时出现ORA-00904: "POLTYP": invalid identifier错误。<br />换个10.2.0.4.0的客户端能正常导出10.2.0.4.0的数据。<br /><br />E:/>exp user/password@dev file=a.dmp tables=aaaa<br />Export: Release 11.2.0.1.0 - Production on 星期二 4月 19 17:14:30 201

2011-04-19 17:52:00 7537

转载 How to resolve locking situations

FAQ about Detecting and Resolving Locking Conflicts [ID 15476.1]3. Which lock modes are required for which table action?<br />The following table describes what lock modes on DML enqueues are actually gotten for which table operations in a standard Oracle

2011-04-18 18:23:00 686

原创 enq: TX - row lock contention

<br />记录两个排查与enq: TX - row lock contention事件相关的SQL<br />参考文档: Detecting blocking Locks in 10.2 and above [ID 729727.1]<br /> <br />SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 18 16:56:15 2011<br />Copyright (c) 1982, 2010, Oracle.  All rights reserve

2011-04-18 16:59:00 990

原创 ORA-00604 & ORA-25153

<br />启动本地库查看执行计划时出现ORA-00604,ORA-25153错误。原来是临时表空间数据文件丢失引起的。<br /><br />下面重现一下解决过程:<br />SQL> select count(1)  from LOCATIONS;<br />  COUNT(1)<br />----------<br />        37<br />已用时间:  00: 00: 00.04<br />执行计划<br />----------------------------------------

2011-04-16 16:21:00 2153

原创 CREATE VIEW ORA-01031

<br />朋友说遇到了一个奇怪的事,问能访问表,也有CREATE ANY VIEW的权限,为什么不能基于被访问的表创建视图?<br />而且是同一用户中有的表可以建视图,有的表不能建视图。<br /> <br />创建视图有两个条件要满足:<br />1.有创建视图的权限<br />2.当前用户有被表的所有者显示授予访问表的权限(即权限不能是通过角色继承过来的)<br /> <br /> <br />下面模拟一下解决过程:<br /> <br />-- 1.有访问表scott.emp的权限(此权限不是被显

2011-04-16 00:06:00 4276

原创 ORA-38301: can not perform DDL/DML over objects in Recycle Bin

<br />同事问删除一张名字很怪的表,怎么删除不掉。<br />错误信息是ORA-38301: can not perform DDL/DML over objects in Recycle Bin<br /> <br />一看他的sql原来是在drop 一张回收站中的表,对回收站中的表只能purge ,不能drop<br /> <br /> <br />SQL> DROP TABLE t_drop;<br />Table dropped<br /> <br />SQL> SELECT r.object_

2011-04-15 18:41:00 5737

原创 存储过程恢复

<br />今天在家复习准备下午的考试,接到另外一个项目组同事的电话。说生产环境的存储过程被删了,问怎么恢复。<br />简单的问了一下他们说从v$sql里看到这个存储过程大约是在10:00左右被删除的。<br /> <br />下面模拟一下解决过程。<br />SQL> drop procedure job_inst;<br />Procedure dropped<br /> <br />SQL> SELECT  r.object_name ,r.original_name,r.operation ,r.

2011-04-15 12:42:00 2938

原创 ORA-09817&ORA-01031

<br />客户端以sysdba身份连接远程数据库出现ORA-09817和ORA-01031错误,以相同的口令在数据<br />库主机上可以正常登录。客户端用其它用户也可以正常登录。<br /> <br />SQL> conn sys/oracle@devdb as sysdba<br />ERROR:<br />ORA-09817: Write to audit file failed.<br />Linux-x86_64 Error: 28: No space left on device<br />A

2011-04-11 15:43:00 3974

原创 DATAFILE与MAXDATAFILES的自增长

<br />     Oracle中当数据文件的个数超出了控制文件中MAXDATAFILES的个数时,从ORACLE8以后控制文件中MAXDATAFILES的个数会自动增长。不必重建控制文件。<br /> <br />kccrsz: expanded controlfile message in "alert.log" [ID 101020.1]中的描述<br /> <br />Starting in Oracle8 the controlfile is automatically expanded. A

2011-04-10 00:32:00 2775

原创 ORA-08103 & GATHER_STATS_JOB

<br />检查中发现警报日志中出现ORA-08103: object no longer exists错误<br /> <br />GATHER_STATS_JOB encountered errors.  Check the trace file.<br />Thu Apr  7 03:26:10 2011<br />Errors in file /home/oracle/product/admin/lwdb/bdump/lwdb_j001_14952.trc:<br />ORA-08103: obje

2011-04-07 17:55:00 3326

原创 某个时间断内表数据变化量

<br />oracle中怎么知道表在过去的时间段内数据量变化了多少呢?利用timestamp 可以方便的知道这一信息。<br /> <br />Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 <br />Connected as CAICPROD<br /> <br />SQL> SELECT COUNT(1)<br />  2    FROM test_main as of timestamp to_times

2011-04-06 12:41:00 1024

原创 truncate操作导致DATA_OBJECT_ID改变

<br />oracle中一般情况下表的OBJECT_ID与DATA_OBJECT_ID是一致的。<br /> <br />但在truncate后表达DATA_OBJECT_ID会发生改变。利用这一特性可以判断表是否发生过truncate操作。<br />注:(DATABASE LINK,FUNCTION,PROCEDURE,SEQUENCE,VIEW)没有DATA_OBJECT_ID。<br /> <br />Connected to Oracle Database 11g Enterprise Edit

2011-04-04 18:37:00 1397

原创 空块检测与消除

<br />大量的insert与delete后,表中可能会留下空块。本文提供一个简单的方法,<br />能检测出表中块的数量大于表中记录数的方法,并消除这些空块,以提高效率。<br />前提是保证统计信息的准确。<br /> <br />Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 <br />Connected as costsharing<br /> <br />--1.收集统计信息<br />SQL> an

2011-04-02 16:45:00 736

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除