Time of Update: 2018-12-08
當你用start with connect by nocycle prior 進行遞迴尋找資料的時候那麼下面兩段代碼的效能肯定是有明顯差別的大家用的時候 請注意了代碼可以不看下面 直接看我的總結 //查詢某個檔案夾檔案夾ID=12裡面的層次數以及 檔案的個數 A:為檔案之間的關聯關係 上下級關係 B:為檔案夾裡面的檔案 正解: 複製代碼 代碼如下:select count(0) cou,max(levels)+1 as levels select C.a1,C.a2,C.levels...
Time of Update: 2018-12-08
1、建立表 複製代碼 代碼如下:createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主鍵,自動增加*/ usernamevarchar2(20) ); 2、建立自動成長序列 複製代碼 代碼如下:CREATESEQUENCETestIncrease_Sequence INCREMENTBY1--每次加幾個 STARTWITH1--從1開始計數 NOMAXVALUE--不設定最大值,設定最大值:maxvalue9999
Time of Update: 2018-12-08
去年年底做了不少系統的資料移轉,大部分系統由於平台和版本的原因,做的是邏輯遷移,少部分做的是物理遷移,有一些心得體會,與大家分享。 首先說說遷移流程,在遷移之前,寫好方案,特別是實施的方案步驟一定要寫清楚,然後進行完整的測試。我們在遷移時,有的系統測試了四五次,通過測試來完善方案和流程。 針對物理遷移,也即通過RMAN備份來進行還原並應用歸檔的方式(這裡不討論通過dd方式進行的冷遷移),雖然注意的是要將資料庫設為force
Time of Update: 2018-12-08
1、首先建立目錄: create directory 目錄名稱 as '資料庫伺服器上的一個目錄',如: create directory 別名 as 'd:\伺服器目錄名'; 將匯入或匯出的檔案放在這個目錄下 2、匯出及匯入 以SID=orcl,匯出dmp的帳號為test,匯入dmp的帳號為test為例。 若將資料從sfz中匯出: expdp test/test@orcl directory=別名 dumpfile=匯出檔案名稱 匯入到test中: impdp test/test@orcl
Time of Update: 2018-12-08
Oracle的監聽器服務註冊方式有兩種,分別為動態和靜態。通過動態註冊的服務在lsnrctl status時顯示的狀態為ready,靜態服務為unknown。 11g2以前的版本,監聽器通過listener.ora檔案進行配置。在11g2版本中,監聽器的配置方式發生了變化,增加了一個新的設定檔endpoints_listener.ora,並且此檔案和原來的listener.ora檔案都轉移到$GRID_HOME/network/admin目錄下了。
Time of Update: 2018-12-08
再寫一個預存程序時, 用到了如下sql語句 複製代碼 代碼如下:SELECT MAX(RE_DATE) INTO V_RE_DATE FROM T_RECORDING WHERE ID ='100010010102' 按理說,根據這個條件查詢的結果應該為sqlcode=1403 ,但是奇怪的是如下sql異常卻捕獲不到: 複製代碼 代碼如下:EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN OTHERS THEN ERR_CODE :=-2000; ERR_
Time of Update: 2018-12-08
有時我們在定義欄位名及別名時所用名與oracle關鍵字同名,這時該如何處理呢? 其實很簡單,只要在此關鍵字加上"",如"group" 看下面的例子: 複製代碼 代碼如下:SQL> DROP TABLE k; Table dropped -- 建立表K,欄位名為UID(oracle關鍵字) SQL> CREATE TABLE k(UID INT); CREATE TABLE k(UID INT) ORA-00904: : invalid IDENTIFIER --
Time of Update: 2018-12-08
適用情況: oracle 對查詢結果進行排序時,被排序的欄位存在null值,且要指定NULL值排在最前面或者最後面 關鍵字:Nulls First;Nulls Last 預設情況:null 預設為最大值(即:asc 升序<小-->大>,null值排在最後;desc 降序<大-->小>,null值排在最前面) 指定: 1.Oracle Order by支援的文法 2.指定Nulls first 則表示null值的記錄將排在最前(不管是asc 還是desc) 3.
Time of Update: 2018-12-08
問題描述:在scott使用者下建立視圖的時候,報錯:許可權不足。 (其他使用者以此類推) 解決方案: 以dba使用者登入 [sql] 複製代碼 代碼如下:sqlplus / as sysdba 賦予scott使用者建立VIEW的許可權 [sql] 複製代碼 代碼如下:grant create view to scott 以scott使用者登入oracle [sql] 複製代碼 代碼如下:conn scott/tiger 建立視圖成功 [sql] 複製代碼 代碼如下:CREATE OR
Time of Update: 2018-12-08
解決Connect to Idle Instance問題 第一步 查看Oracle_SID. [oracle@linuxserver ~]$ echo $ORACLE_SID cjdl 這裡的SID要和初始設定檔案spfilecjdl.ora裡的一樣才行。 [oracle@linuxserver ~]$ cd $ORACLE_HOME [oracle@linuxserver 11.2.0]$ cd dbs [oracle@linuxserver dbs]$ ls hc_cjdl.dat
Time of Update: 2018-12-08
本課內容屬於Oracle進階課程範疇,內容略微偏向理論性,但是與資料庫程式開發和管理、最佳化密切相關;另外本課的部分內容在前面章節已經涉及,請注意理論聯絡實際。事務 事務(Transaction)從
Time of Update: 2018-12-08
[sql] 複製代碼 代碼如下:create table wlbtest1( username varchar2(2), deptID number ); create table wlbtest2( deptName varchar2(10), deptID number ); insert into wlbtest1 values ('a', 1); insert into wlbtest1 values ('b', 1); insert into wlbtest1 values ('c',
Time of Update: 2018-12-08
在Oracle資料庫操縱中,登入Oracle帳號時提示失敗,並且Oracle帳號頻繁被鎖定。造成此故障的原因是什麼呢?本文就介紹了這一過程,經由過程慢慢排查我們就能找到該故障的原因了。 下面記錄下尋找這個題目的步調。 1. 找到帳號被鎖按時候 哄騙sqlplus或者sqldeveloper,查詢帳號被鎖定的時候,相干語句如下: --批改當前會話的日期顯示格局 alter session set nls_date_format = ""yyyy-MM-dd hh24:mi:ss"";
Time of Update: 2018-12-08
較典型的問題有:有時,表明明建有索引,但查詢過程顯然沒有用到相關的索引,導致查詢過程耗時漫長,佔用資源巨大,問題到底出在哪兒呢?按照以下順序尋找,基本上能發現原因所在。 尋找原因的步驟 首先,我們要確定資料庫運行在何種最佳化模式下,相應的參數是:optimizer_mode。可在svrmgrl中運行“showparameteroptimizer_mode"來查看。ORACLEV7以來預設的設定應是"choose",即如果對已分析的表查詢的話選擇CBO,否則選擇RBO。如果該參數設為“rule”,
Time of Update: 2018-12-08
複製代碼 代碼如下:-- Created on 2010/11/04 by WANGNAN declare -- Local variables here i integer; TYPE t_table IS TABLE OF VARCHAR2(10 ) INDEX BY VARCHAR2 (2); v_t_table t_table; TYPE t_pg3 IS TABLE OF asis.PG3_AGENTCD_CONVERSION% ROWTYPE; v_pg3_table t_pg3;
Time of Update: 2018-12-08
修改項目時,涉及到了Oracle中許多表的修改(包括:增加、刪除欄位,修改注釋等)。由於開始沒有進行記錄,造成在上測試機時,忘記了具體修改過哪些表了。後來在網上尋找了一些資料,例如: 複製代碼 代碼如下:1、select uat.table_name from user_all_tables uat 該SQL可以獲得所有使用者表的名稱 2、select object_name, created,last_ddl_time from user_objects
Time of Update: 2018-12-08
本文講述SQL Server、Oracle、MySQL查出值為NULL的替換。 在SQL Server Oracle MySQL當資料庫中查出某值為NULL怎麼辦? 1、MSSQL: ISNULL() 文法 Java代碼 複製代碼 代碼如下:ISNULL ( check_expression , replacement_value ) ISNULL ( check_expression , replacement_value ) 參數 check_expression 將被檢查是否為
Time of Update: 2018-12-08
在開發過程中可能會用到oracle table demo 動作陳述式,本文將以此進行介紹,需要的朋友可以參考下Sql代碼 複製代碼 代碼如下:-- Created on 2010/07/29 by WANGNAN declare -- Local variables here i1 VARCHAR2( 20) := '1' ; i2 VARCHAR2( 20) := '1' ; i3 VARCHAR2( 20) := '2' ; i4 VARCHAR2( 20) := '3' ; i5
Time of Update: 2018-12-08
在開發應用中如何擷取oracle的最大日期呢?本文將提供這樣一個擷取方法,需要的朋友可以參考下Sql代碼 複製代碼 代碼如下:-- Created on 2010/06/08 by NAN declare -- Local variables here TYPE t_test IS TABLE OF DATE INDEX BY BINARY_INTEGER; v_test t_test; v_date DATE; BEGIN -- Test statements here v_test(1) :
Time of Update: 2018-12-08
一、環境說明 來源資料庫: IP地址:192.168.137.100 sid:catalog 使用者名稱:rman 密碼:rman 目標資料庫: IP地址:192.168.137.101 sid:orcl 使用者名稱:rman 密碼:rman 二、在目標資料庫上建立到來源資料庫的tnsname 用oracle使用者登入目標資料庫,修改 $ORACLE_HOME/network/admin/tnsnames.ora檔案,增加如下內容 複製代碼 代碼如下:catalog =