ORA-01455报错的问题探究
昨天同事说有个应用执行某个特殊操作时会报:ORA-01455: converting column overflows integer datatype网上包括MOS上对1455报错介绍更多的是在做exp导出时可能出现这个问题。1087122.1介绍:“当创建使用初始值超过10位的序列时,可能会出现如下问题:ORA-01455: converting column overflows Integ...
两种闪回查询的使用实验
SQL>select * from test;12一、按照SCN进行恢复SQL>select * from sys.smon_scn_time order by time_dp desc;30970780scn 与时间的对应关系:每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入sys.smon_scn_time表SQL>delete from test;SQL>select * from test as of s...
《Oracle性能优化求生指南》-第四章:数据库逻辑设计和物理设计-学习小结-1
1、建立逻辑数据模型为第一阶段,包括对应用程序需要处理和存储的信息进行建模,并确保所有必要的数据都能够正确、完整且无歧义地表示。在关系数据库的实现中,这通常是指构造一个标准化的实体-关系(E-R)模型。2、将逻辑数据模型映射为物理数据模型为第二阶段。对关系数据库来讲,物理数据模型描述的是表、索引...
主外键关联删除(on delete set null和on delete cascade)
主外键关联,当删除的是父表数据,参照这些要删除的数据,Oracle有三种处理方式:1、禁止删除,也是Oracle默认方法。2、将参照要删除数据的子表对应数据置空。3、将参照要删除数据的子表对应数据删除。对于1,比较容易理解,不解释。对于2,需要使用on delete set null建立外键约束。实验:...
LOB字段相关概念(自动创建LOB索引段和重建索引方法)
LOBs,或Large Objects字段,是Oracle中用于处理存储非字符数据推荐的一种字段类型,例如mp3,video,图片,和long字符串数据。二进制大对象,或BLOBs,字符大对象,或CLOBs,能够存储TB的数据。LOB列有许多相关的属性,每个LOB列属性可以使用“LOB (lobcolname) STORE AS ...”这种语法来描述。一个包...
JDBC连接各种数据库的字符串
[转自http://www.cnblogs.com/gulvzhe/archive/2012/08/24/2653867.html]JDBC连接各种数据库的字符串大同小异,在此总结一下,备忘。oracle driverClass:oracle.jdbc.driver.OracleDriver url:jdbc:oracle:thin:@127.0.0.1:1521:dbnamemysql driverClass:com.mysql...
Linux下设置Oracle自启动
测试机总是断电,导致重启后Oracle不自动重启,需要手工操作,因此可以设置成自启动模式。操作系统:Linux数据库:Oracle 10g1、vi /etc/oratab找到bisal:/opt/oracle/102:N,将N设为Y。文件的注释:# This file is used by ORACLE utilities. It is created by root.sh# and ...
SYS.AUD$无法扩容导致无法登录的问题
昨天同事说有个测试库无法登录了,用PLSQL Developer登陆后提示:ERROR:ORA-00604: error occurred at recursive SQL level 1ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEMORA-02002: error while writing to audit trailORA-00604: error occurred at recursive SQL level 1ORA-0...
ORA-01034错误
今天同事说有台机器由于假期停电,重启机器后,用PLSQL登录报:ORA-01034: ORACLE not availableORA-27101: shared memory realm does not existLinux_x86_64 Error: 2: No such file or directory的错误。网上也有很多对这个报错的说法:启动的Oracle的时侯; 试图创建数据库的时侯; ...
使用dbms_stat采集统计信息时estimate_percent和cascade的默认值
收集统计信息可以用dbms_stats包,通常用这样的语法:exec dbms_stat.gather_table_stats(ownname=>'xxx', tabname=>'xxx', estimate_percent=>xxx, method_opt=>'xxx', cascade=>xxx);其中estimate_percent表示选择的采样比例,如果太低,收集速度会快,但可能不会很准确,如果太高,收集速度会慢,但比较准确...
ORA-28000账户被锁和解锁
今天测试库有个账户的密码忘了,试了十几次就开始提示:ERROR:ORA-28000: the account is locked意思明显就是账户被锁了,可能是用户的资源设置中对密码重试次数做了限制。验证:SQL> select a.username, b.profile, b.resource_name, b.limit 2 from dba_users a, dba_profiles b&nb...
ORA-1555经典的错误
现象:应用的夜维从夜里00:00开始执行,但因为hang的原因(暂时猜测为夜维处理的某条数据和当前应用正常处理的某条数据相同,出现前后等待同一资源锁的现象),直到第二天白天09:25左右才继续执行,但此时应用日志记录:snapshot too old: rollback segment number 29 with name "_SYSSMU29$" too small原...
2013年总结
在写这篇博客的时候,2013还剩一分钟了,外面众人倒数计时的喧闹声,持续的汽车喇叭声,这一年经历了很多,有顺的,也有不顺的,有骄傲,也有挫败,些许感想只有自己才能体会到。年初投入了公司新一代的系统运维支持中,以前总是做合约化,这项工作的确比较陌生,开始也非常抵触,毕竟是陌生的项目,陌生的同事。...
读书笔记-《基于Oracle的SQL优化》-第二章-1
第二章:Oracle里的执行计划2.1 什么是执行计划Oracle用来执行目标SQL语句的这些步骤的组合就被称为执行计划。执行计划可以分为如下三个部分:1、目标SQL的正文、SQL ID和其执行计划所对应的的PLAN HASH VALUE。2、执行计划的主体部分。可以看到Oracle在执行目标SQL时所用的内部执行步骤,这些步...
OCP考试时间和及格线
exp/imp导入导出版本问题和ORA-6550报错
前几天有位同事问到exp/imp是否涉及到版本问题,我认为,只要是软件,都会涉及到高低版本的兼容性问题,Oracle也是软件,自然也是这样。简单的实验:exp工具版本:10g导出的source数据库版本:9ibash-4.1$ exp x/x@x tables=T file=/home/x/t.dmpExport: Release 10.2.0.4.0 - Production on Wed Dec 11 15:17:0...
读书笔记-《基于Oracle的SQL优化》-第一章-3
优化器:1、优化器的模式:用于决定在Oracle中解析目标SQL时所用优化器的类型,以及决定当使用CBO时计算成本值的侧重点。这里的“侧重点”是指当使用CBO来计算目标SQL各条执行路径的成本值时,计算成本值的方法会随着优化器模式的不同而不同。Oracle中,优化器的模式是由参数OPTIMIZER_MODE的值来决定的。...
再次明确Oracle插入与读取的顺序问题
今天老婆问到一个问题:Oracle中,插入多条记录后,读的时候如果不用Order by,那顺序是如何?如果中间涉及UPDATE和DELETE,是否有影响?这个其实之前总结过这个问题,但确实感觉没有深刻理解,才导致不是十分确定,看来还是方法上要改进。之前总结的:http://blog.csdn.net/bisal/article/details/9...
ORA-60死锁的实验
ORA-60死锁的实验创建表:SQL> create table tbl_ora_60 ( id number(5), name varchar2(5) );SQL> insert into tbl_ora_60 values(1, 'a');1 row created.SQL> insert into tbl_ora_60 values(2, 'b');1 row created.SQ...
读书笔记-《基于Oracle的SQL优化》-第一章-2
CBO优化器的基本概念:可传递性:1、简单谓词传递t1.c1=t2.c1 and t1.c1=10,Oracle会自动将t2.c1=10的条件添加。2、连接谓词传递t1.c1=t2.c1 and t2.c1=t3.c1,Oracle会自动将t1.c1=t3.c1的条件添加。3、外连接谓词传递t1.c1=t2.c1(+) and t1.c1=10,Oracle会自动将t2.c1(+)=10的条...