




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Oracle數據庫系統安裝及配置標準2015-10目錄1.數據庫物理設計原則51.1.數據庫環境配置原則51.1.1.操作系統環境51.1.2.內存要求51.1.3.交換區設計51.1.4.其他61.2.數據庫設計原則61.2.1.數據庫SID61.2.2.數據庫全局名61.2.3.數據庫類型選擇61.2.4.數據庫連接類型選擇71.2.5.數據庫SGA配置71.2.6.數據庫字符集選擇81.2.7.數據庫其他參數配置91.2.8.數據庫控制文件配置91.2.9.數據庫日志文件配置101.2.10.數據庫回滾段配置101.2.11.數據庫臨時段表空間配置111.2.12.數據庫系統表空間配置1
2、11.3.數據庫表空間設計原則111.3.1.表空間大小定義原則111.3.2.表空間擴展性設計原則121.4.裸設備的使用122.數據庫邏輯設計原則132.1.命名標準132.1.1.表屬性標準132.1.2.索引142.1.3.視圖152.1.4.實體化視圖152.1.5.存儲過程152.1.6.觸發器152.1.7.函數162.1.8.數據包162.1.9.序列162.1.10.表空間162.1.11.數據文件162.1.12.普通變量162.1.13.游標變量172.1.14.記錄型變量172.1.15.表類型變量172.1.16.數據庫鏈172.2.命名172.2.1.語言172.2
3、.2.大小寫182.2.3.單詞分隔182.2.4.保留字182.2.5.命名長度182.2.6.字段名稱182.3.數據類型182.3.1.字符型182.3.2.數字型192.3.3.日期和時間192.3.4.大字段192.3.5.唯一鍵192.4.設計202.4.1.范式202.4.2.表設計202.4.3.索引設計232.4.4.視圖設計242.4.5.包設計242.4.6.安全性設計252.5.SQL編寫262.5.1.字符類型數據262.5.2.復雜sql272.5.3.高效性272.5.4.健壯性282.5.5.安全性292.5.6.完整性303.備份恢復設計原則303.1.數據庫
4、exp/imp備份恢復303.1.1.數據庫級備份原則303.1.2.用戶級備份原則303.1.3.表級備份原則313.2.數據庫冷備份原則313.3.Rman備份恢復原則313.3.1.Catalog數據庫313.3.2.Archive Log333.3.3.全備份策略333.3.4.增量備份策略333.3.5.恢復原則333.4.備用數據庫原則343.5.一些小經驗343.6.系統調優知識353.6.1.生成狀態報表statspack的使用353.6.2.sql追蹤363.6.3.內存調整373.6.4.排序的優化403.6.5.統計信息414.設計工具421. 數據庫物理設計原則1.1.
5、 數據庫環境配置原則1.1.1. 操作系統環境對于中小型數據庫系統,采用linux操作系統比較合適,對于數據庫冗余要求負載均衡能力要求較高的系統,可以采用Oracle10gRAC的集群數據庫的方法,集群節點數范圍在264個。對于大型數據庫系統,可以采用Sun Solaris SPARC 64位小型機系統或HP 9000 系列小型機系統。RAD5 適合只讀操作的數據庫,RAD1 適合OLTP數據庫。1.1.2. 內存要求對于linux操作系統下的數據庫,由于在正常情況下Oracle對SGA的管理能力不超過1.7G。所以總的物理內存在4G以下。SGA的大小為物理內存的50%75%。對于64位的小型
6、系統,Oracle數據庫對SGA的管理超過2G的限制,SGA設計在一個合適的范圍內:物理內存的50%70%,當SGA過大的時候會導致內存分頁,影響系統性能。1.1.3. 交換區設計當物理內存在2G以下的情況下,交換分區swap為物理內存的3倍,當物理內存>2G的情況下,swap大小為物理內存的12倍。1.1.4. 其他其他環境變量參考Oracle相關的安裝文檔和隨機文檔。1.2. 數據庫設計原則1.2.1. 數據庫SID數據庫SID是唯一標志數據庫的符號,命名長度不能超過5個字符。對于單節點數據庫,以字符開頭的5個長度以內字串作為SID的命名。對于集群數據庫,當命名SID后,各節點SID
7、自動命名為SIDnn,其中nn為節點號:1,2,,64。例如rac1、rac2、rac24。1.2.2. 數據庫全局名數據庫全局名稱:<sid>.domain1.2.3. 數據庫類型選擇對于海量數據庫系統,采用data warehouse的類型。對于小型數據庫或OLTP類型的數據庫,采用Transaction Processing類型。1.2.4. 數據庫連接類型選擇Oracle數據庫有專用服務器連接類型和多線程服務器MTS連接類型。對于批處理服務,需要專用服務器連接方式,而對于OLTP服務則MTS的連接方式比較合適。由于采用MTS后,可以通過配置網絡服務實現某些特定批處理服務采用
8、專用服務器連接方式,所以數據庫設計時一般采用MTS類型。1.2.5. 數據庫SGA配置數據庫SGA可以采用手工配置或按物理內存比例配置,在數據庫初始設計階段采用按比例配置方式,在實際應用中按系統調優方式修改SGA。1.2.6. 數據庫字符集選擇為了使數據庫能夠正確支持多國語言,必須配置合適的數據庫字符集,采用UTF8字符集。注意:如果沒有大對象,在使用過程中進行語言轉換沒有什么影響,具體過程如下切記設定的字符集必須是ORACLE支持,不然不能startSQL> shutdown immediate;SQL> startup mount;SQL> alter system en
9、able restricted session;SQL> alter system set job_queue_processes=0;SQL> alter database open;SQL> alter database character set internal_use we8iso8859p1;SQL> shutdown immediate;SQL> startup1.2.7. 數據庫其他參數配置. DB_FILESDb_files是數據庫能夠同時打開的文件數量,默認值是200個。當數據庫規劃時文件數量FILES接近或超過200個時候,按以
10、下估計值配置:. Db_block_size一個extent要是5個blocks的倍數為好,如:一個blocks是4096字節,那一個extent就是2M、4M或8M為好。Db_block_size是數據庫最小物理單元,一旦數據庫創建完成,該參數無法修改,db_block_size按以下規則調整:數據倉庫類型: db_block_size盡可能大,采用8192 或 16384OLTP類型: db_block_size 用比較小的取值范圍: 2048 或 4096Blocks推薦是系統操作的塊倍數裸設備塊大小是512字節,NTFS是 4K,使用8K的方式在大部分系統上通用。1.2.
11、8. 數據庫控制文件配置. 控制文件鏡象多個控制文件存放在不同的物理位置。. 控制文件配置控制文件中參數設置,最大的數據文件數量不能小于數據庫參數db_files。1.2.9. 數據庫日志文件配置. 日志文件大小日志文件的大小由數據庫事務處理量決定,在設計過程中,確保每20分鐘切換一個日志文件。所以對于批處理系統,日志文件大小為幾百M 到幾G的大小。對于OLTP系統,日志文件大小為幾百M以內。. 日志文件組數量對于批處理系統,日志文件組為510組;對于OLTP系統,日志文件組為 35組,每組日志大小保持一致;對于集群數據庫系統,每節點有各
12、自獨立的日志組。. 日志成員數量為了確保日志能夠鏡象作用,每日志組的成員為2個。1.2.10. 數據庫回滾段配置在Oracle9i數據庫中,設計Undo表空間取代以前版本的回滾段表空間。Undo 表空間大小的設計標準由以下公式計算:Undospace = UR * UPS *db_block_size+ 冗余量UR: 表示在undo中保持的最長時間數秒,由數據庫參數UNDO_RETENTION值決定。UPS:表示在undo中,每秒產生的數據庫塊數量。1.2.11. 數據庫臨時段表空間配置數據庫臨時段表空間根據實際生產環境情況調整其大小,表空間屬性為自動擴展。1.2.12. 數據庫
13、系統表空間配置系統表空間大小1G左右,除了存放數據庫數據字典的數據外,其他數據不得存儲在系統表空間。1.3. 數據庫表空間設計原則1.3.1. 表空間大小定義原則當表空間大小小于操作系統對最大文件限制時,表空間由一個文件組成。如果表空間大小大于操作系統對最大文件限制時,該表空間由多個數據文件組成,表空間的總大小為估算為:Tablespace + sum (數據段+索引段)*150%。1.3.2. 表空間擴展性設計原則表空間數據文件采用自動擴展的方式,擴展容量快大小按2的整數倍1M、2M、4M、8M、16M、32M、64M進行擴展,創建表空間時盡量采用nologing選項。表空間的最大限制一般采
14、用unlimited,除非確切知道表空間數據文件的最大使用范圍。一般windows 位系統的文件最大,位的unix系統系統文件最大G,但也要注意文件格式設定的文件大小,建議最大為2G。表空間采用local管理方式,例如: CREATE TABLESPACE TBS_USERINFODATAFILE /oradata/tbs_userinfo.dbf SIZE 8MREUSE AUTOEXTEND ON NEXT 2M MAXSIZE UNLIMITEDNOLOGGINGEXTENT MANAGEMENT LOCAL AUTOALLOCATESEGMENT SPACE MANAGEMENT AU
15、TO;CNOUG博客首頁cl5|N%H$u J1.4. 裸設備的使用一個scsi設備可以 14個分區,unix操作系統256個分區,性能比文件系統方式高15左右,空間大于要小于(實際分區大小減兩個ORACLE的數據塊),比方100M,大于為100000K,推薦在unix使用軟連接(ln)方式把裸設備形成文件,用加入表空間時加resue 選項,當然也可只接把設備加入表空間,移動裸設備使用dd命令。對于windows平臺,oracle提供軟連接工具,實現裸設備的使用,計算一條記錄的長度。2. 數據庫邏輯設計原則2.1. 命名標準2.1.1. 表屬性標準. 表名前綴為Tbl_ 。數據表
16、名稱必須以有特征含義的單詞或縮寫組成,中間可以用“_”分割,例如:tbl_pstn_detail。表名稱不能用雙引號包含。. 表分區名前綴為p 。分區名必須有特定含義的單詞或字串。例如 :tbl_pstn_detail 的分區p2004100101表示該分區存儲 2004100101時段的數據。. 字段名字段名稱必須用字母開頭,采用有特征含義的單詞或縮寫,不能用雙引號包含。. 主鍵名前綴為PK_。主鍵名稱應是 前綴+表名+構成的字段名。如果復合主鍵的構成字段較多,則只包含第一個字段。表名可以去掉前綴。. 外鍵名前綴為FK_。外鍵名稱應是
17、前綴+ 外鍵表名 + 主鍵表名 + 外鍵表構成的字段名。表名可以去掉前綴。2.1.2. 索引. 普通索引前綴為IDX_。索引名稱應是 前綴+表名+構成的字段名。如果復合索引的構成字段較多,則只包含第一個字段,并添加序號。表名可以去掉前綴。. 主鍵索引前綴為IDX_PK_。索引名稱應是 前綴+表名+構成的主鍵字段名,在創建表時候用using index指定主鍵索引屬性。. 唯一索引前綴為IDX_UK_。索引名稱應是 前綴+表名+構成的字段名。. 外鍵索引前綴為IDX_FK_。索引名稱應是 前綴+表名+構成的外鍵字段名。. 函數
18、索引前綴為IDX_func_。索引名稱應是 前綴+表名+構成的特征表達字符。. 蔟索引前綴為IDX_clu_。索引名稱應是 前綴+表名+構成的簇字段。2.1.3. 視圖前綴為V_。按業務操作命名視圖。2.1.4. 實體化視圖前綴為MV_。按業務操作命名實體化視圖。2.1.5. 存儲過程前綴為Proc_ 。按業務操作命名存儲過程。2.1.6. 觸發器前綴為Trig_ 。觸發器名應是 前綴 + 表名 + 觸發器名。2.1.7. 函數前綴為Func_ 。按業務操作命名函數。2.1.8. 數據包前綴為Pkg_ 。按業務操作集合命名數據包。2.1.9. 序列前綴為Seq_ 。按業務屬性命名
19、。2.1.10. 表空間. 公用表空間前綴為Tbs_ 。 根據存儲的特性命名,例如: tbs_parameter 。. 專用表空間Tbs_<表名稱>_nn。該表空間專門存儲指定的某一個表,或某一表的假設干個分區的數據。2.1.11. 數據文件<表空間名>nn.dbf 。nn =1,2,3,4,等。2.1.12. 普通變量前綴為Var_ 。 存放字符、數字、日期型變量。2.1.13. 游標變量前綴為Cur_ 。存放游標記錄集。2.1.14. 記錄型變量前綴為Rec_ 。 存放記錄型數據。2.1.15. 表類型變量前綴為Tab_ 。 存放表類
20、型數據。2.1.16. 數據庫鏈前綴為dbl_ 。 表示分布式數據庫外部鏈接關系。2.2. 命名2.2.1. 語言命名應該使用英文單詞,防止使用拼音,特別不應該使用拼音簡寫。命名不允許使用中文或者特殊字符。英文單詞使用用對象本身意義相對或相近的單詞。選擇最簡單或最通用的單詞。不能使用毫不相干的單詞來命名。當一個單詞不能表達對象含義時,用詞組組合,如果組合太長時,采用用簡或縮寫,縮寫要基本能表達原單詞的意義。當出現對象名重名時,是不同類型對象時,加類型前綴或后綴以示區別。2.2.2. 大小寫名稱一律大寫,以方便不同數據庫移植,以及防止程序調用問題。2.2.3. 單詞分隔命名的各單詞之間可以使用下
21、劃線進行分隔。2.2.4. 保留字命名不允許使用SQL保留字。2.2.5. 命名長度表名、字段名、視圖名長度應限制在20個字符內(含前綴)。2.2.6. 字段名稱同一個字段名在一個數據庫中只能代表一個意思。比方telephone在一個表中代表“ 號碼”的意思,在另外一個表中就不能代表“ 號碼”的意思。不同的表用于相同內容的字段應該采用同樣的名稱,字段類型定義。2.3. 數據類型2.3.1. 字符型固定長度的字串類型采用char,長度不固定的字串類型采用varchar。防止在長度不固定的情況下采用char類型。如果在數據遷移等出現以上情況,則必須使用trim()函數截去字串后的空格。2.3.2.
22、 數字型數字型字段盡量采用number類型,要注意精度。2.3.3. 日期和時間. 系統時間由數據庫產生的系統時間首選數據庫的日期型,如DATE類型。. 外部時間由數據導入或外部應用程序產生的日期時間類型采用varchar類型,數據格式采用:YYYYMMDDHH24MISS。2.3.4. 大字段如無特別需要,防止使用大字段(blob,clob,long,text,image等)。2.3.5. 唯一鍵對于數字型唯一鍵值,盡可能用系列sequence產生。2.4. 設計2.4.1. 范式如無性能上的必須原因,應該使用關系數據庫理論,到達較高的范式,防止數據冗余,但是如果
23、在數據量上與性能上無特別要求,考慮到實現的方便性可以有適當的數據冗余,但基本上要到達3NF.如非確實必要,防止一個字段中存儲多個標志的做法。如11101表示5個標志的一種取值。這往往是增加復雜度,降低性能的地方。2.4.2. 表設計. 邏輯段設計原則.1. Tablespace每個表在創建時候,必須指定所在的表空間,不要采用默認表空間以防止表建立在系統表空間上導致性能問題。對于事務比較繁忙的數據表,必須存放在該表的專用表空間中。.2. Pctused默認pctused導致數據庫物理空間利用率非常低40%左右;對于update比較少或update不導致行
24、增大的表,pctused可設置在6085之間;對于update能夠導致行增大的表,update設置在4070之間。.3. Initrans對于需要并行查詢或者在RAC數據庫中需要并行處理的表,initrans設置為2的倍數,否則,不設該值。.4. Storage1) Initial盡量減少表數據段的extents數量,initial的大小盡量接近數據段的大小64K,128K, ,1M,2M,4M,8M,16M ,等按2的倍數進行圓整。例如表或分區數據段大小為28M,則initial取32M。2) Next表或分區擴展extents的大小,按上述方法進行圓整。當表或分
25、區數據段無法按Initial接近值進行圓整的情況下,其大小可以按 Initial+Next進行圓整。此時,必須設置Minextents=2。例如:表或分區數據段大小為150M,則Initial=128M;Next=32M,Minextents=2。3) Minextents該參數表示表創建時候Extents的初始數量,一般取12。4) Pctincrease表示每個擴展Extents的增長率,設置pctincrease=0能夠獲得較好的存儲性能。. 特殊表設計原則.1. 分區表對于數據量比較大的表,根據表數據的屬性進行分區,以得到較好的性能。如果表按某些字段進行增長
26、,則采用按字段值范圍進行范圍分區;如果表按某個字段的幾個關鍵值進行分布,則采用列表分區;對于靜態表,則采用hash分區或列表分區;在范圍分區中,如果數據按某關鍵字段均衡分布,則采用子分區的復合分區方法。.2. 聚蔟表如果某幾個靜態表關系比較密切,則可以采用聚蔟表的方法。. 完整性設計原則.1. 主鍵約束關聯表的父表要求有主健,主健字段或組合字段必須滿足非空屬性和唯一性要求。對于數據量比較大的父表,要求指定索引段。.2. 外鍵關聯對于關聯兩個表的字段,一般應該分別建立主鍵、外鍵。實際是否建立外鍵,根據對數據完整性的要求決定。為了提高性能,對
27、于數據量比較大的標要求對外健建立索引。對于有要求級聯刪除屬性的外鍵,必須指定on delete cascade 。.3. NULL值對于字段能否null,應該在sql建表腳本中明確指明,不應使用缺省。由于NULL值在參加任何運算中,結果均為NULL。所以在應用程序中必須利用nvl()函數把可能為NULL值得字段或變量轉換為非NULL的默認值。例如:NVLsale,0。.4. Check條件對于字段有檢查性約束,要求指定check規則。.5. 觸發器觸發器是一種特殊的存儲過程,通過數據表的DML操作而觸發執行,起作用是為確保數據的完整性和一致性不被破壞而
28、創建,實現數據的完整約束。觸發器的before或after事務屬性的選擇時候,對表操作的事務屬性必須與應用程序事務屬性保持一致,以防止死鎖發生。在大型導入表中,盡量防止使用觸發器。. 注釋表、字段等應該有中文名稱注釋,以及需要說明的內容。2.4.3. 索引設計對于查詢中需要作為查詢條件的字段,可以考慮建立索引。最終根據性能的需要決定是否建立索引。對于復合索引,索引字段順序比較關鍵,把查詢頻率比較高的字段排在索引組合的最前面。在分區表中,盡量采用local分區索引以方便分區維護。除非時分區local索引,否則在創建索引段時候必須指定指定索引段的tablespace、storage屬
29、性,具體參考內容。2.4.4. 視圖設計視圖是虛擬的數據庫表,在使用時要遵循以下原則:1) 從一個或多個庫表中查詢部分數據項;2) 為簡化查詢,將復雜的檢索或字查詢通過視圖實現; 3) 提高數據的安全性,只將需要查看的數據信息顯示給權限有限的人員;4) 視圖中如果嵌套使用視圖,級數不得超過3級; 5) 由于視圖中只能固定條件或沒有條件,所以對于數據量較大或隨時間的推移逐漸增多的庫表,不宜使用視圖;可以采用實體化視圖代替;6) 除特殊需要,防止類似Select * from TableName 而沒有檢索條件的視圖;7) 視圖中盡量防止出現數據排序的SQL語句。2.4.5. 包設計
30、存儲過程、函數、外部游標必須在指定的數據包對象PACKAGE中實現。存儲過程、函數的建立如同其它語言形式的編程過程,適合采用模塊化設計方法;當具體算法改變時,只需要修改需要存儲過程即可,不需要修改其它語言的源程序。當和數據庫頻繁交換數據是通過存儲過程可以提高運行速度,由于只有被授權的用戶才能執行存儲過程,所以存儲過程有利于提高系統的安全性。存儲過程、函數必須檢索數據庫表記錄或數據庫其他對象,甚至修改執行Insert、Delete、Update、Drop、Create等操作數據庫信息。如果某項功能不需要和數據庫打交道,則不得通過數據庫存儲過程或函數的方式實現。在函數中防止采用DML或DDL語句。
31、在數據包采用存儲過程、函數重載的方法,簡化數據包設計,提高代碼效率。存儲過程、函數必須有相應的出錯處理功能。2.4.6. 安全性設計. 管理默認用戶在生產環境中,必須嚴格管理sys和system用戶,必須修改其默認密碼,禁止用該用戶建立數據庫應用對象。刪除或鎖定數據庫測試用戶scott 。. 數據庫級用戶權限設計必須按照應用需求,設計不同的用戶訪問權限。包括應用系統管理用戶,普通用戶等,按照業務需求建立不同的應用角色。用戶訪問另外的用戶對象時,應該通過創建同義詞對象synonym進行訪問。. 角色與權限確定每個角色對數據庫表的操作權限,如創建、檢索、更
32、新、刪除等。每個角色擁有剛好能夠完成任務的權限,不多也不少。在應用時再為用戶分配角色,則每個用戶的權限等于他所兼角色的權限之和。. 應用級用戶設計應用級的用戶帳號密碼不能與數據庫相同,防止用戶直接操作數據庫。用戶只能用帳號登陸到應用軟件,通過應用軟件訪問數據庫,而沒有其它途徑操作數據庫。. 用戶密碼管理用戶帳號的密碼必須進行加密處理,確保在任何地方的查詢都不會出現密碼的明文。2.5. SQL編寫2.5.1. 字符類型數據SQL中的字符類型數據應該統一使用單引號。特別對純數字的字串,必須用單引號,否則會導致內部轉換而引起性能問題或索引失效問題。利用trim(),low
33、er()等函數格式化匹配條件。2.5.2. 復雜sql對于非常復雜的sql(特別是有多層嵌套,帶子句或相關查詢的),應該先考慮是否設計不當引起的。對于一些復雜SQL可以考慮使用程序實現。USER_TAB_COMMENTS 數據字典Comment on 可加注解2.5.3. 高效性. 防止In子句使用In 或 not In子句時,特別是當子句中有多個值時,且查詢數據表數據較多時,速度會明顯下降。可以采用連接查詢或外連接查詢來提高性能。Char 比 varchar 查詢時高效。在進行查詢及建立索引時,char比varchar的效率要高,當然varchar在存儲上比char要好。2.5
34、.3.2. 防止嵌套的Select子句這個實際上是In子句的特例。. 防止使用Select * 語句如果不是必要取出所有數據,不要用*來代替,應給出字段列表,注:不含select count(*)。. 防止不必要的排序不必要的數據排序大大的降低系統性能。2.5.4. 健壯性. Insert語句使用Insert語句一定要給出要插入值的字段列表,這樣即使更改了表結構加了字段也不會影響現有系統的運行。. Count(*)、Count(id)、count(distinct id)的區別Select count(*) from testtab得到表
35、testtab的記錄數select count(id) from testtab得到表testtab id字段非空記錄數select count(distinct id) from testtab得到表testtab id字段值非相同記錄數. Not null 為字段類型性質的約束本約束功能在后期無語法使期失效,可使用修改字段類型方式。alter table modify 字段名 類型 not nullalter table modify 字段名 類型. 外鍵值可用null的問題外鍵列如沒有明確說明not null,可插入null記錄而null是在外部表的記錄中沒有
36、的,如無可插null記錄的想法,要對外鍵字段加not null約束。. 序列 sequence 跳號的問題. unicn intersect minus 使用ordey by的注意事項以上語句進行連表操作,而表同表的字段順序的類型相同但字段標題名可不同,使用ordey by時后面如果是字段名,要求所有的表的字段標題名相同,否則用字段的順序號select id,name,year from user1unionselect no,name,to_number(null) year from user2order by 1,name,yearCNOUG博客首頁*A
37、9;H*CYY2c3O2.5.5. 安全性無論在使用Select,還是使用破壞力極大的Update和Delete語句時,一定要檢查Where條件判斷的完整性,不要在運行時出現數據的重大喪失。如果不確定,最好先用Select語句帶上相同條件來驗證一下結果集,來檢驗條件是否正確。2.5.6. 完整性有依賴關系的表,例如主外鍵關系表,在刪除父表時必須級聯刪除其子表相應數據,或則按照某種業務規則轉移該數據。9I中表中字段縮小及變類型,字段為空或表空,varchar和char長度不變可任意改,字段名和表名可字段可用 ALTER TABLE table SET UNUSED (column) 設定為不可用
38、,注意無命令再設為可用。3. 備份恢復設計原則3.1. 數據庫exp/imp備份恢復Oracle數據庫的Exp、Imp提供了數據快速的備份和恢復手段,提供了數據庫級、用戶級和表級的數據備份恢復方式。這種方法一般作為數據庫輔助備份手段。3.1.1. 數據庫級備份原則在數據庫的數據量比較小,或數據庫初始建立的情況下采用。不適合7*24的在線生產環境數據庫備份。3.1.2. 用戶級備份原則在用戶對象表數據容量比較小、或則用戶對象初始建立的情況下使用。3.1.3. 表級備份原則主要在以下場合采用的備份方式:參數表備份、靜態表備份、分區表的分區備份。3.2. 數據庫冷備份原則數據庫冷備份必須符合以下原則
39、:1) 數據庫容量比較小。2) 數據庫允許關閉的情況。3.3. Rman備份恢復原則這種方式適用于7*24環境下的聯機熱備份情形。3.3.1. Catalog數據庫單獨建立備份恢復用的數據庫實例,盡可能與生產環境的數據庫分開,確保catalog與生產數據庫的網絡連接良好。在9I系統使用良好的備份策略以可,支持完全使用控制文件保存catalog信息,備份策略如下:p7Be)zP:sbT0CNOUG博客首頁 Jsv,R.F%mq1abackup spfile format '/data/backup/%d_SPFILE_%T_%s_%p.bak'sql "alter sy
40、stem archive log current"backup archivelog all format '/data/backup/%d_ARC_%T_%s_%p.bak' delete all input;backup current controlfile format '/data/backup/%d_CTL_%T_%s_%p.bak'在spfile、控制文件、數據庫全丟的情況下可通過下面的方式恢復RMAN> connect targetconnected to target database (not started)RMAN>
41、 startupRMAN> restore spfile from '/data/backup/COMMDB_SPFILE_20030411_9_1.bak'SQL> startupORA-00205: error in identifying controlfile, check alert log for more infoRMAN> restore controlfile from 'd:DB92_CTL_20031113_9_1.BAK'Mout database:RMAN> recover database;RMAN> a
42、lter database open resetlogs;CNOUG博客首頁Y*F1MGb注意:對數據庫設定控制文件保存備份信息為365天,具體語句如下。J6&h Tp5KF5I)g)h0CNOUG博客首頁Bw2l+8YRalter system set control_file_record_keep_time=365 SCOPE=BOTH;CNOUG博客首頁&V2eP;N%yr3.3.2. Archive Log設置Archive Log 的位置,確保存儲介質有足夠的空間來保留指定時間內archive log的總量。建設定期對RMAN進行全備份,刪除冗余歸檔日志文件。3.3
43、.3. 全備份策略對于小容量數據庫,可以采用全備份策略。對于大容量數據庫,必須制定全備份策略方案,備份時對archive log進行轉儲,同時冷備份catalog 數據庫。3.3.4. 增量備份策略對于大容量數據庫,必須制定增量備份、累積備份和全備份的周期,備份時對archive log進行轉儲,同時冷備份catalog 數據庫。3.3.5. 恢復原則采用Rman腳本進行數據庫恢復。數據庫恢復有以下幾種:. 局部恢復主要用于恢復表空間、數據文件,一般不影響數據庫其他操作。. 完全恢復數據庫恢復到故障點,由catalog當前數據庫決定。. 不完全恢復恢復
44、到數據庫的某一時間點或備份點。恢復catalog數據庫。恢復數據庫control file 。恢復到數據庫某一時間點。重設日志序列。3.4. 備用數據庫原則數據庫系統在以下情況下可以考慮采用備用數據庫data guard原則:數據庫容量適中。數據庫嚴格要求7*24不間斷,或間斷時間要求控制在最小范圍內。數據庫要求有異地備份冗余。3.5. 一些小經驗使用oemc的oms時,首選項要求是節點和數據庫分別加入系統用戶如:administrator和數據庫DBA用戶(system)。節點的系統用戶必須有批處理作業登錄的權限。agent 不能啟動,lisnter修改后都要手動刪除oracleora9ne
45、tworkagent 中的*.q文件。oracleadminmy9ibdump 中是用戶的出錯日志。改變表的空間的方式alter table hr.ssss move TABLESPACE example要重建索引; 或用imp導入時,設定導入用戶只有某一表空間的使用權,無RESOURCE角色和UNLIMITED TABLESPACE權限。aleter system set log_checkpoint_to_alter=true,后可報警文件發現checkpoint的起動和結束時間。3.6. 系統調優知識3.6.1. 生成狀態報表statspack的使用使用存放位置?rdbmsadmin的文
46、件生成報表用戶。將timed_statistics設定true。使用生成的perfstat用戶登錄,執行以下語句手動收集信息。Exec statspack.snap(I_SNAP_LEVEL=>0,I_MODEFY_PRAMETER=>TRUE) 0級,最少10最大。使用下面的語句生成狀態報表:其他相關文件delete stats$snapshot ;清原來記錄數據select job from user_jobs 取用戶作業號exec dbms_remove(作業號)timed_statistics=true要求?rdbmsadminspdrop.sql ;3.6.2. sql追
47、蹤設定全部用戶跟蹤alter system set sql_trace=true;用戶級別跟蹤alter session set sql_trace=true;用戶的跟蹤文件生成在 adminpidudumppid _ora_ SPID.trc 中,spid從下面語句得到SELECT bkpr, s.username, p.spid,s.sid,s.serial# FROM v$bgprocess b, v$session s, v$process p WHERE p.addr = b.paddr(+) AND p.addr = s.paddr and s.username=us
48、er;DBA對特定用戶跟蹤exec dbms_system_set_Sql_trace_in_session(sid,serial#,true)信息從下面得到 FROM v$bgprocess b, v$session s, v$process p WHERE p.addr = b.paddr(+)AND p.addr = s.paddr;/*p.spid用于sql_trace時日志編號,dbms_system.set_sql_trace_in_session(sid,erial#,true)*/用戶的跟蹤文件生成在 adminpidudump 中系統的跟蹤文件生成在adminpidbdump
49、alert_pid.log在av Rd(ms) 20以上說明表空間使用過用頻繁,考慮將表分開其他表空間上系統變量fast_start_mttr_target的值要大到不產生log等待,當然也可通過加log組使其不等待reao log大小應為每30分鐘切換一次建議表空間的利用率不超80%buffer hit 要達80%以上為好3.6.3. 內存調整一般的內存分配原則SGA 50%其中80% DATA BUFFER,15% SHARE POOL,5其他PGA30%OS 20%例如:2G的WINDOWS的平臺,OS 300M,SAG 1.2G,PGA 500M內存分配的基本單位位系統,系統動態分配時
50、總值不可大于sga_max_size通過V$SGA_DYNAMIC_FREE_MEMORY取空閑內存空間在縮小時如果內存空間實際在應用中,利用率將達,最后將語句出錯。V$SGASTAT可看實際的使用情況Redo log buffer一般在內,可通過v$sessuon_wait看是否等,v$sysstat可也通過報警文件看是否等切換,方法可加組。可通過nologging數據庫也要設定支持nologging方法減少日志文件產生量。java_pool 沒有設定時,使用shared_pool_size. shared_pool本緩沖區用于sql語句,pl sql等的對象保存Cursor_
51、sharingExact|Similar|force 游標共享設定Force方式適用OLTP數據庫,Exact方式適合數據倉庫,similar為智能方式hard parses 硬SQL語句分析,每秒要底于100次,小要加大shared_poolsoft parse 軟SQL語句分析,OLTP要達90%以上,小要加大shared_pool不建議用無命名PL SQL段如果有大PL SQL(存儲過程)對象可強制保存于內存,也可加大SHARED_POOL_RESERVED_SIZE,大小不可過SHARED_POOL_SIZE的50%,不然實例不能起動. db_cache本緩沖區用于數據庫數據對象保存db_cache_advice 為on,可以提出通過企業管理器看到系統建議通過select * from v$system_event 進行系統查看。發現存在free
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 安康旬陽市直教育單位教師遴選考試試題附答案
- 2025年中國影視廣告市場運行態勢報告
- 中國無人機航測行業調查報告
- 中國化纖原料行業市場調查報告
- 多功能料理機項目投資可行性研究分析報告(2024-2030版)
- 2025年中國藻藍蛋白行業市場運行現狀及投資戰略研究報告
- 2025年中國鮮脆榨菜芯行業市場發展前景及發展趨勢與投資戰略研究報告
- 中國海水養殖行業市場前景預測及投資戰略研究報告
- 中國福建燃氣行業調查報告
- 二氯二甲海因中間體行業深度研究分析報告(2024-2030版)
- 時間序列論文
- 山東 房屋建筑和市政基礎設施項目工程總承包合同(示范文本)
- 各級文物保護單位保護范圍、建控地帶標準和依據
- 工廠產品出入庫統計明細表范本
- 中醫學基礎--奇恒之腑共23張課件
- AC-10C瀝青混合料配合比設計檢驗報告
- CNC機加工作業指導書
- HALCON編程基礎與工程應用全書ppt課件匯總(完整版)
- 冀教版小學美術六年級下冊教案
- 《一級學科下屬專業證明模板》
- Stein-膀胱癌淋巴清掃資料課件
評論
0/150
提交評論