Time of Update: 2018-12-07
先查看哪些表被鎖住了:select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; OWNER OBJECT_NAME SESSION_ID LOCKED_MODE --------------------
Time of Update: 2018-12-07
查看系統是以pfile還是spfile啟動 Select isspecified,count(*) from v$spparameter group by isspecified; 如果isspecified裡有true,表明用spfile進行了指定配置 如果全為false,則表明用pfile啟動 使用SPfile的好處 Spfile改正了pfile管理混亂的問題,在多結點的環境裡,pfile會有多個image
Time of Update: 2018-12-07
(轉自 http://duqiangcise.javaeye.com/blog/563296)1.查看目前使用者所擁有的系統許可權 select * from session_privs; 2.查看資料庫內的所有角色 selec * from dba_roles; 3.查看資料庫所支援的最大角色數SQL> show parameter rolemax_enabled_roles integer 150 --該值可以修改os_roles
Time of Update: 2018-12-07
自從發布了一篇部落格Oracle免用戶端For .Net(增加分析Devart和DataDirect)後,非常非常多的同學前來問各種Oracle用戶端運行時安裝配置的問題,嚴重影響了我們團隊的正常工作和日常交流。我甚至多次懷疑我是不是不應該發那篇博文,但是又不忍心刪除! 我們寫那篇博文的初衷,僅僅是為使用我們的資料對應架構XCode(包含ORM)進行Oracle開發的同學而準備!
Time of Update: 2018-12-07
Oracle中函數以前介紹的字串處理,日期函數,數學函數,以及轉換函式等等,還有一類函數是通用函數。主要有:NVL,NVL2,NULLIF,COALESCE,這幾個函數用在各個類型上都可以。下面簡單介紹一下幾個函數的用法。在介紹這個之前你必須明白什麼是oracle中的空值null1.NVL函數NVL函數的格式如下:NVL(expr1,expr2)含義是:如果oracle第一個參數為空白那麼顯示第二個參數的值,如果第一個參數的值不為空白,則顯示第一個參數本來的值。例如:SQL>
Time of Update: 2018-12-07
如何?自動備份本目錄中給出了五個.sh指令檔,它們的作用分別為:1. export.sh——匯出資料庫中所有owner為zhaoilei的表2. hotbackup.sh——對資料庫進行全庫備份3. rm.sh——刪除無用的備份和匯出資訊4. rmsh.sh——利用時間觸發前面三個指令檔5. ftp.sh ——自動上傳到Web伺服器 關於上述指令碼有兩點說明:1.
Time of Update: 2018-12-07
下面執行個體在C#中串連Oracle資料庫(Name),從表(TableName)中讀取資料,並寫入Excel。string cnString="Provider=msdaora.1;Data source=Name; ";cnString=cnString+"user id=UserName;password=Password";try{OleDbConnection cn=new OleDbConnection (cnString);cn.Open ();try{string
Time of Update: 2018-12-07
功能:Oracle資料匯入匯出imp/exp就相當與oracle資料還原與備份。大多情況都可以用Oracle資料匯入匯出完成資料的備份與還原(不會造成資料的丟失)。Oracle有個好處,雖然你的電腦不是伺服器,但是你裝了oracle用戶端,並建立了串連(通過net8 assistant中本地-->服務命名
Time of Update: 2018-12-07
1.在表之間傳輸資料 1)利用INSERT傳輸資料insert into test1 (select name2,age2 from test2); 從上面的操作可以看出,可通過SELECT向一個表中成批地添加資料,但應注意:資料類型要一致,所選擇的列數應一致。此語句的文法格式如下: INSERT INTO table_name ( SELECT statement ) ; 2)基於已有的表建立新表 文法為: CREATE TABLE new_table_name AS SELECT
Time of Update: 2018-12-07
在Oracle資料庫中,關於約束的狀態有下面兩個參數: initially (initially immediate 或 initially deferred) deferrable(deferrable 或 not deferrable) 第1個參數,指定預設情況下,約束的驗證時刻(在事務每條子句結束時,還是在整個事務結束時)。 第2個參數,指定了在事務中,是否可以改變上一條參數的設定。 如果不指定上述參數,預設設定是
Time of Update: 2018-12-07
Oracle的線上重定義表功能在一個高可用系統中,如果需要改變一個表的定義是一件比較棘手的問題,尤其是對於7×24系統。Oracle提供的基本文法基本可以滿足一般性修改,但是對於把普通堆表改為分區表,把索引組織表修改為堆表等操作就無法完成了。而且,對於被大量DML語句訪問的表,幸運的是,Oracle從9i版本開始提供了線上重定義表功能,通過調用DBMS_REDEFINITION包,可以在修改表結構的同時允許DML操作。 線上重定義表具有以下功能:修改表的儲存參數;可以將錶轉移到其他資料表空間;增
Time of Update: 2018-12-07
近期參加OCP培訓,講師說的太快,之前一直是SQLSERVER,很多東西要惡補了。UpSert功能:MERGE <hint> INTO <table_name>USING <table_view_or_query>ON (<condition>)WHEN MATCHED THEN <update_clause>WHEN NOT MATCHED THEN <insert_clause>;multiTable
Time of Update: 2018-12-07
我只是一名普通的.Net開發人員,常用SqlServer,偶爾用其它資料庫,屬於能連上然後select/execute就行的那種。但就是我這麼小的願望,在面對Oracle時都很難實現。
Time of Update: 2018-12-07
1、flashback drop 目前,Oracle10g為了加快使用者錯誤操作的恢複,提供了flashback drop新特性。 flashback
Time of Update: 2018-12-07
Oracle的備份一般都是在作業系統上完成,因此定時備份Oracle的功能一般都是由作業系統功能完成,比如crontab。但是Oracle的PIPE介面使得在Oracle資料庫中通過JOB來備份Oracle變得可能。這篇文章給出一個簡單的例子,說明如何在JOB中定期備份資料庫。首先需要保證RMAN已PIPE方式一直在後台運行:[oracle@member member]$ rman pipe PJOB target / nocatalog[oracle@member member]$
Time of Update: 2018-12-07
可傳輸資料表空間:使用一組自包含、唯讀資料表空間,只匯出中繼資料,在作業系統層將這些資料表空間的資料檔案拷貝至目標平台,並將中繼資料匯入資料字典。在 Oracle9i 資料庫和更低版本中,可傳輸資料表空間僅限於在目標資料庫和來源資料庫都運行在同一作業系統平台上的少數情況下才有用 — 例如,您不能在 Solaris 和 HP-UX 平台之間傳輸資料表空間。在 Oracle 資料庫 10g
Time of Update: 2018-12-07
和其他的關係型資料庫一樣,oracle中也能進行一些隱式的資料轉換,這對我們寫SQL語句有非常用,我們可以不必麻煩地手動轉化很多類型的字元。雖然前面我們介紹了一些使用例如to_char,to_date的函數進行強制轉換的方法,但是隱式轉換也還是不錯的。Oracle可以隱式地進行一些變數類別之間轉化,例如從字串轉換到數值,看下面的例子。SQL> select ename,sal from emp where sal = ‘1100′; ENAME SAL——————– ———-SMITH 1
Time of Update: 2018-12-07
前面的各種例子已經說明了分頁查詢語句的標準寫法所帶來的效能提升。這裡簡單總結一下,並簡單的說明分頁查詢語句在何時無法帶來效能提升。分頁查詢語句之所以可以很快的返回結果,是因為它的目標是最快的返回第一條結果。如果每頁有20條記錄,目前翻到第5頁,那麼只需要返回前100條記錄都可以滿足查詢的要求了,也許還有幾萬條記錄也符合查詢的條件,但是由於分頁的限制,在當前的查詢中可以忽略這些資料,而只需儘快的返回前100條資料。這也是為什麼在標準分頁查詢語句中經常會使用FIRST_ROWS提示的原因。對於行操作
Time of Update: 2018-12-07
前面我們介紹了,使用oracle的彙總函式和group by關鍵字來對結果集合進行分組,這時就有了一個新的問題,例如,我們針對彙總函式那一列需要找到滿足條件的那些分組結果。我們可以使用where子句嗎?不行,我們需要的是使用having關鍵字。例如我們需要找出那些平均工資在$2000以上的部門。使用having關鍵字的寫法是:Select deptno,avg(sal) avg_salFrom empGroup by deptnoHaving avg(sal) >
Time of Update: 2018-12-07
前面我們介紹了oracle中Regex的基本元字元和常用的兩個函數regexp_like 和