說明:這個例子轉自老白的DBA日記 剛剛坐下,電話就響了,一個客戶打過來的,說是碰到一個很奇怪的問題。在一張上千萬記錄的大表裡,做一個SELECT * FROM <TAB_NAME> WHERE ROWNUM<100,居然十多秒鐘才出來。我問他這張表是不是片段很厲害,他所不可能有片段,昨天才IMP進去的,昨天還沒問題,今天就出問題了。而且這張是話單表,不可能會做刪除操作的,不會有片段。我讓他馬上做個10046發過來。 --相關知識點參考:OracleSQLTrace 和 10
同事說查詢遇到一個奇怪的事,2個表進行not in 操作沒有返回結果,正常情況下應該是有返回的。 一.問題重現一般來說,問題能重現就是好訊息,最怕不能重現。 SQL> connscott/tiger;Connected.SQL> descemp Name Null? Type ------------------------------------------------- --------
脫字元(^)放在方括弧([])外面表示匹配以方括弧([])裡面的任何字元開頭的字串;脫字元(^)放在方括弧([])裡面表示匹配包含有任何不在方括弧([])裡面的字元的字串。SQL> select 1 x from dual where regexp_like('0a','^[0-9]'); X---------- 1SQL> select 1 x from dual where regexp_like('1a','^[0-9]');
HAVING主要用於對分組後的資料進行過濾,一般我們在其後接彙總函式(SUM,COUNT等),除此之外我們還可以用GROUP BY後面的欄位組成HAVING後的過濾條件。 SQL> select * from dept;DEPTNO DNAME LOC------ -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES
一.Checkpoints 理論說明有關GG的Checkpoints 在系列一, GG的架構中以說明:OracleGolden Gate 系列一 --GG 架構 說明http://blog.csdn.net/tianlesoftware/article/details/6925907 這裡在單獨拿出來說明一下,因為這是一個較為重要的概念。 Checkpoints storethe current read and write positions of a process to disk
在MOS 上有一篇介紹SQL 解析流程圖的文檔,參考[ID32895.1]。 截取主要部分內容如下: Thisarticle show the parsing mechanism as a flow diagram. Its main purpose is toshow the difference between a 'soft' and a 'hard' parse. It is intended to givea feel of how
讀一致性即確保查詢的結果與發起查詢的時刻的資料一致,不管在此查詢期間其他事務有沒有更改資料。 首先假設我們有如下函數用來根據部門id求該部門的總薪資:CREATE OR REPLACE FUNCTION sum2(p_deptno IN NUMBER) RETURN NUMBER IS --PRAGMA AUTONOMOUS_TRANSACTION;l_ret NUMBER;BEGIN dbms_lock.sleep(5); --DBMS_BACKUP_RESTORE.SLEEP(5);
One mistake can lead to a lot of work. When you’ve installed Oracle Database 11g, you can’t change theWindows Hostname without reinstalling Oracle Enterprise Manager.These are the steps:1. Change the %ORACLE_HOME%\network\admin\listener.ora file
在看Oracle約束時,看到ENABLE NOVALIDATE,意思是對自現在起及以後的資料啟用約束,但是不管以前的資料怎樣。不過在實驗的時候卻出了一點小問題:SQL> create table dept as select * from scott.dept where 1=2;Table createdSQL> insert into dept select * from scott.dept where deptno=10;1 row insertedSQL>
測試代碼:DECLARE TYPE list_of_names_t IS TABLE OF VARCHAR2(100) INDEX BY PLS_INTEGER; happyfamily list_of_names_t; l_row PLS_INTEGER;BEGIN --build table data which index is not consecutive. happyfamily(2020202020) := 'Eli'; happyfamily(-15070