背景: 今兒個想要練習一下 rman 的增量備份、原本測試庫是 非歸檔模式 於是呼、shutdown 掉執行個體後、open 執行個體竟然淘氣地起不來sys@ORACLE10> alter database open;alter database open*ERROR at line 1:ORA-00313: open failed for members of log group 1 of thread 1ORA-00312:
DBA在維護oracle的過程,和undo有關的常用指令碼。在前面的一些文章也涉及了挺多的,在此簡單總結一點。 1)怎樣查詢資料庫當前某個session的事務所使用的復原段大小?sys@ORCL> select b.sid,b.username,a.xidusn,a.used_ublk 2 from v$transaction a,v$session b 3 where a.addr=b.taddr; SID USERNAME
處理方法其實很簡單、只要: alter user <username> identified by <same password>; 這個操作後,恢複正常了 下面作個簡單測試:SQL> conn hr/hrERROR:ORA-28002: the password will expire within 2 daysConnected.SQL> conn / as sysdbaConnected.SQL> alter
在給定2點的經緯度,通過java代碼和oracle預存程序來計算出點的距離 單位是(米)oracle預存程序:create or replace procedure SP_GET_DISTANCE(cx in number,cy in number,sx in number, sy in number,distance out varchar2) isd number;x number;y number;r number;pi number;begin--開始計算
MERGE語句是Oracle9i新增的文法,用來合并UPDATE和INSERT語句。串連條件匹配上的進行UPDATE,無法匹配的執行INSERT。這個文法僅需要一次全表掃描就完成了全部工作,執行效率要高於INSERT+UPDATE。 下面看個具體例子:hr@ORCL> select * from p; ID NAME---------- ---------- 1 d 3 e 8 fhr@ORCL>
1、 其中最普通的是update t1 set b=(select b from t2 where t1.a=t2.a); 但是,要注意空值的影響, 如果怕空值的影響,要寫成 update t1 set tname= (select sname from t2 where t1.id=t2.id) where exists (select 1 from t2 where t1.id=t2.
oracle 預存程序的基本文法1.基本結構 CREATE OR REPLACE PROCEDURE 預存程序名字( 參數1 IN NUMBER, 參數2 IN NUMBER) IS變數1 INTEGER :=0;變數2 DATE;BEGINEND 預存程序名字2.SELECT INTO STATEMENT 將select查詢的結果存入到變數中,可以同時將多個列儲存多個變數中,必須有一條 記錄,否則拋出異常(如果沒有記錄拋出NO_DATA_FOUND) 例子: BEGIN