tft每日頭條

 > 科技

 > oracle11g詳細配置

oracle11g詳細配置

科技 更新时间:2024-07-21 22:17:00
概述

現在很多生産系統,對數據庫的依賴性越來越大。數據安全性和系統的安全性也同時顯得更加重要,作為一個合格的dba,理解并設置合理的數據庫參數是基本技能,下面着重介紹一下Oracle的一些參數和特性配置。


一、Linux系統

在安裝操作系統之前,先在服務器上做個RAID,一般都用RAID5。

1、LINUX磁盤劃分

1)對于内置2塊磁盤(146GB)的系統,/目錄20GB,SWAP與内存大小相當(8GB以下内存機器SWAP配置8GB),/boot 100MB。如果作為應用服務器,那麼其餘空間建立/apps文件系統,mke2fs –j 命令;如果作為數據庫平台,那麼建立/dba文件系統20GB,其餘建立/u01文件系統。

2)對于内置4-6塊磁盤的系統,/目錄60GB,SWAP與内存大小相當(8GB以下内存機器SWAP配置8GB),/boot 100MB。如果作為應用服務器,那麼其餘空間建立/apps文件系統,mke2fs –j命令;如果作為數據庫平台,那麼建立/dba文件系統40GB,其餘建立/u01文件系統。

3)對于Oracle數據文件目錄文件系統使用mke2fs –j –T largefiles命令建立。

2、參數及服務配置

建立NTP時間同步服務,/etc/ntp.conf中加入server 10.0.0.1,執行

# ntpdate 10.0.0.1 # service ntpd start # chkconfig --level 235 ntpd on

3、Linux 内核參數修改

如果ISSYS_MODIFIABLE 返回的是false,說明該參數無法用alter system語句動态修改,需要重啟數據庫。所以sga_max_size 是不可以動态調整的。

對于OLTP系統,一般的建議是将SGA_MAX_SIZE 設為物理内存的60%,PGA 設為20%。OLAP就一半一半啦。

oracle11g詳細配置(分享Oracle11g數據庫的一些實用參數配置)1

3、UNDO, TEMP 表空間設置

1)UNDO

undo 表空間放的是數據的前鏡像,當做某個記錄多修改時,原記錄就會放到undo 中。所以Undo 表空間的大小影響數據的恢複能力。

show parameter undo

oracle11g詳細配置(分享Oracle11g數據庫的一些實用參數配置)2

undo_retention 隻是指定undo 數據的過期時間,默認是900s,15分鐘。建議改成10800s,即3個小時。

alter system set undo_retention=10800 scope=both;

oracle11g詳細配置(分享Oracle11g數據庫的一些實用參數配置)3

至于undo 表空間的大小,如果磁盤空間允許,就将表空間設為32G,分成4個數據文件,單個數據文件8G。如果空間有限,就設為8G或者16G(8*2)。

2)Temp

臨時表空間主要用途是在數據庫進行排序運算、管理索引、訪問視圖等操作時提供臨時的運算空間,當運算完成之後系統會自動清理。當oracle裡需要用到sort的時候,PGA中sort_area_size大小不夠時,将會把數據放入臨時表空間裡進行排序,同時如果有異常情況的話,也會被放入臨時表空間。

ALTER DATABASE TEMPFILE '/ORADATA/ORCL/TEMP01.DBF' RESIZE 30M; ALTER TABLESPACE TEMP ADD TEMPFILE '/ORADATA/ORCL/TEMP02.DBF' SIZE 10M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;

4、修改sessions 和 processes 參數

數據庫默認的sessions 是170,Processes 是150. 這2個數值肯定是不能滿足系統需要的。我們需要把這2個參數調大一點。方法還是一樣,可以直接修改pfile,也可以用SQL. 建議把processes改成1000.sessions 改成2000

select name,value,issys_modifiable from v$parameter where name='sessions'; select name,value,issys_modifiable from v$parameter where name='processes';

oracle11g詳細配置(分享Oracle11g數據庫的一些實用參數配置)4

如果要修改這2個參數必須重啟數據庫:

alter system set sessions=2000 scope=spfile; alter system set processes=1000 scope=spfile;

5、啟動歸檔模式,并部署定期删除歸檔文件腳本。(mount狀态啟動)

生産庫必定運行在歸檔模式下,因為通過歸檔,我們對數據進行恢複。我們RMAN 備份,Data Guard也需要歸檔文件。數據庫歸檔非歸檔的切換比較簡單。

alter system set log_archive_dest_1='location=/u01/newccs_archive'; shutdown immediate startup mount alter database archivelog; alter database open; archive log list

在切換為歸檔之前一定要指定歸檔目錄,即log_archive_dest_1。這個目錄用來指定歸檔文件存放的位置,如果不指定,就會放到閃回區。閃回區默認隻有2G,一但滿了之後就會出現問題,如導緻數據庫hang或者不能啟動。

6、開啟Flashback(mount狀态啟動)

Flashback 技術是以Undo segment中的内容為基礎的, 因此受限于UNDO_RETENTON參數。要使用flashback 的特性,必須啟用自動撤銷管理表空間。

startup mount; select name, current_scn, flashback_on from v$database; alter database flashback on;

oracle11g詳細配置(分享Oracle11g數據庫的一些實用參數配置)5

7、檢查redo

Redo 裡記錄的是數據庫的操作。在相關事務操作的時候,都會是先寫redo,等redo 寫完會再去修改相應的數據。這也Oracle的一種機制。如果出現問題,也可以通過這些記錄進行恢複。

Redo 默認有3個組,每個組有一個文件,每個文件50M。

将redo log 的文件大小改成100M一個。每組創建2個成員。最好将每組的2個成員放在不同的磁盤上。因為寫redo 的時候是并行的,放在一起,可能會出現等待事件:Log file parallel write。

下面直接介紹下常用的一些命令:

--顯示當前歸檔日志組和成員: select group#,member from v$logfile; --添加redo log組 alter database add logfile group 4 ('XX/REDO04.LOG') size 500m; --添加新的文件到group 1: alter database add logfile member 'XX/REDO05.LOG' to group 1; --檢查新加入的log狀态 select group#,sequence#,bytes,members,status from v$log; --删除新增的group 4 alter database drop logfile group 4; --删除新增的group 1的logfile; alter database drop logfile member '/ORADATA/ORCL/REDO05.LOG'; --清空logfile alter database clear logfile '/ORADATA/ORCL/REDO01.LOG';

oracle11g詳細配置(分享Oracle11g數據庫的一些實用參數配置)6

8、設置CONTROL_FILE_RECORD_KEEP_TIME 參數

該參數設置控制文件中存儲備份記錄的時間,在用RMAN的時候會涉及到這個參數。備份記錄包括完全的數據庫備份記錄,以及指定的數據文件,控制文件,參數文件和歸檔目錄的備份記錄。數據庫參數CONTROL_FILE_RECORD_KEEP_TIME以天為單位(默認值為7天),因此在默認情況下,Oracle 會将RMAN備份和恢複記錄保存7天。可以将該參數設置為0到365之間的任意值。

CONTROL_FILE_RECORD_KEEP_TIME參數會影響一系列的數據庫操作。首先,産生RMAN備份時,由于與這些備份相關的記錄存儲在控制文件中,所以該參數直接影響數據庫控制文件的大小。備份記錄将不斷的保存在控制文件中,控制文件将耗盡空間。這時,Oracle 會擴展控制文件來調整備份記錄所需的存儲空間。此外,設置為0時,将禁止擴展控制文件,并且會使得RMAN備份的保存周期不穩定。

select name,value from v$parameter where name='control_file_record_keep_time'; alter system set control_file_record_keep_time=20; show parameter control_file_record_keep_time;

到這裡就基本完成了參數方面的一些設置。


上面主要講了Oracle數據庫平台的一些參數和特性配置,主要針對oracle11g,不同版本之間可能有些差異,大家在平時調整數據庫還會設置一些什麼參數呢,歡迎下發留言一起讨論。

oracle11g詳細配置(分享Oracle11g數據庫的一些實用參數配置)7

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved