1.檢視oracle錯誤詳細資訊:
[[email protected] bdump]$ oerr ora 07445
07445, 00000, "exception encountered: core dump [%s] [%s] [%s] [%s] [%s] [%s]"
// *Cause: An OS exception occurred which should result in the creation of a
// core file. This is an internal error.
// *Action: Contact your customer support representativ
2.noarchivelog模式的資料庫總有一天會丢失資料
3.如果你想破壞Oracle的共享池,最容易的辦法是不使用綁定變量。
4.連接配接(connection):從用戶端到Oracle執行個體的一條實體路徑,可以從V$process檢視
會話(session):執行個體中存在的一個邏輯實體,可以從v$session檢視。
連接配接不是會話的同義詞,在一條連接配接上可以建立0個、一個或多個會話
5.共享伺服器隻适用OLTP的系統
6.RAC(real application clusters):實時應用叢集,RAC是一種Oracle配置,即叢集中的多個執行個體可以裝載和打開一個資料庫,其中每個執行個體在一個單獨的節點上運作(通常節點是一個單獨的實體計算機)。這樣,你就能有多個執行個體通路同樣的一組資料庫檔案
7.鎖分兩種:悲觀鎖(pessimistic locking)和樂觀鎖(optimistic locking)。
悲觀鎖:查詢資料時就進行鎖定
樂觀鎖:把所有鎖定都延遲到執行更新那一刻再做。
使用校驗和的樂觀鎖定
set serveroutput on;
begin
for x in (select deptno,dname,loc
from dept
where deptno=10 )
loop
dbms_output.put_line( 'dname:'||x.dname);
dbms_output.put_line( 'loc:'||x.loc);
dbms_output.put_line( 'hash: '||
dbms_crypto.hash
(utl_raw.cast_to_raw(x.deptno||'/'||x.dname||'/'||x.loc),
dbms_crypto.hash_sh1));
end loop;
end;
/
8.表的主鍵不允許更新,外鍵所在的列要加索引
9.手動鎖定和建立自己的鎖
(1)select ... for update
(2)dbms_lock包