Oracle 好用SQL

查詢Sequence

  1. SELECT *
  2. FROM all_sequences
  3. WHERE sequence_owner = 'SchemaName'
  4. AND sequence_name = 'sequence_name';

查詢TABLE&欄位

  1. SELECT
  2. C.OWNER
  3. ,C.TABLE_NAME as 表格名稱
  4. , C.COLUMN_ID
  5. , C.COLUMN_NAME as 欄位名稱
  6. , DATA_TYPE as 資料型別
  7. , DATA_LENGTH as 長度
  8. , DATA_PRECISION as 整數位數
  9. , DATA_SCALE as 小數位數
  10. , DATA_DEFAULT as 預設值
  11. , NULLABLE as 是否允許空值
  12. , COMMENTS as 欄位描述
  13. FROM
  14. ALL_TAB_COLUMNS C
  15. JOIN ALL_TABLES T ON
  16. C.OWNER = T.OWNER AND C.TABLE_NAME = T.TABLE_NAME
  17. LEFT JOIN ALL_COL_COMMENTS R ON
  18. C.OWNER = R.Owner AND
  19. C.TABLE_NAME = R.TABLE_NAME AND
  20. C.COLUMN_NAME = R.COLUMN_NAME
  21. WHERE 1=1
  22. and C.OWNER = 'SchemaName'
  23. and C.TABLE_NAME=upper('TableName')
  24. ORDER BY C.TABLE_NAME, C.COLUMN_ID

Table Index

  1. SELECT *
  2. FROM DBA_IND_COLUMNS
  3. where TABLE_OWNER = 'SchemaName' -- 替換成您的模式名稱
  4. and TABLE_NAME=upper('TableName')
  5. ORDER BY INDEX_OWNER, INDEX_NAME, COLUMN_POSITION

Table PK欄位

  1. SELECT cols.owner, cols.constraint_name, cols.column_name, cols.position
  2. FROM all_constraints cons, all_cons_columns cols
  3. WHERE cons.constraint_name = cols.constraint_name
  4. AND cons.owner = cols.owner
  5. AND cons.constraint_type = 'P' -- 这里 'P' 表示主键
  6. AND cons.STATUS='ENABLED'
  7. AND cols.owner='SchemaName'
  8. AND cols.table_name = upper('TableName')

Kill Data Lock

  1. --table lock & kill sid ----------------------------
  2. select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
  3. --alter system kill session 'SID,SERAIL#';
  4. --alter system kill session '509,1657';
  5. --table lock & kill sid ----------------------------
  6. --table lock & kill sid ----------------------------
  7. SELECT
  8. s.sid,
  9. s.serial#,
  10. s.username,
  11. s.machine,
  12. s.program,
  13. -- l.type,
  14. -- l.lmode,
  15. -- l.request,
  16. o.object_name,
  17. o.object_type
  18. FROM
  19. v$session s
  20. JOIN v$locked_object l ON s.sid = l.session_id
  21. JOIN dba_objects o ON l.object_id = o.object_id;
  22. --ALTER SYSTEM KILL SESSION 'sid,serial#';
  23. ALTER SYSTEM KILL SESSION '516,16217';
  24. --table lock & kill sid ----------------------------

 

 

留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 工作排程 DBMS_JOB 筆記

Oracle 例外控制(Exception Control)