Oracle常用SQl整理

2021-06-04 15:01:40 字數 2931 閱讀 9089

--檢視新執行sql

select *

from v$sqlarea t

where t.first_load_time like '%2011-11-04/11%'

order by t.first_load_time desc;

1. 檢視oracle資料庫表是否被鎖住:

select a.*,b.sid,b.serial# from v$locked_object a,v$session b

where a.session_id = b.sid(+);

2. 或者下面這種方法:

select p.spid,

a.serial#,

c.object_name,

b.session_id,

b.oracle_username,

b.os_user_name

from v$process p, v$session a, v$locked_object b, all_objects c

where p.addr = a.paddr

and a.process = b.process

and c.object_id = b.object_id;

3. 或者檢視連線的程序

select sid, serial#, username,osuser from v$session;  

4. 殺掉程序,給表解鎖:

alter system kill session 'sid,serial#'; 

eg:select * from v$locked_object;

select a.*, b.sid, b.serial#

from v$locked_object a, v$session b

where a.session_id = b.sid(+);

alter system kill session '426,5411';

alter system kill session '484,18629';

commit;

....enter(完成)

常用查詢:

select * from dba_users;

察看資料庫的大小,和空間使用情況 :

select b.file_id,  --檔案id,

b.tablespace_name,  --表空間,

b.file_name ,    --物理檔名,

b.bytes ,     -- 總位元組數,

(b.bytes-sum(nvl(a.bytes,0))),  -- 已使用,

sum(nvl(a.bytes,0)),       -- 剩餘,

sum(nvl(a.bytes,0))/(b.bytes)*100 --剩餘百分比

from dba_free_space a,dba_data_files b

where a.file_id=b.file_id

group by b.tablespace_name,b.file_name,b.file_id,b.bytes

order by b.tablespace_name

檢視資料檔案放置的路徑

select tablespace_name, file_id, bytes / 1024 / 1024, file_name

from dba_data_files

order by file_id;

檢視現有回滾段及其狀態

select segment_name, owner, tablespace_name, segment_id, file_id, status

from dba_rollback_segs

連線字串

sql > select 列1 | |列2 from 表1;

sql > select concat(列1,列2) from 表1;

查詢當前日期

sql > select to_char(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual;

表操作:

建乙個和a表結構一樣的空表

sql > create table b as select * from a where 1=2;

sql > create table b(b1,b2,b3) as select a1,a2,a3 from a where 1=2;

修改表:

alter table table_name

add column_name type [default expression]    增加新列

modify datatype default expression           修改已有列和屬性

storage storage_clause                 修改儲存特徵

drop drop_clause                             刪除約束條件

a.改變表所在的表空間

alter   table   name   move   tablespace   newtablespace

注:只有當某列所有值都為空時,才能減小其列值寬度。

只有當某列所有值都為空時,才能改變其列值型別。

只有當某列所有值都為不空時,才能定義該列為not null。

建立索引:create index [index_name] on [table_name]( "column_name ")

示例--

create unique index idx_store_did_sid_pid on konka_jxc_store_state (dept_id, store_id, pd_id)

decode使用:decode(dept_no,0020,』x』,null))

信任是種鼓舞與支援,被信任是種幸運與幸福!

Oracle 常用SQL整理

啟用約束 alter table 表名 enable constraint 約束名 禁用約束 alter table 表名 disable constraint 約束名 查詢約束所屬的表 select table name from dba constraints where constraint ...

Oracle常用sql整理

建立表空間 create tablespace tablespacename datafile opt oracle oradata orcl tablespacename.dbf size 500m autoextend on next 5m maxsize unlimited 建立表空間建立使用...

oracle資料庫常用sql整理

日期獲取 select trunc sysdate,yyyy from dual 獲取當前年第一天 select last day add months trunc sysdate,y 1 1 86400,11 from dual 獲取當前年最後一天 到時分秒 select trunc sysdat...