摘要:报出以下错误: 原因是控制文件和参数文件需要单独生成一个备份集,不能和数据库共用一个备份集,而在给数据文件指定备份集时又只指定一个单一的文件名,所以报了个文件已经存在的错误。 解决方法是在format里加一个%U,这样就会自动生成不同又唯一的文件名了。 控制文件之所以不能和数据文件共存于一个备份集是 阅读全文
RMAN备份时报“ORA-19504: failed to create file”和“ORA-27038: created file already exists”
2015-08-11 21:30 by abce, 8720 阅读, 0 推荐, 收藏,Oracle 12C -- 在相同的列的集合上创建多个索引
2015-08-11 14:12 by abce, 625 阅读, 0 推荐, 收藏,
摘要:在12C中,可以在相同的列的集合上创建多个索引,但是多个索引的类型要不同。同一时刻,只有一个是可见的。 阅读全文
Oracle 12C -- sequence的新特性
2015-08-11 13:51 by abce, 730 阅读, 0 推荐, 收藏,
摘要:如果使用了全局临时表和sequence,有时会遇到一些问题。因为全局临时表与会话(或会话中的事务)相关,而sequence与数据库级别相关。 在12C中,可以创建一个sequence,其使用范围只是针对一个给定的session。 --当全局临时表gtt在某个会话中被清空时(如commit),sequ 阅读全文
Oracle 12C -- 基于sequence的列的默认值
2015-08-11 11:19 by abce, 2270 阅读, 0 推荐, 收藏,
摘要:12C支持先创建一个sequence,然后再将该sequence指定为某个列的值的默认表达式。 和"identity column"具有以下不同点: ·对列的个数没有限制 ·sequence必须在列定义之前定义 ·如果删除了sequence,会导致后面的insert报错 ·表的owner,和使用者对 阅读全文
Oracle 12C -- Invisible Columns
2015-08-11 10:49 by abce, 967 阅读, 0 推荐, 收藏,
摘要:在12C中,当一个列被定义为"不可见"的时候,没有直接访问该列的sql语句是无法看到"不可见列"的,显式引用"不可见列"的语句是可以访问和操作该列的。 在create table、create view、alter view、alter table的时候,都可以创建"不可见列"。 比如以下的情形是无 阅读全文
Oracle 12C -- truncate的级联操作
2015-08-11 09:59 by abce, 1078 阅读, 0 推荐, 收藏,
摘要:在之前的版本中,存在外键约束时,无法直接truncate父表。在12C中,对truncate操作添加了级联操作特性。 前提是创建外键约束时,使用了"on delete casacde"。 测试脚本: 11gR2的测试结果: 12C的测试结果: 阅读全文
Oracle 12C -- Identity Columns(标识列)
2015-08-11 09:55 by abce, 2279 阅读, 0 推荐, 收藏,
摘要:Identity Columns很适合数据库中需要"surrogate keys"的场景。依赖sequence产生器,每行的标识列会被赋予一个自增或自减的值。缺省,标识列在创建的时候,会被被指定always选项,根据一个sequence来赋值。如果试图insert、update标识列的值都会报错。但 阅读全文
Oracle 12C -- 扩展varchar2、nvarchar2、和raw数据类型的大小限制
2015-08-10 16:59 by abce, 3052 阅读, 0 推荐, 收藏,
摘要:在12C中,varchar2,nvarchar2和raw类型从之前的4K扩展到32K 升级到12C后,参数max_string_size默认值是standard,即不改变varchar2、nvarchar2、和raw数据类型的大小限制,和11g保持一致。 开启"扩展数据类型"功能: 修改以后要执行以 阅读全文
Oracle 12C -- top-n查询新特性
2015-08-10 15:14 by abce, 765 阅读, 0 推荐, 收藏,
摘要:Oracle 12C -- top-n查询新特性在12C中,增加了一些新的特性。可以指定返回结果集的指定数量的行、或按照百分比返回行。 阅读全文
Oracle 12C -- native left outer join的加强
2015-08-10 14:37 by abce, 454 阅读, 0 推荐, 收藏,
摘要:在11g中SQL> select count(*) 2 from emp a, dept b, bonus c 3 where a.deptno(+) = b.deptno 4 and a.ename(+) = c.ename;where a.deptno(+) = b.deptno *ERROR 阅读全文