摘要: Oracle 11g 允许将索引标记为invisible. oracle像维护其他索引一样维护invisible index,但是默认invisible index不能被优化器使用,除非显式设置 OPTIMIZER_USE_INVISIBLE_INDEXES=TRUE(可以alter system/session).可以在创建索引的时候指定 INVISIBLE关键字或 ALTER INDEX命令来invisible一个索引。CREATE INDEX idx_name on table_name(column_name) INVISIBLE;ALTER INDEX idx_name INVISI 阅读全文
posted @ 2013-04-11 11:25 码尔代夫iimax 阅读(960) 评论(0) 推荐(0) 编辑
摘要: Merging Partitions使用ALTER TABLE .. MERGE PARTITION语句将两个分区的内容合并到另外一个分区,两个源分区和关联的local index都会被drop 不能用于 hash分区表或hash subpartitions of a composite *-hash partitioned table 不能用于合并引用分区表(reference-partitioned table)合并范围分区 允许合并两个临近范围的分区到另外分区,不相邻分区无法合并。合并结果分区继承两个源分区的最大边界。demo:-- Create a Table with four... 阅读全文
posted @ 2013-04-11 11:05 码尔代夫iimax 阅读(4631) 评论(2) 推荐(0) 编辑
摘要: You are using Recovery Manager (RMAN) with a recovery catalog to back up your production database.The backups and the archived redo log files are copied to a tape drive on a daily basis. Because of media failure, youlost your production database completely along with the recovery catalog database. Y 阅读全文
posted @ 2013-04-10 22:56 码尔代夫iimax 阅读(2237) 评论(0) 推荐(0) 编辑
摘要: SQL> create tablespace FDA1 datafile '/s01/app/oracle/oradata/DB11G/FDA01.dbf' size 50M;Tablespace created.SQL> create flashback archive fla1 tablespace FDA1 retention 1 MONTH;Flashback archive created.SQL> col FLASHBACK_ARCHIVE_NAME for a30SQL> select FLASHBACK_ARCHIVE_NAME,stat 阅读全文
posted @ 2013-04-10 10:56 码尔代夫iimax 阅读(224) 评论(0) 推荐(0) 编辑
摘要: Oracle的在线重定义表功能在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。在线重定义表具有以下功能:修改表的存储参数;可以将表转移到其他表空间;增加并行查询选项;增加或删除分区;重建表以减少碎片;将堆表改为索引组织表或相反的操作;增加或删除一 阅读全文
posted @ 2013-04-05 15:47 码尔代夫iimax 阅读(4319) 评论(0) 推荐(0) 编辑
摘要: 上午在红帽5上安装ORACLE成功。建库的时候特意未启用归档模式。SQL> select name,open_mode,log_mode from v$database;NAME OPEN_MODE LOG_MODE--------- -------------------- ------------SZPDCORA READ WRITE NOARCHIVELOGSQL> archive log listDatabase log mode No Archive ModeAutomatic archival ... 阅读全文
posted @ 2012-09-28 17:22 码尔代夫iimax 阅读(513) 评论(0) 推荐(1) 编辑
摘要: 在Oracle数据库中,关于约束的状态有下面两个参数: initially (initially immediate 或 initially deferred) deferrable(deferrable 或 not deferrable) 第1个参数,指定默认情况下,约束的验证时刻(在事务每条子句结束时,还是在整个事务结束时)。 第2个参数,指定了在事务中,是否可以改变上一条参数的设置。 如果不指定上述参数,默认设置是 initially immediate not deferrable。 注意:如果约束是not deferrable,那么它只能是initially immediate,而不 阅读全文
posted @ 2012-09-11 17:15 码尔代夫iimax 阅读(556) 评论(0) 推荐(0) 编辑
摘要: GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。1、在ROLLUP中对单列使用GROUPING()SQL> select division_id,sum(salary)2 from employees23 group by rollup(division_id)4 order by division_id;DIV SUM(SALARY)--- -----------BUS 1610000O 阅读全文
posted @ 2012-09-11 17:10 码尔代夫iimax 阅读(694) 评论(0) 推荐(0) 编辑
摘要: OCA SQL试题Evaluate the following statements: CREATE TABLE digits (id NUMBER(2), description VARCHAR2(15)); INSERT INTO digits VALUES (1,'ONE'); UPDATE digits SET description ='TWO' WHERE id=1; INSERT INTO digits VALUES (2,'TWO'); COMMIT; DELETE FROM digits; SELECT description 阅读全文
posted @ 2012-09-11 16:41 码尔代夫iimax 阅读(5687) 评论(0) 推荐(0) 编辑
摘要: insert into (<select clause> WITH CHECK OPTION) values (...)例如:SQL> insert into (select object_id,object_name,object_type from xxx where object_id<1000 WITH CHECK OPTION)2 values(999,'testbyhao','testtype');这样的语法看起来很特殊,其实是insert进subquery里的这张表里,只不过如果不满足subquery里的where条件的话, 阅读全文
posted @ 2012-09-10 16:47 码尔代夫iimax 阅读(3446) 评论(1) 推荐(2) 编辑