關閉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;
alter system set "_use_adaptive_log_file_sync"=false sid='*' scope=spfile;