Oracle Database Cloud Serviceインスタンスのサブスクライブ時に、サポートされているOracle CPU (OCPU)とプロセッサのRAMの組合せのリストから、インスタンスの仮想マシンの計算能力を選択します。 一部のデータベース初期化パラメータの値は、OC1M (1 OCPU、15GB RAM)やOC3M (4 OCPU、60GB RAM)という組合せで、これはパフォーマンスの問題が発生することがあります。 この項では、これらのデータベース・パラメータを設定し、追加タスクを実行してパフォーマンスを向上する方法について説明します。
データベース・パラメータをチューニングする手順:
SYSユーザー・アカウントで接続します。
SQL> alter system set distributed_lock_timeout = 1400 scope = spfile; alter system set Processes = 1500 scope = spfile; alter system set db_securefile = ALWAYS;
スループットを上げるため、redo logのサイズを2GBに変更します。
許容されている最大サイズに等しい初期サイズで、Oracle SOAスキーマのデータファイルを作成します。 そうしないと、データソース関連のエラーがレポートされます。 例:
SQLRecoverableException: IO Error: Socket read timed out
SOADataSourceの最大容量を400に設定します。
SOAIncomingRequests_maxThreadsの数を60に設定します。
SOAInternalProcessing_maxThreadsの数を150に設定します。
ディスク満杯エラーを避けるため、期限切れのアーカイブ・ファイルを削除します。
SYSユーザー・アカウントで接続します。
SQL*Plusで、次のSQL構文を実行します。
SQL> alter system set db_flashback_retention_target = 45 scope=both; restart DB
次のdelArch.shスクリプトを実行して、期限切れのアーカイブ・ログ・ファイルを定期的に削除します。
#!/bin/sh
#######################################################
## ##
## Purge Database Archive Logs ##
## ##
#######################################################
source /home/oracle/.bashrc
test -z ${ORACLE_HOME} && echo "Please set ORACLE_HOME first" &&
exit 1;
test ! -d ${ORACLE_HOME} && echo "Please make sure you have set ORACLE_HOME correctly:
${ORACLE_HOME}" && exit 1;
#delete ${1} archivelog until time 'SYSDATE-1/(24*6)';
function rmArch(){
${ORACLE_HOME}/bin/rman target / <<EOF
crosscheck archivelog all;
delete ${1} archivelog until time 'SYSDATE-1/(24*6)';
YES
delete backup;
YES
delete datafilecopy all;
YES
exit
EOF
}
totalcount=0
#interval=${1:-1800}
interval=${1:-300}
while [ : ]
do
rmArch $2
ts=$(date)
let "totalcount=totalcount+1"
echo ""
echo ""
echo "==================================="
echo "== =="
echo "== SUMMARY =="
echo "== =="
echo "==================================="
echo ""
echo ""
tname='v$asm_diskgroup';
tname2='v$recovery_file_dest';
${ORACLE_HOME}/bin/sqlplus -s sys/welcome1 as sysdba <<EOF
set feedback 0
set serveroutput on
execute dbms_output.put_line('Disk Group space usage (In GigaByte)');
col total format 999,999,999.00
col available format 999,999,999.00
SELECT ROUND(total_mb / 1024) "TOTAL", ROUND(free_mb / 1024 ) "AVAILABLE" FROM ${tname} ;
execute dbms_output.put_line('Archive Log space usage (In Gigabyte)');
col space_total format 999,999,999.00
col prc_used format 999,999,999.00
SELECT ROUND(SPACE_LIMIT / (1024*1024*1024)) SPACE_total,ROUND(((SPACE_USED / (1024*1024*1024)) * 100) / (SPACE_LIMIT / (1024*1024*1024)), 2) PRC_USED FROM ${tname2};
EOF
echo "TotalCount: $totalcount"
echo "Last run at $ts"
echo "Will start another run in $interval seconds"
sleep $interval
done
Domain_Home/bin/setStartupEnv.shファイルに追加します。
-XX:ReservedCodeCacheSize=1024m