昨天一個朋友問我如何監測一個PL/SQL的健全狀態,這裡簡單介紹幾種方法。介紹專業一點的DBMS_APPLICATION_INFO包。上一篇介紹了通過INSERT和自治事務的解決方案,方法很簡單,但是需要輔助的表和過程,而且這種方法顯得有點不夠專業。那麼這裡介紹一篇相對PROFESSIONAL的解決方案,Oracle提供的DBMS_APPLICATION_INFO包:SQL> SELECT SID, ACTION2 FROM V$SESSION3 WHERE
os認證oracle安裝之後預設情況下是啟用了伺服器端os認證。也就是將登入資料庫的使用者和口令校正放在了作業系統一級,你擁有了安裝oracle時的使用者作業系統的認證,預設也就擁有了sys使用者的認證。此時你以sysdba角色登陸的話是不用校正使用者名稱和密碼。以任何使用者名稱和密碼都能登陸成功。SQL> connect / as sysdba已串連。SQL> connect sdfd/sds as sysdba已串連。SQL> show userUSER 為
分區索引就是在所有每個區上單獨建立索引,它能自動維護,在drop或truncate某個分區時不影響該索引的其他分區索引的使用,也就是索引不會失效,維護起來比較方便,但是在查詢效能稍微有點影響。建立分區索引:create index idx_ta_c2 on ta(c2) local (partition p1,partition p2,partition p3,partition p4);或者 create index idx_ta_c2 on ta(c2) local ;另外在create
create or replace procedure SYSRINGALL_TEST isall_tmp_name char(30);all_name char(30);beginif all_tmp_name is null thenselect 'ring_all_old_'||to_char(sysdate,'yyyymm')||'_tmp' into all_tmp_name from dual;end if;if all_name is null thenselect
物化視圖的重新整理其實和普通的SQL執行沒有什麼本質的區別,因此也可以通過在物化視圖上建立觸發器的方式,對重新整理操作進行定製。正好前兩天有人在BLOG上問我,如果在物化視圖添加一個時間戳記列,並在物化視圖更新的時候,自動維護這個列。其實很簡單,通過觸發器就可以達到這個目的:SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, NAME VARCHAR2(30));表已建立。SQL> INSERT INTO T SELECT ROWNUM,
在11gr2中,Oracle分析函數的功能進一步增強。這篇介紹新增的分析函數LISTAGG。11gr2還新增了一個分析函數LISTAGG,這個函數的功能實現字串的串連在11gr2中,Oracle終於實現了這個分析函數:SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle