oracle常用sql語句

2022-08-14 21:57:12 字數 3896 閱讀 9988

1、快速備份表:

create

table p_purchase_order_bak as

select

*from p_purchase_order

2、查詢db_link詳細資訊

select

*from dba_db_links

3、oracle 中如何檢視某個表所涉及的儲存過程

select

distinct

*from

user_source

where type =

'procedure

'and

upper(text) like

'%ps_kl_abs_002_data%

';

4、oracle資料庫檢視和解除死鎖

select

sess.sid,

sess.serial#,

lo.oracle_username,

lo.os_user_name,

ao.object_name

, lo.locked_mode,

sess.machine

from

v$locked_object lo,

dba_objects ao,

v$session sess

where ao.object_id

= lo.object_id

and lo.session_id = sess.sid;

5、殺死對應的程序

alter system kill session '

738,1429

';

7、oracle的閃回功能

1)查詢該時間段這個表的狀態

select

*from

表名as

oftimestamp to_timestamp('

2018-10-12 9:30:00

', '

yyyy-mm-dd hh24:mi:ss

');

2)開啟閃回

alter

table 表名 enable row movement;

3)把錶的狀態閃回到這個時間段

flashback table 表名 ?to

timestamp to_timestamp('

2018-10-12 9:30:00

', '

yyyy-mm-dd hh24:mi:ss

');

4)用完記得關閉閃回

alter

table 表名 disable row movement

5)快照頻率和保留時間都可以由使用者修改。要檢視當前的設定,可以使用下面的語句:

select

snap_interval, retention

from dba_hist_wr_control;

這些 sql 語句顯示快照每小時採集一次,採集的資料保留 7 天。要修改設定-例如,快照時間間隔為 20 分鐘,保留時間為兩天-您可以發出以下命令。引數以分鐘為單位。

begin

dbms_workload_repository.modify_snapshot_settings (

interval

=>20,

retention

=>2*

24*60);

end;

8、oracle資料庫查詢當前庫中有多少張表

select table_name from user_tables

9、索引相關

1)根據表名,查詢一張表的索引

select

*from user_indexes where table_name=

upper('

表名');

2)根據索引號,查詢表索引字段

select

*from user_ind_columns where index_name=('

索引名');

3)根據索引名,查詢建立索引的語句

select dbms_metadata.get_ddl('

index

','索引名

', [

'使用者名稱'

]) from dual ;

--['使用者名稱']可省,預設為登入使用者

ps:dbms_metadata.get_ddl還可以得到建表語句,如:

select dbms_metadata.get_ddl('

table

','表名

', [

'使用者名稱'

]) from dual ; //取單個表的建表語句,[

'使用者名稱'

]可不輸入,預設為登入使用者

select dbms_metadata.get_ddl('

table

',u.table_name) from user_tables u; //取使用者下所有表的建表語句

10、儲存空間可以用如下語句查

select

*from user_segments s where s.bytes is

notnull

order

by s.bytes desc

11、查記錄條數可以用如下語句

select

*from user_tables t where t.num_rows is

notnull

order

by t.num_rows desc

12、獲取當天是當年的第幾周

select to_char(sysdate,'

iw') from dual;

13、獲取當天是當月的第幾周

sql語句寫法有兩種:

1、select to_char(sysdate,'ww') - to_char(trunc(sysdate,'mm'),'ww') + 1 as "weekofmon" from dual; 

2、select to_char(sysdate,'w') as "weekofmon" from dual;

14、刪除使用者及其資料

drop

user

user_name

cascade

;如果沒有刪除使用者的許可權,則可以執行:

select

'drop table

'||table_name||';

'from cat where table_type=

'table

'將得到的結果全部複製貼上到另乙個sql視窗,執行。

15、本地oracle資料庫快速匯出,直接在dos視窗執行如下命令:

exp username/passward@xe

file

=d:\daochu.dmp full

=y

oracle常用sql語句

1.解鎖oracle使用者下某個使用者 以內建的scott使用者為例 sql conn as sysdba sql alter user scott account unlock identified by tiger 解釋 首先要切換到sysdba使用者下,否則會提示 許可權不足 error at...

oracle常用SQL語句

最近專案中用到,現記錄一下 新增主鍵 alter table shop spec detail add constraint spec detail id primary key id 新增索引 create index spec detail id on shop spec detail id 給...

Oracle常用SQL語句

今天接到乙個新任務 任務的主要內容簡單點說就是乙個下拉框,乙個查詢條件,乙個 table 顯示。當聽完的時候感覺真的是很簡單,這樣的事情也並非沒有做過。但是當靜下心來仔細分析需求,則會發現其與眾不同之處。1 下拉框中顯示的是我們整個模組的表名稱 2 查詢條件初步設想是根據時間查詢 3 table 第...