1、快速備份表:
createtable p_purchase_order_bak as
select
*from p_purchase_order
2、查詢db_link詳細資訊
select*from dba_db_links
3、oracle 中如何檢視某個表所涉及的儲存過程
selectdistinct
*from
user_source
where type =
'procedure
'and
upper(text) like
'%ps_kl_abs_002_data%
';
4、oracle資料庫檢視和解除死鎖
selectsess.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)開啟閃回
altertable 表名 enable row movement;
3)把錶的狀態閃回到這個時間段
flashback table 表名 ?totimestamp to_timestamp('
2018-10-12 9:30:00
', '
yyyy-mm-dd hh24:mi:ss
');
4)用完記得關閉閃回
altertable 表名 disable row movement
5)快照頻率和保留時間都可以由使用者修改。要檢視當前的設定,可以使用下面的語句:
selectsnap_interval, retention
from dba_hist_wr_control;
這些 sql 語句顯示快照每小時採集一次,採集的資料保留 7 天。要修改設定-例如,快照時間間隔為 20 分鐘,保留時間為兩天-您可以發出以下命令。引數以分鐘為單位。
begindbms_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、刪除使用者及其資料
dropuser
user_name
cascade
;如果沒有刪除使用者的許可權,則可以執行:
select
'drop table
'||table_name||';
'from cat where table_type=
'table
'將得到的結果全部複製貼上到另乙個sql視窗,執行。
15、本地oracle資料庫快速匯出,直接在dos視窗執行如下命令:
exp username/passward@xefile
=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 第...