你可能啟動並執行是Oracle 10g Release 2資料庫伺服器,但是需要支援某些應用程式可能是很早之前寫好的。在Oracle 8i之前的版本建立的資料表常用LONG資料類型來儲存大型文本。 隨著Large Object(LOB)資料類型的引入,LONG和LONG RAW資料類型就被拋棄了。如果你要複製使用了LONG資料類型的資料表,那麼使用CREATE TABLE AS SELECT文法將不能完成任務,這時將會返回錯誤:ORA-00997: illegal use of LONG
在11g中,Oracle在統計資訊方面進行了進一步的增強。這篇介紹PENDING統計資訊。在10g中,Oracle提供了恢複統計資訊的方法,這使得統計資訊收集後造成的問題可以通過恢複原始統計資訊的方法快速解決。在11g中,Oracle更進了一步,使用者收集的統計可以設定為懸而未決的,等到統計資訊驗證過然後在發布到資料字典中。SQL> SELECT * FROM V$VERSION;BANNER-------------------------------------------------
檢查一個系統,意外探索資料庫的v$session_longops中時間遠遠超過了系統時間。查詢結果如下:[oracle@datasd ~]$ sqlplus / as sysdbaSQL*Plus: Release10.2.0.3.0 - Production on星期一12月20 14:57:04 2010Copyright (c) 1982, 2006, Oracle. All Rights Reserved.Connected to:Oracle
Oracle提供了WRAP工具,可以對預存程序進行加密,而在10g中,這個操作已經可以在資料庫中完成。Oracle的DBMS_DDL增加了一個WRAP函數,通過這個函數,就可以返回加密後的過程:SQL> select dbms_ddl.wrap('create procedure p_wrap as begin null; end;') from dual;DBMS_DDL.WRAP('CREATEPROCEDUREP_WRAPASBEGINNULL;END;')-------------
解決一個客戶效能問題的時候,碰到一個有意思的SQL語句。首先建立一個測試環境:SQL> CREATE TABLE T AS SELECT ROWNUM ID, A.* FROM DBA_OBJECTS A, DBA_QUEUES B;Table created.SQL> ALTER TABLE T ADD CONSTRAINT PK_T PRIMARY KEY (ID);Table altered.SQL> CREATE INDEX IND_T_TYPE ON
為了測試在同一台伺服器上建立了DATA GUARD環境。主庫狀態正常,也存在可用的備份,下面設定主庫的FORCE LOGGING和相關的初始化參數:SQL> alter database force logging;Database altered.修改主庫的初始化參數:SQL> alter system set log_archive_config = 'DG_CONFIG=(primary,standby)';System altered.SQL> alter