在Oracle庫上幾種特殊情況的SQL語句

2021-06-21 11:41:02 字數 1482 閱讀 1395

在oracle日常維護中,難免會碰到一些特殊情況,這裡分享一些例子。

a:表的資料誤刪了,怎麼辦?

--1、檢視資料表的資料,然後進行刪除

select * from score;

delete from score;

--2、查詢一小時以前score表的資料

select * from score as of timestamp sysdate-1/24;

--3、執行oracle閃回功能,恢復資料

insert into score select * from score as of timestamp sysdate-1/24;

b:資料表誤刪了,怎麼辦?

--1、drop表情況

drop table score;

--2、資料庫誤刪除表之後恢復:記得刪除了哪些表名。 

flashback table score to before drop;

c:oracle如何匯入多條資料?

--資料庫中已有表

insert into scott.emp(empno,ename,hiredate)

(select empno+100,ename,hiredate from scott.emp where empno>=6999);

--資料庫中沒有表

create table scott.test

as(select distinct empno,ename,hiredate from scott.emp where empno>=7000

);d:如何查詢當前資料庫中鎖,以及解鎖?

--查鎖

select /*+ rule */ s.username,

decode(l.type,'tm','table lock',

'tx','row lock',

null) lock_level,

o.owner,o.object_name,o.object_type,

s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser

from v$session s,v$lock l,dba_objects o

where l.sid = s.sid

and l.id1 = o.object_id(+)

and s.username is not null;

--解鎖(如果解不了。直接倒os下kill程序kill -9 spid)

alter system kill session 'sid,serial'; 

e:ora-28000:賬戶被鎖定,如何解決

?--ora-28000:賬戶被鎖定 因為密碼輸入錯誤多次使用者自動被鎖定.

--解決辦法:

alter user user_name account unlock; 

注意:以上操作需要具有管理員許可權方可操作。

在O(1)時間內刪除鍊錶結點(特殊情況)

題目 給定單向鍊錶的頭指標和乙個結點指標,定義乙個函式在o 1 時間刪除該結點。鍊錶結點與函式的定義如下 struct listnode void deletenode listnode plisthead,listnode ptobedeleted 分析 此題目若按照從前向後遍歷尋找要刪除的結點則...

人民幣阿拉伯數字轉中文大寫的幾種特殊情況

連著多個 0 讀作乙個 零 開頭數字是 1 時省略 壹 如 11 讀作 拾壹 而不是 壹拾壹 小數為 00 時讀作 整 小數為 0x 時讀作 x分 小數為 x0 時讀鎖 x角 小數為 xx 時讀作 x角x分 整數部分僅為 1 時,壹 不省略 整數部分為 0 時,直接讀小數,省略 元 華為機試人民幣轉...

在Oracle中,哪幾種情況不能用上索引?

dba寶典 2017 05 01 00 11 一 快速檢查 表上是否存在索引?索引是否應該被使用?二 索引本身的問題 索引的索引列是否在where條件中 predicate list 索引列是否用在連線謂詞中 join predicates 連線順序 join order 是否允許使用索引?索引列是...