【脚本编辑】每一千行UPDATE语句后插入一条COMMIT语句的编辑方法
提问:如何在一个具有几万行update语句的脚本中实现每1000条SQL语句后面输入一个“commit;”语句?思考时间……继续思考…………几种方法,抛砖在此,待玉到来。1.如果喜欢使用Vi的朋友可以尝试如下命令:%s/\v(.*\n)...
【TRUNCATE】在有外键参照的表上无法使用TRUNCATE完成数据清理(ORA-02266)
众所周知,使用TRUNCATE方法可以非常快速的完成数据清理的任务,但在具有外键参照的表上不可以简简单单的完成TRUNCATE的任务。在具有外键参照的表上完成TRUNCATE操作会收到报错信息“ORA-02266: unique/primary keys...
【NULL】Where子句中=1 与!=1UNION后的结果是全集么?——NULL小伙惹的祸
与“NULL小伙”有关的趣闻很多,有兴趣的朋友可以先看一下这个文章热热身。《【问题处理】“NOT IN”与“NULL”的邂逅》(http://space.itpub.net/519536/viewspace-627169)1.创建测试表T并初始化三条数据...
【警惕】强化关联更新时where子句范围限定意识
如果在关联更新的过程中没有给出where自己进行限制,后果是什么样的呢?如果没有思考过和实践过和吃过亏的朋友们要提高警惕了。注意,在关联更新时,一定要制定更新的范围,否则后果不堪设想,也许您会因此从梦...
【TABLESPACE】使用 CASCADE CONSTRAINTS选项删除表空间时对数据库对象影响的探查
今天有朋友问到这样一个问题,带有“CASCADE CONSTRAINTS”关键字的DROP TABLESPACE命令是否会把与之关联的表一同删除?从字面上理解,该选项应该可以将对应的约束删除,那么,带有“on delete cascade”性...
【问题处理】通过调整数据文件的位置解决磁盘空间紧张的问题
最近测试环境的数据库的空间暴涨,导致原有的硬盘难以支撑。为缓解之,遂欲调整较大的数据文件到空间较大的磁盘。简单记录一下,供参考。本文中采用的是对系统影响相对较小的方法进行调整。整体处理过程主要分5步:1...
【crontab】告诉你一个小秘密:我“偶尔”只认“硬件时钟”!
今天在遇到了一个“灵异”问题,无论我如何调试,被定制的crontab定时任务就是不在我“指定的时间”运行。发生该问题的操作系统是RHEL5.1。[root@secDB ~]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server...
【IMPDP】使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查
今天在使用IMPDP完成数据导入的过程中遇到“ORA-39002、ORA-39070……”连续报错。导致问题原因很简单,但是提示的错误信息内容比较“诡异”,为了朋友们少走弯路,简单记录一下这个问题的处理过程。1.问题再现sec@s...
【Quota】获取及调整用户表空间配额方法
Oracle可以使用配额(Quota)这个概念对用户所使用的表空间进行限制。如果不同用户共同使用同一个表空间,可以使用这种方法可以有效地限制每个用户对该表空间的使用。可以使用视图USER_TS_QUOTAS视图获取用户对表空...
【恢复】非归档模式下因误删除数据文件导致数据库无法OPEN的故障处理
模拟一下这个数据库故障,同时给出一个“简单”的恢复处理过程。1.查询获得TBS_SEC_D表空间对应的数据文件信息sys@ora10g> col FILE_NAME for a40sys@ora10g> select FILE_NAME,FILE_ID,STATUS from dba_data_files ...
【LOB】使用USER_LOBS视图获得当前用户包含LOB字段的表
包含LOB类型字段的表往往需要特殊关照,如何快速的获得包含LOB对象的数据库表?使用DBA_LOBS、ALL_LOBS和USER_LOBS视图可以很方便地获得包含BLOB或CLOB字段的表。简单看一下效果。1.创建两个包含LOB类型字段的表T1和...
【LOCK】11g中允许DDL锁等待DML锁
11g中使用DDL_LOCK_TIMEOUT参数可以允许DDL锁等待DML锁,在这个技术没有被引入的时候,DDL操作将不等待DML操作,直接给出“ORA-00054”报错信息。1.创建测试表Tsec@11gR2> create table t (x number);Table created....
【临时表空间】11g中使用 SHRINK方法缩小临时表空间和临时文件(续)
在文章《【临时表空间】11g中使用 SHRINK方法缩小临时表空间和临时文件》(http://space.itpub.net/519536/viewspace-662833)中介绍了包含一个临时文件的临时表空间的SHRINK方法,如果临时表空间包含多个临时文件,...
【临时表空间】11g中使用 SHRINK方法缩小临时表空间和临时文件
曾经介绍过的常规缩小临时表空间的方法,请参考如下文章。《【实验】重建临时表空间解决临时表空间过大问题》http://space.itpub.net/519536/viewspace-607567《【实验】RESIZE方法解决临时表空间过大问题》http://s...
【SQL】时间递增的两种方法
经常被问到:如何对现有的日期字段增加一秒钟、增加一分钟、增加一小时、增加一天等。这里给出两种方法,供参考。1.增加一秒钟sec@ora10g> select to_date('20100514000000','yyyymmddhh24miss'),to_date('201005140...
【SQL】实现每隔一分钟插入一条数据
需求:如何简单的在一张表中瞬间初始化好一连续数据,规则为时间间隔为一分钟的的DATE类型数据。我们使用层次查询技术来完成这个貌似很“复杂”的需求。1.创建测试表T,仅包含一个时间字段TIMEsec@ora10g> creat...
【IMPDP】使用 TRANSFORM选项去掉表空间和存储子句
使用IMPDP工具完成数据导入时,会按照dump文件中有关的存储的参数信息完成数据的导入。很多情况下我们希望按照被导入用户的默认参数完成数据的导入,此时我们可以使用IMPDP的TRANSFORM参数辅助完成。1.IMPDP的TRANSF...
【故障处理】ORA- 2730*,status 12故障分析与处理
今天有朋友在AIX操作系统上的10g数据库环境中遭遇了ORA-2730*一系列错误。导致系统使用一段时间后就无法连接,客户端亦无法登陆,服务器端也无法提交任何命令。最后使用简单的“重启数据库”方法暂时处理了这个问题...
【VIRTUAL COLUMN】Oracle 11g中的虚拟列技术
Oracle在11g中推出了虚拟列的技术,虚拟列的数据并没有被被保存在数据文件中,而是在使用的过程中计算得到的。简单看一下这个技术。1.创建测试表T,并初始化一条数据sec@11gR2> create table t (x varchar2(8));Tabl...
【TABLE】11g中只读表(Read-only Table)技术特性
Oracle 11g中可以将一个表从普通表修改为只读表,在这种只读状态下,表的操作被限制,具体的限制如下:不允许增删改DML操作;不允许select ... for update悲观锁定;不允许影响只读表T数据的DDL操作;允许索引操作。...