Oracle常見系統包及常用方法
一、dbms_metadata.get_ddl:產生資料庫物件的ddl資訊:
二、dbms_stats用於搜集,查看,修改資料庫物件的最佳化統計資訊.
exec dbms_stats.gather_schema_stats('stud');
exec dbms_stats.gather_index_stats('stud','emp_idx');
三、DBMS_OUTPUT:用於輸入和輸出資訊
首先,使用DBMS_OUTPUT.ENABLE啟用本包,如果沒有被啟用,將無法調用本包的其它其餘過程和函數。
但如果在SQL*PLUS中使用SERVEROUTPUT選項,則沒有必要使用該過程。
四、DBMS_JOB:用於安排和管理作業隊列,通過使用作業,可以使Oracle資料庫定期執行特定的任務
設定任務使用dbms_job.submit(job out int,what in varchar2 next_date in date,interval)
五、DBMS_UTILITY :在過程中執行ddl語句,或者取得資料庫各對象之間依賴關係
執行ddl語句
六、DBMS_DDL:提供了在PL/SQL塊重新編譯過程、函數和包(alter_complie),以及分析表、索引、簇並產生統計資料(analyze_object)的方法。
七、UTL_INADDR:用於取得主機名稱和ip地址
用於取得指定主機所對應的ip地址:select utl_inaddr.get_host_address('sjz06') ip from dual;
八、DBMS_RANDOM:提供了內建的隨機數產生器,可以用於快速產生隨機數
九、UTL_FILE:提供了在作業系統層面上對檔案系統中檔案的讀寫功能
在引用檔案的時候,要使用到一個檔案控制代碼,來表示對檔案的讀或寫。檔案控制代碼是通過包UTL_FILE中名稱為UTL_FILE.FILE_TYPE的公有變數來定義的。
對於檔案系統上目錄的引用是通過使用目錄名稱,或者由CREATE DIRECTORY命令為目錄分配的化名來實現的。
CREATE DIRECTORY source AS 'd:/source';
CREATE DIRECTORY target AS 'd:/target';
Grant read,write on directory source to ods_es;
Grant read,write on directory target to ods_es;
DECLARE v_getfile UTL_FILE.FILE_TYPE;
v_sou_dir VARCHAR2(40) := 'source';
v_sou_file VARCHAR2(30) := 'source.csv';
v_tar_dir VARCHAR2(40) := 'source';
v_tar_file VARCHAR2(30) := 'target.csv';
v_eachline VARCHAR2(400);
v_count INTEGER := 0;
BEGIN
UTL_FILE.FCOPY(v_sou_dir,v_sou_file,v_tar_dir,v_tar_file);
v_getfile := UTL_FILE.FOPEN(v_tar_dir,v_tar_file,'w');
DBMS_OUTPUT.PUT_LINE('以下是複製檔案內容:''' || v_tar_file || '''');
LOOP
UTL_FILE.GET_LINE(v_getfile,v_eachline);
DBMS_OUTPUT.PUT_LINE(v_eachline);
v_count := v_count + 1;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN UTL_FILE.FCLOSE(v_getfile);
DBMS_OUTPUT.PUT_LINE(v_count || '行記錄');
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('SQLERRM: ' || SQLERRM);
DBMS_OUTPUT.PUT_LINE('SQLCODE: ' || SQLCODE);
END;
十、DBMS_PIPE:用於在同一常式(執行個體)的不同會話之間進行通訊。比如串連到同一個資料庫的兩個獨立會話之間可以通過管道進行通訊,另外也可以在預存程序和Pro*C之間進行通訊,這樣就大大地增強了PL/SQL的處理能力。
--------------------------------------分割線 --------------------------------------
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
--------------------------------------分割線 --------------------------------------