Time of Update: 2014-06-15
Oracle 作為一種大型資料庫,廣泛應用於金融、郵電、電力、民航等資料輸送量巨大,電腦網路廣泛普及的重要部門。對於系統管理員來講,如何保證網路穩定運行,如何提高資料庫效能,使其更加安全高效,就顯得尤為重要。作為影響資料庫效能的一大因素 -- 資料庫片段,應當引起 DBA 的足夠重視,及時發現並整理片段乃是 DBA 一項基本維護內容。 1、片段是如何產生的 當產生一個資料庫時,它會分成稱為資料表空間( Tablespace )的多個邏輯段( Segment ),如系統(System)資料表空間
Time of Update: 2014-06-15
Oracle 資料分割函數可以提高許多應用程式的可管理性、效能與可用性。通過資料分割函數,可以將表、索引和索引組織表進一步細分為段,從而能夠更精確地管理和訪問這些資料庫物件。Oracle 提供了種類繁多的資料分割配置以滿足每種業務要求。 而且,因為在 SQL 陳述式中分區是完全透明的,所以該功能幾乎可應用於任何應用程式。 資料分割函數的優勢
Time of Update: 2014-06-15
在MySQL中使用預設字元集為utf8,結果想要把中文按拼音排序出現了問題,排出來的順序亂七八糟,不是我們想要的結果。解決方案如下:1、不想改變表定義及預設編碼的情況,將欄位先轉換成gbk編碼再排序:SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ;前提是在安裝MySQL時安裝了gbk字元集,不然會報錯:#1115 - Unknown character set:
Time of Update: 2014-06-15
Oracle資料檔案的大小存在一個內部限制,這個限制是:每個資料檔案最多隻能包含2^22-1個資料區塊。這個限制也就直接導致了每個資料檔案的最大允許大小。在2K
Time of Update: 2014-06-15
查看請求,然後點診斷(Diagnostic)後,有個View XML按鈕,不過有時可用,有時確實灰的,為什嗎?要做到View XML啟用需要做兩點準備工作:1. Output必須為XML:Output Format改成XML後跑的請求可到output路徑下查到對應的xml檔案(oXXXXX.out),如果提交請求的時候選了rtf模板並且輸出格式為pdf,則還可以找到相應的PDF檔案:select outfile_name from fnd_concurrent_requests where
Time of Update: 2014-06-15
MySQL 的 InnoDB 儲存引擎不僅可以緩衝索引,而且還可以快取資料,如果將其表和索引儲存在裸裝置(Raw Device)上,從而繞過了檔案系統的快取和緩衝器而直接存取磁碟,那麼將大大降低Linux檔案系統的負擔,使系統效能獲得顯著改善。另外,從裸裝置在資料庫應用的最佳化原理中,我們也可以看到最佳化資料庫的一個基本方向,就是如何設法降低因資料庫特有的 I/O
Time of Update: 2014-06-15
一、list常用命令總結備忘 list命令列出控制檔案、RMAN恢複目錄中備份資訊,是我們對所有可見的Database Backup檔案的一個最直觀的瞭解的方法 list incarnation; list backup summary; list backup of database summary;
Time of Update: 2014-06-15
用filesperset控製備份集的尺寸當指定filesperset參數時,rman比較filesperset與自動計算出來的值(對每個已指派通道的檔案數目)並取其中較小的那個值來保證所有的通道被使用。如果指定或者通過組合backupSpec語句暗示的檔案數目比filesperset要大,那麼rman建立多個備份組來維護正確的速率(ratio);如果沒有指定filesperset,rman比較計算出來的值(檔案數目除以已指派的通道)和預設值64,並取其中較小的那個值來保證所有通道可用。Rman通
Time of Update: 2014-06-15
Oracle三個設定檔 listener.ora 、sqlnet.ora 、tnsnames.ora ,都是放在$ORACLE_HOME\network\admin 目錄下。 1. sqlnet.ora----- 作用類似於linux 或者其他unix 的nsswitch.conf 檔案,通過這個檔案來決定怎麼樣找一個串連中出現的連接字串。 例如我們用戶端輸入 sqlplus sys/oracle@orcl 假如我的sqlnet.ora 是下面這個樣子
Time of Update: 2014-06-15
環境:idle> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production
Time of Update: 2014-06-15
作業系統版本: Linux 64位資料庫版本:任何版本問題描述修改資料庫參數後啟動資料庫報錯SQL> startup nomountORA-27102: out of memoryLinux-x86_64 Error: 28: No space left on
Time of Update: 2014-06-15
NAME TYPE VALUE--------------------------------- ----------- ------------------------------audit_trail string DB大家好!最近公司伺服器system資料表空間越來越大,segments logical reads,segments physical reads
Time of Update: 2014-06-15
客戶自從使用nbu 以來一直報這個錯誤。因為以前一直都是正常的。所以晚上先讓停止了nbu的備份。單獨使用以前的指令碼正常。報錯資訊一樣。所以懷疑是不是指令碼的問題。查詢網上分析原因如下:SymptomsWhen attempting to delete obsolete backups from RMAN using the following command:RMAN> delete obsolete;the following error occurs:RMAN-00571: ====
Time of Update: 2014-06-15
對CLOB欄位進行全文檢索索引可以用SELECT語句,但如果使用WHERE子句時必須使用dbms_lob.instr()函數,命令如下:首先建立一個測試表TEST:SQL>CREATE TABLE TEST3(A CLOB,B INT,C INT);然後往表裡插入資料:SQL> INSERT INTO TEST3 VALUES('TEST 測試 CLOB',11111,22222);1 row created.SQL> commit;Commit complete.
Time of Update: 2014-06-15
公有網路:對外提供服務,用於用戶端、應用系統和資料庫之間的串連。一般除了維護資料庫外,使用者很少直接連接資料庫,常見做法是使用者通過中介軟體(application server)串連到資料庫優點:資料庫連接可以緩衝和重用。中介軟體可以在啟動時一次建立多個資料庫連接,然後在一個生命週期內保持,多個使用者可以重用相同的資料庫連接,這樣可以避免頻繁地建立和釋放資料庫連接,減少系統資源的消耗。私人網路:Oracle clusterware 和 instance 使用此網路進行通訊。Oracle
Time of Update: 2014-06-15
我們都知道在controlfile中記錄著每一個archivelog的相關資訊,當然們在OS下把這些物理檔案delete掉後,在我們的controlfile中仍然記錄著這些archivelog的資訊,在Oracle的OEM管理器中有可視化的日誌展現出,當我們手工清除archive目錄下的檔案後,這些記錄並沒有被我們從controlfile中清除掉,也就是oracle並不知道這些檔案已經不存在了!這時候我們要做手工的清除的話,下面我經過實驗,可以嘗試這種方法:1. 進入rman 2.
Time of Update: 2014-06-15
OCR就好比Windows的一個註冊表,儲存了所有與叢集,RAC資料庫相關的配置資訊。而且是公用的配置,也就是說多個節點共用相同的配置資訊。因此該配置應當儲存於共用磁碟。本文主要基於Oracle 10g RAC描述了叢集的OCR以及OCR產生的健忘問題。一、OCR的特點 類似於Windows註冊表,用於儲存所有與叢集,RAC資料庫相關的配置資訊 被多個節點所共用,因此,只能儲存於共用磁碟。支援單disk以及鏡像方式來存放。大小通常100MB-1GB。
Time of Update: 2014-06-15
前言最好的學習就是實戰!因此我的學習也就是從實戰中展開的。在一切SQL語句中最基本的莫過於查詢語句了,因此筆者也是從select語句開始學習的。(其實這部分筆者)已經掌握,但是還是有必要重新掌握的。對於前期的學習,主要用到的是Oracle資料庫中本就存在的一些表,這裡筆者使用Scott這個經典使用者進行相關練習與操作!開始吧!一條簡單的查詢:select *from emp;--查詢emp表的全部資訊,簡單到無可附加查詢中使用運算式 select emp.sal*12 from
Time of Update: 2014-06-15
情境描述: Oracle資料庫中有2張表,一張是tm_bus_realtime_log當前表 只有當前一天的資料。資料量有幾百萬的資料。還有一張表,tm_bus_realtime_his曆史表 進行了分區。每10天一分區,就是每個月有3個分區。整個曆史表有幾億的資料量。每個分區有千萬條資料。問題描述: 在從曆史表的分區中,查詢資料時,很慢,由於資料量非常大,如果想查詢幾天的資料更慢?應該如何提高查詢的速度?在論壇上發了一個關於這方面的一個文章,非常感謝留下意見的人,一些好的建議如下:1 改成
Time of Update: 2014-06-15
一般情況我們作為非DBA人士,只關注一些SQL的指標,主要指標見,詳細的解釋見下面的描述。SQL ordered byElapsed Time 記錄了執行總和時間的TOP SQL(請注意是監控範圍內該SQL的執行時間總和,而不是單次SQL執行時間 Elapsed Time = CPU Time + Wait Time)。 Elapsed Time(S):