先看几个小但功能强大的新特性
1.SET FEEDBACK ON SQL_ID启用SQL_ID时后,在执行完一个SQL语句时,会自动的显示这个语句SQL_ID,SQL_ID在定位问题和优化时非常有用
SQL> SET FEEDBACK ON SQL_ID
SQL> SELECT * FROM DUAL;
D
-
X
1 row selected.
SQL_ID: a5ks9fhw2v9s1
SQL> COLUMN sql_text FORMAT a50
SQL> SELECT sql_text FROM v$sql WHERE sql_id ='&_sql_id';
SQL_TEXT
-----------------------------------------------------
SELECT * FROM DUAL
1 row selected.
SQL_ID: cf9bgxbfytv5b
2.OPTIMIZER_IGNORE_HINTS,OPTIMIZER_IGNORE_PARALLEL_HINTS
这两个初始化参数很有用。你可能会碰到由于HINT造成的各种性能问题,眼睁睁的看着,但没有办法修改。现在有了这个利器,你就偷着乐吧
3.ALTER SYSTEM CANCEL SQL
通过这个命令可以取消当前执行的查询语句,如果是DML语句,事务会回滚。可用于终止脱缰的SQL语句,这个很不错
ALTER SYSTEM CANCEL SQL 'SID, SERIAL, @INST_ID, SQL_ID';
ALTER SYSTEM CANCEL SQL '20, 51142, 8vu7s907prbgr';
4.Scalable Sequences
可伸缩序列。有了这个新特性,在大规模并发的环境下可以大大减少了序列和索引块的争用,尤其序列作为表的主键时。下面是创建语句的样本
CREATE | ALTER SEQUENCE sequence_name
...
SCALE [EXTEND | NOEXTEND] |NOSCALE
...
5.Private Temporary Table
私有临时表。只在内存中存在,是临时对象,在只读的数据库上使用非常方便,比如在Oracle Active Data Guard环境下