Time of Update: 2018-12-08
一。查詢篇 1.查詢oracle資料表空間的使用方式 select b.file_id 檔案ID, b.tablespace_name 資料表空間, b.file_name 物理檔案名稱, b.bytes 總位元組數, (b.bytes-sum(nvl(a.bytes,0))) 已使用, sum(nvl(a.bytes,0)) 剩餘, sum(nvl(a.bytes,0))/(b.bytes)*100 剩餘百分比 from
Time of Update: 2018-12-08
Sql代碼 --擷取當前的SCN 複製代碼 代碼如下:select dbms_flashback.get_system_change_number scn1, timestamp_to_scn(sysdate) scn2 from dual; --將SCN轉換成功時間 複製代碼 代碼如下:select to_char(scn_to_timestamp(34607271), 'yyyy-mm-dd hh24:mi:ss') chr,
Time of Update: 2018-12-08
在Oracle中如果刪除了表中的某一條資料,還可以通過復原操作(rollback)進行復原,假如想清空一張 表的資料,但是又不想使其能進行復原操作,就可以立刻釋放資源,這時就需要使用截斷表了。它的主要功能就是徹底刪除資料,使其不能進行復原。這裡我打個比方大家就立刻能明了它的作用。大家眾所周知,當我們在自己的PC(personcomputer)上刪除某一個檔案,它並沒有徹底刪除而是進入了資源回收筒,你要在資源回收筒中再將其刪除才算徹底清除。截斷表就相當於直接將資料從pc上刪除,而不會清除。
Time of Update: 2018-12-08
1)、檢查叢集狀態: [grid@rac02 ~]$ crsctl check cluster CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online 2)、所有 Oracle 執行個體 —(資料庫狀態): [grid@rac02 ~]$ srvctl status
Time of Update: 2018-12-08
本文介紹了C#串連Oracle資料庫的過程。通過instant client和ODP.net中的Oracle.DataAccess.dll,我們就可以方便的部署.net應用程式或者網站,而不需要安裝Oracle用戶端。接下來我們就介紹這一過程。 1. ODAC的安裝 在oracle的官方網站上下載與你安裝的oracle對應版本的ODAC。 :ODAC Download 下載好後解壓安裝,安裝時不用安裝全部的組件。主要安裝以下組件: Oracle Instant Client Oracle
Time of Update: 2018-12-08
Linux作業系統下完全刪除Oracle資料庫詳述: 1.關掉oracle server 和 background processes ps -ef | grep ora 關掉資料庫 shutdown immediate 2.關掉監聽 lsnrctl status 如果開啟的話就執行lsnrctl stop 關掉 3.把$ORACLE_HOME下面的檔案刪掉 用dbca圖形介面把資料庫刪掉 4.把/usr/local/bin 下的三個檔案夾 dbhome oraenv coraenv刪掉 rm
Time of Update: 2018-12-08
1.基本概念 兩種功能:完成由資料庫的完整性條件約束難以完成的複雜商務規則的約束;監視資料庫的各種操作,實現審計功能。 觸發器分為:DML觸發器(對錶或視圖執行DML操作時觸發),INSTEAD OF觸發器(只定義在視圖上,替代實際的動作陳述式),系統觸發器(對資料庫系統進行操作時觸發,如DDL語句、啟動或關閉資料庫等) 觸發事件: 上述觸發器中括弧內容都是觸發事件。 觸發條件: WHEN子句 觸發對象:包括表、視圖、模式、資料庫。 觸發操作:觸發器自動執行的程式。
Time of Update: 2018-12-08
最近項目中有很多需要做大量操作的需求,用戶端把一組逗號分隔的ID字串傳給資料庫,預存程序就需要把它們分割,然後逐個處理。 以往的處理方式有如下幾種: 1、在預存程序內寫迴圈,逐個分析字串中的ID,然後逐個處理。缺點:迴圈一次處理一個,如果每次判斷都很多,效率將很受影響。適合每次處理要做單獨判斷的情況。2、使用暫存資料表,先調用一個預存程序將ID拆分並插入到暫存資料表中,然後結合暫存資料表可以寫SQL一次處理多筆。缺點:需要插暫存資料表,效率不高,資料量越大影響越嚴重。
Time of Update: 2018-12-08
注意點: 1.如果在PL/SQL 等工具裡開啟的話,直接修改下面的代碼中[斜體加粗部分]執行 2.確保路徑存在,比如【D:\oracle\oradata\Oracle9i\】也就是你要儲存檔案的路徑存在 /*分為四步 */ /*第1步:建立暫存資料表空間 */ 複製代碼 代碼如下:create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m
Time of Update: 2018-12-08
oracle中lpad的用法 pad翻譯:填充 lpad函數,在字串的左側添加指定字串,用法: www.2cto.com lpad(String ,截取長度,添加的字串)。 說是添加字串也不準確,比較準確的說法是對String進行截取字串, 如果截取長度大於String的長度,則在 String的左側添加字串進行填補,如果第三個參數未指定,則用空格進行填補。 例如: select lpad('test',10) from dual; 將返回“ test” select lpad('test',1
Time of Update: 2018-12-08
上周部落格中寫了oracle用戶端串連伺服器的文章,解決了在自己本本上安裝的煩惱。原來自己的電腦與伺服器在一個區域網路,所以每次都是遠程伺服器,但是遠程也不是解決的辦法哈,因為多個人使用同一個伺服器,所以使用極其不方便,在自己本本上安裝,又比較卡。因此才出現上邊部落格。嘻嘻,題外話。言歸正傳。從家回來,繼續我那工作,開啟oracle用戶端PLSQL,呀,突然串連不上了。咦,這是怎麼回事呢,前幾天運轉正常哩,回家三四天,咋成這樣了呢?遇到問題,冷靜分析其錯誤,從錯誤中,可以得知,目標主機,也就是用
Time of Update: 2018-12-08
普及一下oracle的基礎知識,總結一下,oracle 是由執行個體和資料庫組成。結構如下:oracle資料庫由執行個體、資料庫組成:* 資料庫由資料檔案(包含oracle 資料、索引、表結構等資料)、控制檔案(包括每個表的操作資訊)、記錄檔(資料操作sql語句)、參數檔案、口令檔案、日誌歸檔檔案(歸檔模式下)(伺服器崩潰、硬碟損壞情況下,通過日誌恢複時用)* 執行個體由 記憶體結構(memory strutct) 和 後台進程(background processor)組成。記憶體結構組成:*
Time of Update: 2018-12-08
Oracle的function中怎麼返回表變數? 太晚了,過多的理論知識就不說了,下面簡單地說實現吧!.. 1、建立表物件類型。 在Oracle中想要返回表對象,必須自訂一個表類型,如下所示: 複製代碼 代碼如下:create or replace type t_table is table of number; 上面的類型定義好後,在function使用可用返回一列的表,如果需要多列的話,需要先定義一個物件類型。然後把物件類型替換上面語句中的number; 定義物件類型: 複製代碼 代碼如下:
Time of Update: 2018-12-08
當表中的資料不需要時,則應該刪除該資料並釋放所佔用的空間,刪除表中的資料可以使用Delete語句或者Truncate語句,下面分別介紹。 一、delete語句 (1)有條件刪除 文法格式:delete [from] table_name [where condition]; 如:刪除users表中的userid為‘001'的資料:delete from users where userid='001'; (2)無條件刪除整個表資料 文法格式:delete table_name;
Time of Update: 2018-12-08
1.安裝Oracle Client串連到Oracle的前提是在SQL Server伺服器上安裝Oracle Client。Oracle
Time of Update: 2018-12-08
兩個並發事務同時訪問資料庫表相同的行時,可能存在以下三個問題:1、幻想讀:事務T1讀取一條指定where條件的語句,返回結果集。此時事務T2插入一行新記錄,恰好滿足T1的where條件。然後T1使用相同的條件重新查詢,結果集中可以看到T2插入的記錄,這條新紀錄就是幻想。2、不可重複讀取:事務T1讀取一行記錄,緊接著事務T2修改了T1剛剛讀取的記錄,然後T1重新查詢,發現與第一次讀取的記錄不同,這稱為不可重複讀取。3、髒讀:事務T1更新了一行記錄,還未提交所做的修改,這個T2讀取了更新後的資料,然
Time of Update: 2018-12-08
1. 停應用程式層的各種程式。 2. 停oralce的監聽進程: $lsnrctl stop 3. 在獨佔的系統使用者下,備份控制檔案: SQL>alter database backup controlfile to trace; 4. 在獨佔的系統使用者下,手工切換重作記錄檔,確保當前已修改過的資料存入檔案: SQL>alter system switch logfile; 5.
Time of Update: 2018-12-08
Union 與 Union ALL 的作用都是合并 SELECT 的查詢結果集,那麼它們有什麼不同呢? Union 將查詢到的結果集合并後進行重查,將其中相同的行去除。缺點:效率低; 而Union ALL 則只是合并查詢的結果集,並不重新查詢,效率高,但是可能會出現冗餘資料。 我們舉個例子來說明一下: 比如資料庫中有兩張表 tab1 和 tab2。tab1 中的資料有:小王小張tab2 中的資料有:小王小李執行查詢:複製代碼 代碼如下:SELECT * FROM tab1 UNION
Time of Update: 2018-12-08
Oracle不像SQLServer那樣在預存程序中用Select就可以返回結果集,而是通過Out型的參數進行結果集返回的。實際上是利用REF CURSOR 複製代碼 代碼如下:--procedure返回記錄集: ----------------------聲明一個Package-------------- CREATE OR REPLACE PACKAGE pkg_test AS TYPEmyrctypeIS REF CURSOR; PROCEDURE get_r(p_id
Time of Update: 2018-12-08
Web_THBC 為展示層也就是頁面(.aspx) BLL_THBC 為商務邏輯層 DAL_THBC 為資料庫互動層 (向資料庫執行SQL語句) Model_THBC 為實體類 DbHelper 為資料庫連接類 統計個專營店的男女數量 複製代碼 代碼如下:select dua.UARTERS_ID,dua.UARTERS_NAME ,sum(case when sex = '1' then 1 else 0 end) as Man ,sum(case when sex = '0' then 1