資料庫常用SQL

2021-09-01 08:05:34 字數 2742 閱讀 8249

1、檢視鎖定對像

select a.owner 方案名, 

a.object_name 表名, 

b.xidusn 回滾段號, 

b.xidslot 槽號, 

b.xidsqn 序列號, 

b.session_id 鎖表session_id, 

b.oracle_username 鎖表使用者名稱, 

decode(d.type, 

'xr', 

'null', 

'rs', 

'ss(row-s)', 

'cf', 

'ss(row-s)', 

'tm', 

'table lock', 

'pw', 

'table lock', 

'to', 

'table lock', 

'ts', 

'table lock', 

'rt', 

'row lock', 

'tx', 

'row lock', 

'mr', 

's(share)', 

null) 鎖定方式, 

c.machine 使用者組, 

c.terminal 機器名, 

b.os_user_name 系統使用者名稱, 

b.process 系統程序id, 

decode(c.status, 'inactive', '不活動', 'active', '活動') 活動情況, 

c.server, 

c.sid, 

c.serial#, 

c.program 連線方式, 

c.logon_time 

from all_objects a, v$locked_object b, sys.gv_$session c, v$lock d 

where (a.object_id = b.object_id) 

and (b.process = c.process) 

and c.sid = d.sid 

and b.locked_mode = d.lmode 

order by 1, 2;

2、殺死會話

alter system kill session 'sid,serial#';

3、檢視表結構

desc tablename

4、檢視物件的定義

select dbms_metadata.get_ddl(『table』,』employee』);

select dbms_metadata.get_ddl('view','c_view') from dual;

select dbms_metadata.get_ddl('db_link','l_test',user) from dual;

5、檢視表的大小

select segment_name,bytes/1024/1024 as "mb" from dba_segments where segment_name=:tablename;

6、檢視資料檔案

select tablespace_name,file_name,bytes/1024/1024 as "size(mb)" from dba_data_files;

7、檢視索引使用

alter index index_name monitoring usage;

開始監視索引的使用情況

select * from v$object_usage;

檢查索引有沒有使用過

alter index index_name nomonitoring usage;

停止監視索引的使用情況

8、檢視表的執行計畫

explain plan工作實質、前提及操作方法

1. 工作實質

將sql語句預估的執行計畫載入到表plan_table,是對錶plan_table 執行了dml操作,故不會執行隱式提交

可以對select,insert,update,merge,delete,create table, create index,alter index等載入執行計畫到plan_table

2. 前提條件

需要先建立plan_table,建立方法:@?/rdbms/admin/utlxplan

對當前的sql語句有執行許可權以及對依賴的物件有相應操作的許可權

3. 使用方法:

explain plan for select * from scott.emp where ename='scott';    --未設定標記位

explain plan set statement_id='test' for select * from scott.emp where ename='scott'

4.也可直接根據 statement_id查詢plan_table   select * from plan_table where statement_id=:id  order by plan_id;

9、檢視會話狀態

select a.sid "會話sid",

a.serial# "會話序列號",

opname "操作型別",

target_desc "操作物件"

from v$session_longops a, v$session b

where a.sid = b.sid and a.serial# = b.serial#

資料庫常用sql

1.oracle.檢視儲存過程 select from user objects where object type procedure 2.oracle.檢視儲存過程源 select text from user source where name cal bjchmiddata 3.oracle...

ORACLE資料庫常用SQL

1.新增乙個表,通過另乙個表的結構和資料 create table product bak as select from product2.如果表存在 insert into product bak select from product 3.同乙個表中,將a欄位的指賦給b欄位 update pro...

Oracle資料庫常用SQL

oracle ora 00984 column not allowed here ora 00984錯誤 列在此處不允許 當資料以char的形式存在時,應加單引號,則插入資料庫就不會出現類似錯誤.oracle實現select的結果集隨機展示 select from tablename order b...