oracle 常用sql記錄

2021-08-10 04:58:35 字數 1332 閱讀 6908

以下是在實際開發,運維系統時可能用到的sql.不定期更新.

1.查詢已經刪除的表

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;

2.還原已經刪除的表

flashback table 這裡寫表名 to before drop;

3.使用索引的like,當業務需要前後like模糊查詢時,可以參考這麼做.

-- like '%abcd%' 全表掃瞄; like '%abcd' 走索引; like 'abcd%' 不走索引(不過可以用reverse將字段反向.就可以使用第二種了.);

-- 這相當於like

select * from tablename t where 

instr(t.colunm,'abcd')>0; 

-- 這相當於not like

select * from tablename t where instr(t.colunm,'abcd')=0;

-- 還有一種可以切割字串.然後使用等於號.也是走索引的.

select * from tablename t where substr(t.colunm,length(t.colunm) -3) = 'abcd';

4.當乙個新的oracle資料庫.建立表空間.

均需要登入到dba帳號

5.建立乙個只能查詢的使用者.

-- 先建立乙個使用者,需要用dba的賬戶登入執行.

create user abcd_user identified byabcd_user;

-- 賦予登入相關許可權.

grant connect toabcd_user;

grant create synonym toabcd_user;

-- 所有表的查詢許可權賦予,把下面查詢出來的結果執行一遍.

select 'grant select on ' || owner || '.' || object_name || ' toabcd_user;' from dba_objects where owner in ('abc_user') and object_type = 'table';

-- 建立同義詞,操作同上.

select 'create or replace synonymabcd_user.' || object_name || ' for ' || owner || '.' || object_name || ';' from dba_objects where owner in ('abc

_user') and object_type = 'table';

常用sql記錄

一 修改字段預設值 alter table 表名 drop constraint 約束名字 說明 刪除表的字段的原有約束 alter table 表名 add constraint 約束名字 default 預設值 for 欄位名稱 說明 新增乙個表的字段的約束並指定預設值 二 修改欄位名 alte...

Oracle常用技巧記錄

當一段查詢sql執行特別慢的時候,需要對其進行優化,此時借助plsql developer工具,檢視sql的執行計畫,所有問題一目了然。這裡只是舉個簡單的例子,如何讀懂執行計畫,可以參考博文 1.1方式一 如何進入執行計畫的頁面?可以選中要執行的sql,然後單擊工具欄上的按鈕 如下圖 也可以選中要執...

Oracle常用SQl整理

檢視新執行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.seria...