2010年12月12日 星期日

查詢Oracle DB Locked Object

查詢DB Object 被 lock的語法
select lo.session_id, vs.SERIAL# , do.OBJECT_NAME, lo.*from v$locked_object lo ,dba_objects do , v$session vs where lo.object_id = do.object_id and lo.SESSION_ID = vs.SID ;

2010年12月1日 星期三

PL SQL Develop - 比對不同資料庫同一個DB 物件的差異






要比對同一個DB物件, 在不同資料庫之差異. 可以利用 PL-Sql Develop 的Ccompare 功能




1. 先登入 要比對物件的其中一台DB
2. PL-Sql Develop - Tools -> Compare User Objects
2.1 選擇要比對的物件(按Ctrl + Click) 可以多選
2.2 輸入要比對的DB 登入相關資訊
2.3 執行Compare









3. 比對完成後, 可以在Differences中看到 一些資訊
3.1 上面的表列會列出所選的物件中. 哪些物件是與Target 有差益的物件
3.2 下方的Script 是有差異的物件, 以來源DB 為基準做為要更新Target DB的語法. (ex: Table Structure 有差異. 會產生一些modify 的script , Procedure or Function 則是Replace的語法)
3.3 右邊的Button 有幾個比較特別的部分
3.3.1 針對差異語法複製至 Clipboard or 另存成檔案 (針對 Table Structure 差異較有用處)
3.3.2 顯示兩個物件差異的地方 (針對 Procedure or Function 特別有用), 會另外開一個Window 並用不同顏色標示兩邊差異的內容

























2010年3月21日 星期日

Oracle - 如何變更Sequence nextval

1 ALTER SEQUENCE sequence_name INCREMENT BY number;
ex: ALTER SEQUENCE myseq INCREMENT BY 1; ---> add 1 to last number;
ex: ALTER SEQUENCE myseq INCREMENT BY -1; ----> subtrace 1 from last number;
2 select myseq.currval from dual; ---> sequence current number
select myseq.nextval from dual; ---> sequence next number

3 修改sequence 的cache為0.
ex: ALTER SEQUENCE sequence_name NOCACHE

2010年3月17日 星期三