非專業ORACLE,記錄一些壓測前經常使用優化點
set pagesize 100 set linesize 300 col TABLESPACE_NAME for a20 col FILE_ID for 999 col FILE_NAME for a100 select tablespace_name, file_id,file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users01.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users02.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users03.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users04.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users05.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users06.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users07.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users08.dbf' size 31G; alter tablespace users add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/users09.dbf' size 31G; alter tablespace UNDOTBS1 add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/undotbs1_01.dbf' size 31G; alter tablespace UNDOTBS1 add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/undotbs1_02.dbf' size 31G; alter tablespace SYSTEM add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/system_01.dbf' size 31G; alter tablespace SYSAUX add datafile '/d01/app/oracle/oradata/ORCL12C/datafile/sysaux_01.dbf' size 31G; alter tablespace TEMP add tempfile '/d01/app/oracle/oradata/ORCL12C/datafile/temp_01.dbf' size 31G; alter tablespace TEMP add tempfile '/d01/app/oracle/oradata/ORCL12C/datafile/temp_02.dbf' size 31G;
SQL> alter system set commit_write='batch,nowait';
alter system set cursor_sharing=force;
alter system set filesystemio_options=setall scope=spfile; alter system reset disk_asynch_io scope=spfile;
alter system set processes=1000 scope=spfile; ALTER SYSTEM SET open_cursors=900 SCOPE=BOTH; alter system reset session_cached_cursors scope=spfile;
新增redo log file,默認只有3個50MB的redo log,產生大量log file switch (checkpoint incomplete)和log file switch completion等待事件。sql
select group#,sequence#,bytes,members,status from v$log; select member from v$logfile;
增長session
alter database add logfile group 4 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo04.log') size 2g; alter database add logfile group 5 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo05.log') size 2g; alter database add logfile group 6 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo06.log') size 2g; alter database add logfile group 7 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo07.log') size 2g; alter database add logfile group 8 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo08.log') size 2g; alter database add logfile group 9 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo09.log') size 2g; alter database add logfile group 10 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo10.log') size 2g;
生效oracle
alter system switch logfile; alter system switch logfile; alter system switch logfile; alter system switch logfile; alter system checkpoint; select group#,sequence#,bytes,members,status from v$log;
alter database drop logfile group 1; alter database drop logfile group 2; alter database drop logfile group 3; alter database add logfile group 1 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo01.log') size 2g; alter database add logfile group 2 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo02.log') size 2g; alter database add logfile group 3 ('/d01/app/oracle/oradata/ORCL12C/onlinelog/redo03.log') size 2g; select group#,sequence#,bytes,members,status from v$log;
共18GB左右,當前內存爲64GBapp
show sga; Total System Global Area 2.0267E+10 bytes Fixed Size 3721272 bytes Variable Size 2617247688 bytes Database Buffers 1.7583E+10 bytes Redo Buffers 63385600 bytes
調整到內存的1/2async
alter system set sga_max_size=32G scope=spfile; alter system set sga_target=32G scope=spfile; alter system set filesystemio_options=directio scope=spfile; alter system set disk_asynch_io=false scope=spfile;
shutdown
sqlplus /nolog SQL> conn / as sysdba SQL> startup