機械翻訳について

データベース・パラメータのチューニング

Oracle Database Cloud Serviceインスタンスのサブスクライブ時に、サポートされているOracle CPU (OCPU)とプロセッサのRAMの組合せのリストから、インスタンスの仮想マシンの計算能力を選択します。 一部のデータベース初期化パラメータの値は、OC1M (1 OCPU、15GB RAM)やOC3M (4 OCPU、60GB RAM)という組合せで、これはパフォーマンスの問題が発生することがあります。 この項では、これらのデータベース・パラメータを設定し、追加タスクを実行してパフォーマンスを向上する方法について説明します。

データベース・パラメータをチューニングする手順:

  1. SYSユーザー・アカウントで接続します。

  2. SQL*Plusで、次のSQL構文を実行します。
    SQL> alter system set distributed_lock_timeout = 1400 scope = spfile; 
    alter system set Processes = 1500 scope = spfile; 
    alter system set db_securefile = ALWAYS;
    
  3. スループットを上げるため、redo logのサイズを2GBに変更します。

  4. 許容されている最大サイズに等しい初期サイズで、Oracle SOAスキーマのデータファイルを作成します。 そうしないと、データソース関連のエラーがレポートされます。 例:

    SQLRecoverableException: IO Error: Socket read timed out
    
  5. データベースのアーカイブ・ログを有効にすると、システムでSOADataSourceに対する接続が不足する可能性があります。 アーカイブ・ログ・モードが無効の場合、その最大容量は300に設定されます。 回避策として、次のパラメータを設定します。
    1. SOADataSource最大容量400に設定します。

    2. 次のワーカー・マネージャの数を減らします。
      • SOAIncomingRequests_maxThreadsの数を60に設定します。

      • SOAInternalProcessing_maxThreadsの数を150に設定します。

  6. ディスク満杯エラーを避けるため、期限切れのアーカイブ・ファイルを削除します。

    1. SYSユーザー・アカウントで接続します。

    2. SQL*Plusで、次のSQL構文を実行します。

      SQL> alter system set db_flashback_retention_target = 45 scope=both; restart DB 
      
    3. 次の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
      
Oracle WebLogic Serverをチューニングするには:
  • 次のJVM引数をDomain_Home/bin/setStartupEnv.shファイルに追加します。
    -XX:ReservedCodeCacheSize=1024m