程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle 常用技巧和腳本

Oracle 常用技巧和腳本

編輯:關於Oracle數據庫

  1. 如何查看ORACLE的隱含參數?   

  ORACLE的顯式參數,除了在INIT.ORA文件中定義的外,在svrmgrl中用"show parameter *",可以顯示。但ORACLE還有一些參數是以“_”,開頭的。如我們非常熟悉的“_offline_rollback_segments”等。

  這些參數可在sys.x$ksppi表中查出。   

  語句:“select ksppinm from x$ksppi where substr(ksppinm,1,1)='_'; ”   

  2. 如何查看安裝了哪些ORACLE組件?   

  進入${ORACLE_HOME}/orainst/,運行./inspdver,顯示安裝組件和版本號。

  3. 如何查看ORACLE所占用共享內存的大小?

  可用UNIX命令“ipcs”查看共享內存的起始地址、信號量、消息隊列。   

  在svrmgrl下,用“oradebug ipc”,可看出ORACLE占用共享內存的分段和大小。

  example:   

  SVRMGR> oradebug ipc

  -------------- Shared memory --------------   

  Seg Id Address Size

  1153 7fe000 784

  1154 800000 419430400

  1155 19800000 67108864   

  4. 如何查看當前SQL*PLUS用戶的sid和serial#?   

  在SQL*PLUS下,運行:   

  “select sid, serial#, status from v$session   

  where audsid=userenv('sessionid');”   

  5. 如何查看當前數據庫的字符集?   

  在SQL*PLUS下,運行:

  “select userenv('language') from dual;”   

  或:   

  “select userenv('lang') from dual;”   

  6. 如何查看數據庫中某用戶,正在運行什麼SQL語句?   

  根據MACHINE、USERNAME或SID、SERIAL#,連接表V$SESSION和V$SQLTEXT,可查出。   

  SQL*PLUS語句:

  “SELECT SQL_TEXT FROM V$SQL_TEXT T, V$SESSION S WHERE T.ADDRESS=S.SQL_ADDRESS   

  AND T.HASH_VALUE=S.SQL_HASH_VALUE  

  AND S.MACHINE='XXXXX' OR USERNAME='XXXXX' -- 查看某主機名,或用戶名   

  /”   

  7. 如何刪除表中的重復記錄?   

  例句:   

  DELETE

  FROM table_name a

  WHERE rowid > ( SELECT min(rowid)

  FROM table_name b

  WHERE b.pk_column_1 = a.pk_column_1

  and b.pk_column_2 = a.pk_column_2 );   

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved