oracle 安裝后參數調整


關閉11g 新特性 開歸檔

oracle 11g安裝完成需修改:
1、關閉審計
alter system set audit_trail=none scope=spfile sid='*';

防止ORA-03113: 通信通道的文件結尾 錯誤。

alter system set open_cursors=800 scope=both;


truncate table SYS.AUD$;

禁止sql tuning advisor:

BEGIN
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/

session_max_open_files 12c:

alter system set session_max_open_files=200 scope=spfile; 至少200

12c plsql能夠登陸:

sqlnet.ora 添加如下

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8


2、修改密碼180天期限 和 登錄失敗次數限制
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
select profile,limit from dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS';

alter profile default limit password_life_time unlimited;
alter profile default limit failed_login_attempts unlimited;


3、禁止數據庫級直接路徑讀,當session很多的時候,頻繁的FTS會嚴重影響SQL性能
應考慮在數據庫級別關閉這個功能,尤其是投資這樣的多用戶OLTP系統
可以將隱含參數 _serial_direct_read 設置成 never 或則
alter system set event= '10949 trace name context forever, level 1' scope=spfile;


4、在創建好數據庫后,導入數據前,立刻將參數deferred_segment_creation改成FALSE
alter system set deferred_segment_creation=FALSE scope=both;


5、修改默認日期格式
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;

6、改歸檔
alter system set log_archive_dest_1='location=/oracle/archivelog' scope=spfile sid='*';

alter system set log_archive_dest_1='location=D:\app\Administrator\arch' scope=spfile sid='*';
alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile sid='*';

su - grid
srvctl stop database -d tzjy
srvctl start database -d tzjy -o mount

7.改 db_files(數據庫需要進行修改,最大的數據文件)

ALTER SYSTEM SET db_files=2000 SCOPE=SPFILE;


alter database archivelog;

srvctl start database -d tzjy

alter system archive log current


--查看用戶默認表空間
select username,default_tablespace from dba_users;

select TYPE,RECORDS_TOTAL from v$controlfile_record_section;

7.臨時表空間
alter tablespace TEMP add tempfile '+datadg' size 5000M;

alter tablespace TEMP add tempfile 'D:\app\Administrator\oradata\ORCL\DATAFILE\temp02.dbf' size 5000M autoextend on ;

set lin 140
SELECT d.status "Status", d.tablespace_name "Name", d.CONTENTS "Type",
d.extent_management "Extent Management",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.900') "Size (M)",
TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.999')
|| '/'
|| TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99999999.999') "Used (M)",
TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
FROM SYS.dba_tablespaces d,
(SELECT tablespace_name, SUM (BYTES) BYTES
FROM dba_temp_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM (bytes_cached) BYTES
FROM v$temp_extent_pool
GROUP BY tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management LIKE 'LOCAL'
AND d.CONTENTS LIKE 'TEMPORARY';
8.undo表空間:
alter tablespace UNDOTBS1 add datafile '+datadg' size 5000M autoextend on;

alter tablespace UNDOTBS1 add datafile 'D:\app\Administrator\oradata\ORCL\DATAFILE\undo02.dbf' size 5000M autoextend on;
alter tablespace UNDOTBS2 add datafile '+datadg' size 5000M autoextend on;

alter database datafile '+DATADG/gzdb/datafile/undotbs1.309.913913585' autoextend on;


col tablespace_name for a20
col file_name for a60
set lin 140
set pagesize 50
with
D as (SELECT TABLESPACE_NAME ,
ROUND(SUM(BYTES)/(1024*1024)) SPACE,
SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME),
F as (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024))
FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME),
T as (select distinct TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files)
SELECT D.TABLESPACE_NAME,
SPACE "SUM_SPACE(M)" ,
SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",
FREE_SPACE "FREE_SPACE(M)" ,
ROUND((1-NVL(FREE_SPACE,0)/SPACE) *100) "USED_RATE(%)",t.AUTOEXTENSIBLE
from D,F,T
WHERE T.TABLESPACE_NAME(+)=D.TABLESPACE_NAME AND D.TABLESPACE_NAME=F.TABLESPACE_NAME(+)
ORDER BY "USED_RATE(%)";

9.日志

10.standby_file_management(默認是auto,異構平台要開啟)

alter system set standby_file_management=auto scope=both;

11.asm
PROCESSES 參數會影響ASM 實例,該參數的默認值一般都夠用。
如果有多個數據庫實例使用同一個ASM 實例,那么就需要修改這個參數,計算方法如下:
PROCESSES = 50 + 50*n

11.show parameter standby_file_management 備庫自動建表空間數據文件(默認開啟的)。

show parameter standby_file_management;

alter system set show parameter standby_file_management=auto scope=spfile;
-----------------------------------------------------------------------------------

12異步IO(缺省none)
歸檔量大的,db file 順序讀這個等待相應參數建議修改:

alter system set filesystemio_options=setall scope=spfile;


一般說來,異步I/O是和同步I/O相比較來說的,如果是同步I/O,當一個I/O操作執行時,應用程序必須等待,直到此I/O執行完. 相反,異步I/O操作在后台運行,I/O操作和應用程序可以同時運行,提高了系統性能; 使用異步I/O會提高I/O流量,如果應用是對裸設備進行操作,這種優勢更加明顯, 因此象數據庫,文件服務器等應用往往會利用異步I/O,使得多個I/O操作同時執行

-----業務運行一段時間后,UNDO 大小設置。

SQL> show parameter undo

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL>
SQL> SELECT undoblks / ((end_time - begin_time) * 86400) "Peak Undo Block Generation"
FROM gv$undostat
WHERE undoblks = (SELECT MAX(undoblks) FROM gv$undostat);

Peak Undo Block Generation
--------------------------
.127147766

SQL> select 0.13*900*8192/1024/1024 G from dual;

G
----------
.9140625
需要0.9G undo

SQL> SELECT tablespace_name, retention FROM dba_tablespaces;

TABLESPACE_NAME RETENTION
------------------------------ -----------
SYSTEM NOT APPLY
SYSAUX NOT APPLY
UNDOTBS1 NOGUARANTEE
TEMP NOT APPLY
USERS NOT APPLY
EXAMPLE NOT APPLY

6 rows selected.

 


RAC 可能需要結果*2.

查看ORACLE 進程的大小:
select USERNAME,SPID, PGA_ALLOC_MEM/1024/1024 m from v$process;
select USERNAME,sum(PGA_ALLOC_MEM)/1024/1024 m from v$process group by USERNAME;

查看后台進程:
desc v$bgprocess;

13、

在oracle10g的R2環境之后,DISTINCT由於其 HASH UNIQUE的算法導致其不會產生排序,其調整的

ALTER SESSION SET "_gby_hash_aggregation_enabled" = FALSE

 


--參數修改

--關閉密碼大小寫敏感:

alter system set sec_case_sensitive_logon=false scope=spfile sid='*';


--設置PASSWORD_LIFE_TIME為unlimit:
alter profile default limit PASSWORD_LIFE_TIME unlimited;
alter profile default limit PASSWORD_LOCK_TIME unlimited;
alter profile default limit PASSWORD_GRACE_TIME unlimited;
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

--設置dump文件最大大小,避免異常時出現超過幾十個G的trace,將文件系統撐爆:
alter system set max_dump_file_size='4096M' scope=spfile sid='*';
--調整默認分區大小
--11g分區默認分區大小為8M,這個需要關閉,因為這可以避免提前創建很多未來的分區時,即使是空分區,但是整個表的尺寸已經非常大,出現全分區掃描時,邏輯備份或SQL性能低下:
alter system set "_partition_large_extents"=false scope=spfile sid='*';


--關閉undo_retention的自動調整,BUG較多:
alter system set "_undo_autotune"=false scope=spfile sid='*';
alter system set undo_retention=10800 scope=spfile sid='*';

--手工設置並行子進程的數量上限為CPU個數*2,避免數據庫自動算的值太大,並行把資源耗光:
alter system set parallel_max_servers=128 scope=spfile sid='*';

--設置控制文件的保留時間,確保可以恢復到1個月以內的任意一天:
alter system set control_file_record_keep_time=31 scope=spfile sid='*';

--關閉DRM(因DRM導致的問題非常多):
alter system set "_gc_policy_time"=0 scope=spfile sid='*';

alter system set "_gc_undo_affinity"=false sid='*' scope=spfile;


--關閉11g的初始化extent的延遲創建:
alter system set deferred_segment_creation=false scope=spfile sid='*';


--不用result_cache:
alter system set result_cache_max_size=0 scope=spfile sid='*';

--增加實例延遲降級鎖的時長為3秒,避免遇到一些導致實例crash的bug,rac可以進行調整:
alter system set "_gc_defer_time"=3 scope=spfile sid='*';

--建議調整AWR時間為2周或以上,便於后期維護:
exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(RETENTION=>14*24*60,INTERVAL=>60);


--11g的自適應游標共享可能會帶來過多子游標的問題,我們將其關閉:
alter system set "_optimizer_adaptive_cursor_sharing"=false sid='*' scope=spfile;
alter system set "_optimizer_extended_cursor_sharing"=none sid='*' scope=spfile;
alter system set "_optimizer_extended_cursor_sharing_rel"=none sid='*' scope=spfile;


--11g的Cardinality feedback可能會導致執行計划的不穩定:
alter system set "_optimizer_use_feedback"=false sid ='*' scope=spfile;

--設置28401和10949事件,關閉密碼錯誤登錄延遲,直接路徑讀
alter system set event='28401 trace name context forever,level 1','10949 trace name context forever,level 1' sid='*' scope=spfile;


--使並行會話改為使用large pool
alter system set "_PX_use_large_pool"=true sid ='*' scope=spfile;

_use_adaptive_log_file_sync該參數在提交次數,系統的位置,發布/等待和輪詢特性對性能的影響是明顯的,主要是在上一次等待上影響了事務的提交速度。建議在11g中關閉(設置為false)。
_use_adaptive_log_file_sync造成性能下降的原因可能是其導致LGWR使用了輪詢方式來取代post / wait,並且輪詢的間隔是10ms,這個間隔是在代碼里寫死的。


alter system set "_use_adaptive_log_file_sync"=false sid='*' scope=spfile;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM