讀一致性即確保查詢的結果與發起查詢的時刻的資料一致,不管在此查詢期間其他事務有沒有更改資料。首先假設我們有如下函數用來根據部門id求該部門的總薪資:CREATE OR REPLACE FUNCTION sum2(p_deptno IN NUMBER) RETURN NUMBER IS --PRAGMA AUTONOMOUS_TRANSACTION;&n
1.對查詢進行最佳化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。2.應盡量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:select id from t where num is null可以在num上設定預設值0,確保表中num列沒有null值,然後這樣查詢:select id from t where num=03.應盡量避免在 where
ERROR:ORA-00257: archiver error. Connect internal only, until freed.(1)SQL> select * from v$log;GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM發現所有的arc 為NO,表示系統沒法自動做歸檔。 (3)手工切換日誌 SQL> alter system switch logfile;
問題:在用PL/SQL進行登入時,出現:”ora-01045 :user system lacks create session privilege; logon denied”。原因:該使用者沒有建立session會話的許可權在Google找到這段的說明:What does “ORA-01045: user USERNAME lacks CREATE SESSION privilege;logon denied” mean?It means that the username and
Linux版本:RedHat Enterprise Linux 5.6Oracle版本:10g1、修改/etc/oratab檔案將orcl:/home/oracle/oracle/product/10.2.0/db_1:N改為:orcl:/home/oracle/oracle/product/10.2.0/db_1:Y2、在oracle賬戶下修改$ORACLE_HOME/bin/dbstart檔案: # su - ORACLE $ cd $ORACLE_HOME/bin $ vi
查看Oracle資料庫表被鎖例子——故障定位 1.開一個會話session1,(實際就是和資料庫建立一個串連,可以通過第三方軟體,或者直接使用sqlplus來串連)SQL>select sid from v$mystat where rownum=1;SID158SQL>create table t(x int primary key);table createdSQL>insert into t values(1);commit;SQL>update t1