Oracle 應用技巧

2021-03-31 08:56:29 字數 3928 閱讀 9174

觸發器:

select?trigger_name,trigger_type,table_owner,table_name,status?from?user_triggers;

快照:select?owner,name,master,table_name,last_refresh,next?from?user_snapshots?order?by?owner,next;

同義詞:

select?*?from?syn;

序列:select?*?from?seq;

資料庫鏈路:

select?*?from?user_db_links;

約束限制:

select?table_name,constraint_name,search_condition,status?from?user_constraints;

本使用者讀取其他使用者物件的許可權:

select?*?from?user_tab_privs;

本使用者所擁有的系統許可權:

select?*?from?user_sys_privs;

使用者:select?*?from?all_users?order?by?user_id;

表空間剩餘自由空間情況:

select?tablespace_name,sum(bytes)?總位元組數,max(bytes),count(*)?from?dba_free_space?group?by?tablespace_name;

資料字典:

select?table_name?from?dict?order?by?table_name;

鎖及資源資訊:

select?*?from?v$lock;不包括ddl鎖

資料庫字符集:

select?name,value$?from?props$?where?name='nls_characterset';

inin.ora引數:

select?name,value?from?v$parameter?order?by?name;

sql共享池:

select?sql_text?from?v$sqlarea;

資料庫:

select?*?from?v$database

控制檔案:

select?*?from?v$controlfile;

重做日誌檔案資訊:

select?*?from?v$logfile;

來自控制檔案中的日誌檔案資訊:

select?*?from?v$log;

來自控制檔案中的資料檔案資訊:

select?*?from?v$datafile;

nls引數當前值:

select?*?from?v$nls_parameters;

oracle版本資訊:

select?*?from?v$version;

描述後台程序:

select?*?from?v$bgprocess;

檢視版本資訊:

select?*?from?product_***ponent_version;

7.如何在pl/sql中讀寫檔案??

軟體環境:?

1、伺服器端:windows?nt4.0+oracle?8.0.4

2、oracle安裝路徑為:c:/orant?

實現方法:?

pl/sql?3.3以上的版本中,utl_file包允許使用者通過pl/sql讀寫操作系統檔案。如下:?

declare

file_handle?utl_file.file_type;

begin

file_handle?:=?utl_file.fopen('/tmp',?'檔名',?'w');

utl_file.putf(file_handle,?'寫入的資訊/n');

utl_file.fclose(file_handle);

exception

when?utl_file.invalid_path?then

end;?

putf()過程用來以指定格式把文字寫入乙個檔案

put_line()過程把乙個指定的字串寫入檔案並在檔案中開始新的一行

8.怎樣計算表中的記錄數??

系統環境:?

1、作業系統:windows?2000

2、資料庫: oracle?8i?r2?(8.1.6)?for?nt?企業版

3、安裝路徑:c:/oracle

實現方法:?

檢視當前使用者下有什麼物件(表、檢視、同義詞、快照)

sql>?select?*?from?tab;

檢視表結構

sql>?desc?表名

檢視表中記錄數

sql>?select?count(*)?from?表名;

sql>?select?count(rowid)?from?表名;

9.怎樣檢視表的結構??

系統環境:?

1、作業系統:windows?2000

2、資料庫: oracle?8i?r2?(8.1.6)?for?nt?企業版

3、安裝路徑:c:/oracle

實現方法:?

檢視當前使用者下有什麼物件(表、檢視、同義詞、快照)

sql>?select?*?from?tab;

檢視表結構

sql>?describe?表名

簡寫以上命令

sql>?desc?表名

10.如何用sql生成sql批處理檔案??

軟體環境:?

1、windows?nt4.0+oracle?8.0.4

2、oracle安裝路徑為:c:/orant

問題提出:?

1、使用者需要對資料庫使用者下的每一張表都執行乙個相同的sql操作,這時,一遍、一遍的鍵入sql語句是很麻煩的

實現方法:?

sql>?set?heading?off?--禁止輸出列標題

sql>?set?feedback?off?--禁止顯示最後一行的計數反饋資訊

列出當前使用者下所有同義詞的定義,可用來測試同義詞的真實存在性

select?'desc?'||tname?from?tab?where?tabtype='synonym';

查詢當前使用者下所有表的記錄數

select?'select?'''||tname||''',count(*)?from?'||tname||';'?from?tab?where?tabtype='table';

把所有符合條件的表的select許可權授予為public

select?'grant?select?on?'||table_name||'?to?public;'?from?user_tables?where?《條件》;

刪除使用者下各種物件

select?'drop?'||tabtype||'?'||tname?from?tab;

刪除符合條件使用者

select?'drop?user?'||username||'?cascade;'?from?all_users?where?user_id>25;

快速編譯所有檢視?

----當在把資料庫倒入到新的伺服器上後(資料庫重建),需要將檢視重新編譯一遍,

----因為該錶空間檢視到其它表空間的表的連線會出現問題,可以利用pl/sql的語言特性,快速編譯。?

sql>?spool?on.sql

sql>?select'alter?view?'||tname||'?***pile;'?from?tab;

sql>?spool?off

然後執行on.sql即可。

sql>[email protected]

當然,授權和建立同義詞也可以快速進行,如:

sql>?select?'grant?select?on?'||tname||'?to?使用者名稱;'?from?tab;

sql>?select?'create?synonym?'||tname||'?for?使用者名稱.'||tname||';'?from?tab;

oracle查詢應用小技巧收集

第乙個小知識點 clear 在oracle中也可以用以清除螢幕上的內容 第二個小知識點 在乙個表中插入自身的查詢結果 insert into my table id,name,age select id,name,age from my table 第三個小知識點 oracle中null 不能進行運...

AJAX應用技巧

xmlhttprequest瀏覽器快取問題 在firefox瀏覽器中,xmlhttprequest物件相相同的url傳送請求時,瀏覽器每次都會向伺服器傳送請求,不存在快取的問題,而ie瀏覽器如果url請求位址相同時,瀏覽器會讀取其快取中的內容進行響應,而不再向伺服器傳送請求,解決瀏覽器快取的辦法是 ...

Shell應用技巧

root izwz99w26fq15zuqbxgeltz test cat etc shells bin sh bin bash sbin nologin usr bin sh usr bin bash usr sbin nologin1命令補全 tab 2清屏 ctrl l 3刪除命令 ctrl ...