EXPDP和IMPDP使用说明
摘要:Oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中. 数据泵导出导入(EXPDP和IMPDP)的作用 1,实现逻辑备份和逻辑恢复. 2,在数据库用户之间移动对象. 3,在数据库之间移动对象 4,实现表空间搬移. 数据泵导出导入与传统导出导入的区别 在10g之前,传统的导出和导...
阅读全文
posted @
2009-02-27 15:02
一江水
阅读(7126)
推荐(0) 编辑
ROWID的含义与块地址rdba深入分析
摘要:Oracle 8以下ROWID组成(也叫受限Rowid)为:FFFF.BBBBBBBB.RRRR,占用6个字节(10bit file#+22bit+16bit),但是,为了扩充的需要,如数据文件的扩充,现在的Rowid改为:OOOOOOFFFBBBBBBRRR,占用10个字节(32bit+10bit rfile#+22bit+16bit)。其中,O是对象ID,F是文件ID,B是块ID,R是行ID。...
阅读全文
posted @
2009-02-13 10:59
一江水
阅读(1822)
推荐(0) 编辑
ORA-04091错误解决
摘要:http://asktom.oracle.com/tkyte/Mutate/index.html Avoiding Mutating Tables Ok, so you've just recieved the error: ORA-04091: table XXXX is mutating, trigger/function may not see it and you want to get ...
阅读全文
posted @
2009-02-12 18:03
一江水
阅读(4021)
推荐(0) 编辑
insert 中的append
摘要:--1 append只在insert … select …中起作用,像insert /*+ append */ into t values(…)这类的语句是不起作用的。在update、delete操作中,append也不起作用。 --2 append会使数据库不记录直接路径导入的数据的重做日志,会对恢复带来麻烦。 --3 append直接在表段的高水位线以上写数据,不会重用高水位线以下的空间,会对...
阅读全文
posted @
2009-02-11 11:36
一江水
阅读(1324)
推荐(0) 编辑
insert append需要注意的一个小问题
摘要:用insert append可以实现直接路径加载,速度比常规加载方式快。但有一点需要注意: insert append时在表上加“6”类型的锁,会阻塞表上的所有DML语句。因此在有业务运行的情况下要慎重使用。若同时执行多个insert append对同一个表并行加载数据,并不一定会提高速度。因为每一时刻只能有一个进程在加载(排它锁造成)。 SQL> create table test as se...
阅读全文
posted @
2009-02-11 11:35
一江水
阅读(2342)
推荐(0) 编辑
Oracle Direct-Path Insert学习笔记
摘要:http://www.blogjava.net/fjpan2002/archive/2006/11/14/81051.aspx (1)、Oracle插入数据有两种方式: a、常规插入:重新使用table中的自由空间,在已有数据中插入新数据;维护引用完整性约束。 b、Direct-Path插入:在表中已有数据之后插入新数据;数据直接插入数据文件,绕过buffer cache;已有数据中的自由空间没...
阅读全文
posted @
2009-02-11 11:20
一江水
阅读(3063)
推荐(0) 编辑
关于insert /*+ append*/ 各种insert插入速度比较
摘要:SQL> select count(*) from t; COUNT(*) ---------- 5442048 **************************** SQL> alter table t1 nologging; SQL> insert /*+append*/ into t1 2 select * from t; 5442048 rows created. Elapsed: 0...
阅读全文
posted @
2009-02-11 11:18
一江水
阅读(24671)
推荐(1) 编辑
不管表是否处于nologging下,direct insert 都不会对数据产生 UNDO
摘要:http://blog.csdn.net/jat_chipmore/archive/2008/11/27/3391402.aspx 从理论上来说,对于 direct insert 的 undo (rowid)实在没有存在的必要 因为HWM 在移动的过程中,这些block是不能被其他process使用的,那么,意味着,只要记录下该次direct insert所涉及到的 空间的redo 和 undo ...
阅读全文
posted @
2009-02-11 11:11
一江水
阅读(1767)
推荐(0) 编辑
总结一下ASM的磁盘创建过程
摘要:http://space.itpub.net/12361284/viewspace-65136 总结一下ASM的磁盘创建过程 此次实验是基于CentOS 4.6系统的实验, 1.首先,我需要在Oracle的网站上download的一些ASM的lib包 http://www.oracle.com/technology/tech/linux/asmlib/install.html 因为自己实验的环境是...
阅读全文
posted @
2009-02-10 11:19
一江水
阅读(5594)
推荐(0) 编辑
Oracle 10G RAC下OCR和Voting disk的管理
摘要:http://space.itpub.net/370491/viewspace-234468 Voting disk(表决磁盘方面): Voting disk记录节点成员信息,如包含哪些节点成员、节点的添加删除信息记录,大小为20MB 查看voting disk位置:crsctl query css votedisk $ crsctl query css votedisk 0. ...
阅读全文
posted @
2009-02-06 16:08
一江水
阅读(3242)
推荐(0) 编辑
把对象PIN到内存中
摘要:一、安装dbms_shared_pool包 connect SYS AS SYSDBA @?/rdbms/admin/dbmspool.sql @?/rdbms/admin/prvtpool.plb 二、查找内存大于**K的对象 set serveroutput on size 5000 exec dbms_shared_pool.size(500); 三、把对象PIN到共享池 exec dbm...
阅读全文
posted @
2009-02-05 17:59
一江水
阅读(649)
推荐(0) 编辑
Oracle Online 创建索引失败, ORA-08104
摘要:http://space.zdnet.com.cn/html/81/289381-1143194.html Oracle Online 创建索引失败, ORA-08104 通过 ONLINE 参数创建索引(或者重建索引), 如果进程被突然终止,或者是手工 CTRL+C 取消该操作, 在非常个别的时候,麻烦来了。重新创建索引,会告诉你该索引已经存在,drop index ,会告诉你该索引被锁,或...
阅读全文
posted @
2009-02-05 17:53
一江水
阅读(6308)
推荐(0) 编辑
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
摘要:解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程 昨天开发人员跟我说,执行一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。 分析过程: 既然是temp表空间有问题,那当然...
阅读全文
posted @
2009-02-05 13:52
一江水
阅读(52348)
推荐(1) 编辑
Oracle 9i和10g在create index和rebuild index的统计信息的区别
摘要:http://rdc.taobao.com/blog/dba/html/192_differencts_for_statistics_create_or_rebuild_index_9i_10g.html 在9.2.0.6和10.2.0.4做了个小小的试验,演示9i和10g对于create index和rebuild index时统计信息的区别。这里列出试验的过程,由于结果比较明显,就懒得写太多文...
阅读全文
posted @
2009-02-05 13:05
一江水
阅读(1716)
推荐(0) 编辑
rebuild index online的锁机制浅析
摘要:一般都说,rebuild index online不阻塞DML操作,这是相对于rebuild index来说的,加上了online,只是在rebuild的期间不阻塞DML,但是在开始和结束阶段还是可能阻塞其他进程的DML的,要弄清楚到底是阻塞还是不阻塞,何处阻塞,为什么阻塞,还是要从锁的角度来分析。本文实验环境为Oracle 10.2.0.4。 Oracle中的锁,一共有6两种模式: 0:none...
阅读全文
posted @
2009-02-05 10:53
一江水
阅读(977)
推荐(0) 编辑
oracle的几个使用技巧
摘要:作者:刘颖博 收集整理 时间:2004年4月29日 转载请注明出处,谢谢! 1.找出无用索引: DML 性能低下,其中最严重的原因之一是无用索引的存在。所有SQL的插入,更新和删除操作在它们需要在每一行数据被改变时修改大量索引的时候会变得更慢。许多Oracle 管理人员只要看见在一个SQL 查询的WHERE语句出现了一列的话就会为它分配索引。虽然这个方法能够让SQL运行得更快速,但是基于功能的...
阅读全文
posted @
2009-02-05 10:43
一江水
阅读(764)
推荐(0) 编辑
估计创建索引需要的排序空间数量
摘要:表 T 3765888 rows 准备在2个字段上建立索引(object_type,object_name) ,分析过后从user_tab_columns中获得平均列长度的统计信息 avg_row_len object_name 23 avg_row_len object_type 8 9i得utlxpls虽然能够估计查询使用的临时表空间,但是仍然不能估计创建索引所需要的临时表空间数量,...
阅读全文
posted @
2009-02-02 15:52
一江水
阅读(719)
推荐(0) 编辑
在Oracle数据库中按用户名重建索引的方法
摘要:如果你管理的Oracle数据库下某些应用项目有大量的修改删除操作, 数据索引是需要周期性的重建的. 它不仅可以提高查询性能, 还能增加索引表空间空闲空间大小. 在ORACLE里大量删除记录后, 表和索引里占用的数据块空间并没有释放. 重建索引可以释放已删除记录索引占用的数据块空间. 转移数据, 重命名的方法可以重新组织表里的数据. 下面是可以按ORACLE用户名生成重建索引的SQL脚本:...
阅读全文
posted @
2009-02-02 14:04
一江水
阅读(904)
推荐(0) 编辑
Oracle中有关Latch的介绍
摘要:本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁吗?只是翻译不同而以?研究过后才知道两者有很大的区别。 Latch是Oracle提供的轻量级锁资源,他用于快速,短时间的锁定资源,防止多个并发进程同时修改访问某个共享资源,他只工作在内存中,我们可以不大准确的说,内存中资源的锁叫lat...
阅读全文
posted @
2009-02-02 10:47
一江水
阅读(863)
推荐(0) 编辑
观察analyze table compute statistics 都对什么对象统计了信息
摘要:analyze table compute statistics = analyze table compute statistics for table for all indexes for all columns; 比analyze table compute statistics for table for all indexes for all indexed columns 分析了更多...
阅读全文
posted @
2009-02-01 23:09
一江水
阅读(7172)
推荐(0) 编辑
analyze index時,validate structure和compute statistics的區別?
摘要:validate structure和compute statistics的區別? analyze index index1 validate structure: analyze index index1 compute statistics: 在分析索引的時候,一般會用到以上二個命令,那么這二個命令是用來干嘛呢? analyze index index1 validate structur...
阅读全文
posted @
2009-02-01 23:08
一江水
阅读(1341)
推荐(0) 编辑
什么样的index需要rebuild?
摘要:什么样的index需要rebuild? 当一个table经常进行DML操作时,它的索引会存在许多block空间的浪费,这是因为index block中的记录只有在全部表示为不可用时, block 才能被加入到freelist中去被重新利用。所以我们需要寻找那些浪费空间很严重的index。 方法是: 1) analyze index index_name validate structur...
阅读全文
posted @
2009-02-01 23:06
一江水
阅读(884)
推荐(0) 编辑
oracle v$lock.type
摘要:如下v$lock.type是10.1的,但大多数应该适应于10.1以下版本,特别是9.2版本。记录一下,以备后用了。 The following table shows the 138 lock types that are reported by V$LOCK_TYPE in Oracle 10.1: ...
阅读全文
posted @
2009-02-01 00:58
一江水
阅读(4198)
推荐(0) 编辑
用Shrink Space收缩Oracle数据段
摘要:在oracle中可以使用alter table table_name shrink space收缩表,使用shrink有两个前提条件: 1、表必须启用row movement 2、表段所在表空间的段空间管理(segment space management)必须为auto 实验如下: --建立一个segment space management auto表空间 SQL> create ta...
阅读全文
posted @
2009-02-01 00:16
一江水
阅读(6445)
推荐(0) 编辑
Shrink space合并表的碎片
摘要:一般表里有碎片我们都采用alter table table_name move tablespace_name,或者exp,drop table table_name,imp的2种方式10G给我们其他的方法.下面我来试一吧 C:\Documents and Settings\Administrator>sqlplus greatfinish/finish SQL*Plus: Release ...
阅读全文
posted @
2009-02-01 00:10
一江水
阅读(6016)
推荐(0) 编辑
shrinks a LOB segment
摘要:shrinks a LOB segment http://www.itpub.net/thread-1034679-1-1.html 在oracle10G中,如果表的内容被删除后想回收使用空间和降低HWM,我们可以通过shrink的方式在线完成. 那么如果表中有LOB字段时,也可以做吗?答案是肯定的,当然可以. 我们可以通过两种方法来做.一种是可以通过普通的alter table shrink ...
阅读全文
posted @
2009-02-01 00:06
一江水
阅读(1323)
推荐(0) 编辑