最近、18c さわってます。
LOG_ARCHIVE_DEST_n の書き方がちょっとかわったんですね。
LOG_ARCHIVE_DEST_n = { LOCATION=path_name | SERVICE=service_name }
以前の指定(たとえば log_archive_dest_1='/log/arch' )だとエラーになります。
SQL> startup
ORA-16024: parameter LOG_ARCHIVE_DEST_1 cannot be parsed
12.1 から、かな。。。。
ある環境をみていたら、こんな設定でした。
log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/db1/arch MANDATORY'
・・・ MANDATORY ?
ん???
ちょっと確認。
SQL> set feed off SQL> alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/db1/arch1'; SQL> alter system set log_archive_dest_2='LOCATION=/u01/app/oracle/oradata/db1/arch2 MANDATORY' SQL> SQL> select dest_id,dest_name,status,binding from v$archive_dest 2 where dest_id in (1,2); DEST_ID DEST_NAME STATUS BINDING ---------- -------------------- ---------- ---------- 1 LOG_ARCHIVE_DEST_1 VALID OPTIONAL 2 LOG_ARCHIVE_DEST_2 VALID MANDATORY
デフォルト OPTIONAL でした。
log_archive_dest_1 だけ OPTIONAL(MANDATORY 指定なし)で設定した場合、REDOログ上書きされんの?と思いましたが、REDOログ再利用のために必要なアーカイブ先の最小数は LOG_ARCHIVE_MIN_SUCCEED_DEST で制御されるので、たとえ OPTIONAL でも、アーカイブされる前に REDOログが上書きされることはないようです。
ま、そりゃそうだよね。