Autonomous Databaseについて、データベース全体の設定について簡単に確認しました。
データベースの属性
V$DATABASEを見る限り、特殊な設定は行われていないように見えます。FORCE LOGGINGやSUPPLEMENTAL LOGGINGの設定も行われていません。プラットフォームはLinux x86-64です。
SQL> SELECT LOG_MODE, PROTECTION_MODE, DATABASE_ROLE, SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI, FORCE_LOGGING, PLATFORM_NAME FROM V$DATABASE;
LOG_MODE PROTECTION_MODE DATABASE_ROLE SUPPLEME SUP SUP FORCE_LOGGING PLATFORM_NAME
------------ -------------------- ---------------- -------- --- --- --------------------------------------- --------------------
ARCHIVELOG MAXIMUM PERFORMANCE PRIMARY NO NO NO NO Linux x86 64-bit
時刻
タイムゾーンの確認
SYSDATE関数を確認するとUTCになっています。またデータベースのタイムゾーンもUTCのままになっています。SYSDATE関数やSYSTIMESTAMP関数の実行結果は単純にOSの時刻を返すため変更できません。
SQL> HOST date
Sat Mar 14 11:26:17 JST 2020
SQL> SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') FROM DUAL;
TO_CHAR(SYSDATE,'YY
-------------------
2020/03/14 02:26:15
SQL> SELECT SESSIONTIMEZONE FROM DUAL;
SESSIONTIMEZONE
---------------------------------------------------------------------------
+09:00
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIME
------
+00:00
タイムゾーンの変更
データベースのタイムゾーンを東京に変更します。変更を有効にするにはデータベースの再起動が必要です。
SQL> ALTER DATABASE SET TIME_ZONE='Asia/Tokyo';
Database altered.
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIME
------
+00:00
-- 再起動後 --
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIMEZONE
----------
Asia/Tokyo
LOCALTIMESTAMP関数やCURRENT_TIMESTAMP関数はタイムゾーンを意識した時刻を返します。
SQL> HOST date
Sat Mar 14 12:58:36 JST 2020
SQL> SELECT LOCALTIMESTAMP FROM DUAL;
LOCALTIMESTAMP
---------------------------------------------------------------------------
14-MAR-20 12.58.43.310360 PM
SQL> SELECT CURRENT_TIMESTAMP FROM DUAL;
CURRENT_TIMESTAMP
---------------------------------------------------------------------------
14-MAR-20 12.58.48.166271 PM +09:00
自動タスクとAWR
自動起動タスク
自動起動タスクを確認するとauto space advisorのみが停止しています。
SQL> SELECT CLIENT_NAME, STATUS FROM DBA_AUTOTASK_CLIENT;
CLIENT_NAME STATUS
---------------------------------------------------------------- --------
sql tuning advisor ENABLED
auto optimizer stats collection ENABLED
auto space advisor DISABLED
AWR
初期化パラメーターawr_pdb_autoflush_enabledがTRUEに設定されているため、AWRスナップショットはPDB単位でも取得されます。AWR_PDB_WR_CONTROLには複数のレコードが出力されます。ATPのDBIDを検索して該当レコードを特定します。
SQL> SHOW PARAMETER awr_pdb_autoflush_enabled
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
awr_pdb_autoflush_enabled boolean TRUE
SQL> SELECT CON_ID, DBID FROM V$PDBS;
CON_ID DBID
---------- ----------
60 1882548992
SQL> SELECT * FROM AWR_PDB_WR_CONTROL;
DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID SRC_DBID SRC_DBNAME
---------- -------------------- -------------------- ---------- ---------- ---------- ----------
1882548992 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT 60 1882548992
724532816 +40150 00:01:00.0 +00008 00:00:00.0 DEFAULT 724532816
1410308625 +40150 00:01:00.0 +00008 00:00:00.0 DEFAULT 1410308625
2267802642 +40150 00:01:00.0 +00008 00:00:00.0 DEFAULT 2267802642
AWRの設定はdbms_workload_repository.modify_snapshot_settingsプロシージャで変更します。
下記の例ではAWRスナップショットの実行間隔を10分に変更しています。
SQL> EXECUTE dbms_workload_repository.modify_snapshot_settings (interval=>10);
PL/SQL procedure successfully completed.
SQL> SELECT * FROM AWR_PDB_WR_CONTROL;
DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID SRC_DBID SRC_DBNAME
---------- -------------------- -------------------- ---------- ---------- ---------- ----------
1882548992 +00000 00:10:00.0 +00008 00:00:00.0 DEFAULT 60 1882548992
724532816 +40150 00:01:00.0 +00008 00:00:00.0 DEFAULT 724532816
1410308625 +40150 00:01:00.0 +00008 00:00:00.0 DEFAULT 1410308625
2267802642 +40150 00:01:00.0 +00008 00:00:00.0 DEFAULT 2267802642
AWRレポートは当たり前ですがCDBの情報が取れません。awrrpti.sqlでCDBの情報を取得しようとするとエラーが発生するようです。awrrpt.sqlスクリプトは成功します。
SQL> @?/rdbms/admin/awrrpti.sql
Specify the Report Type
-----------------------
AWR reports can be generated in the following formats. Please enter the
name of the format at the prompt. Default value is 'html'.
'html' HTML format (default)
'text' Text format
'active-html' Includes Performance Hub active report
Enter value for report_type: active-html
Type Specified: active-html
Specify the location of AWR Data
--------------------------------
AWR_ROOT - Use AWR data from root (default)
AWR_PDB - Use AWR data from PDB
Enter value for awr_location:
Location of AWR Data Specified: AWR_ROOT
Instances in this Workload Repository schema
--------------------------------------------
DB Id Inst Num DB Name Instance Host
------------ ---------- --------- ---------- ------
129725541 1 <db_name> <instance>
129725541 2 <db_name> <instance>
Enter value for dbid: 129725541
Using 129725541 for database Id
Enter value for inst_num: 2
Using 2 for instance number
Specify the number of days of snapshots to choose from
------------------------------------------------------
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
Enter value for num_days: 1
Listing the last day's Completed Snapshots
Instance DB Name Snap Id Snap Started Snap Level
------------ ------------ ---------- ------------------ ----------
<instance> <db_name> 4467 15 Mar 2020 00:00 1
4468 15 Mar 2020 01:00 1
Specify the Begin and End Snapshot Ids
--------------------------------------
Enter value for begin_snap: 4467
Begin Snapshot Id specified: 4467
Enter value for end_snap: 4468
End Snapshot Id specified: 4468
Specify the Report Name
-----------------------
The default report file name is awrrpt_2_4467_4468.html. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: report-4467-4468
Using the report name report-4467-4468
ERROR:
ORA-20028: Container DB Id 1882548992 was not continuously open during the given snapshot range (4467, 4468).
ORA-06512: at "SYS.DBMS_SWRF_REPORT_INTERNAL", line 13055
ORA-06512: at "SYS.DBMS_SWRF_REPORT_INTERNAL", line 3112
ORA-06512: at "SYS.DBMS_WORKLOAD_REPOSITORY", line 1290
ORA-06512: at line 1
Report written to report-4467-4468.html
初期化パラメーター
安全性のための設定
いくつかの初期化パラメーターはBest Practiceに応じた値に変更されています。以下の表は、データの安全性を高めるためにデフォルト値から変更されている初期化パラメーターの例です。パラメーターの値はAlways Free環境のATPインスタンスで調査しています。V$PARAMETERビューのISDEFAULT列がFALSEになっている値を検索した結果から抜粋しています。
初期化パラメーター名 | 設定値 |
---|---|
db_block_checking | MEDIUM |
db_block_checksum | TYPICAL |
db_lost_write_protect | TYPICAL |
sec_protocol_error_trace_action | ALERT |
RAC / GoldenGate構成
可用性のためReal Application Clusters構成になっています。またデータ転送のためにOracle GoldenGateのサービスを有効にしています。
初期化パラメーター名 | 設定値 |
---|---|
cluster_database | TRUE |
enable_goldengate_replication | TRUE |
thread | 2 |
その他
その他特徴的な設定としてはmax_string_sizeがEXTENDEDになっています。この設定は文字列型の最大サイズを拡張する設定です。以下はデフォルト以外の設定になっている初期化パラメーターの一覧です。
SQL> SELECT NAME,VALUE,ISPDB_MODIFIABLE,ISDEFAULT FROM V$PARAMETER WHERE ISDEFAULT!='TRUE' ORDER BY 1;
NAME VALUE ISPDB ISDEFAULT
---------------------------------------- --------------------------------------------------------------------------------------------------------- ----- ---------
aq_tm_processes 40 TRUE FALSE
audit_file_dest /u02/app/oracle/admin/<db_name>/adump FALSE FALSE
audit_trail DB FALSE FALSE
autotask_max_active_pdbs 10 FALSE FALSE
awr_pdb_autoflush_enabled TRUE TRUE FALSE
cluster_database TRUE FALSE FALSE
compatible 18.0.0 FALSE FALSE
control_files +DATA/<db_name>/CONTROLFILE/current.273.1018644197, +RECO/<db_name>/CONTROLFILE/current.258.1018644197 FALSE FALSE
cpu_count 2 TRUE FALSE
db_block_checking MEDIUM TRUE FALSE
db_block_checksum TYPICAL FALSE FALSE
db_block_size 8192 FALSE FALSE
db_create_file_dest +DATA TRUE FALSE
db_files 25 TRUE FALSE
db_flashback_retention_target 480 FALSE FALSE
db_lost_write_protect TYPICAL FALSE FALSE
db_name <db_name> FALSE FALSE
db_recovery_file_dest +RECO FALSE FALSE
db_recovery_file_dest_size 34273272791040 FALSE FALSE
db_securefile ALWAYS TRUE FALSE
diagnostic_dest /u02/app/oracle FALSE FALSE
dispatchers (PROTOCOL=TCP) (SERVICE=<db_name>XDB) FALSE FALSE
distributed_lock_timeout 360 TRUE FALSE
drcp_dedicated_opt NO FALSE FALSE
enable_goldengate_replication TRUE FALSE FALSE
enable_pluggable_database TRUE FALSE FALSE
external_keystore_credential_location +DATA/encrypt_wallet/tde_seps FALSE FALSE
gcs_server_processes 4 FALSE FALSE
global_txn_processes 2 FALSE FALSE
instance_number 2 FALSE FALSE
log_archive_format %t_%s_%r.dbf FALSE FALSE
max_dump_file_size 1G TRUE FALSE
max_idle_blocker_time 5 TRUE FALSE
max_string_size EXTENDED TRUE FALSE
nls_language AMERICAN TRUE FALSE
nls_territory AMERICA TRUE FALSE
ofs_threads 40 FALSE FALSE
open_cursors 1000 TRUE FALSE
parallel_execution_message_size 32768 FALSE FALSE
parallel_max_servers 12 TRUE FALSE
parallel_min_servers 704 FALSE FALSE
parallel_servers_target 12 TRUE FALSE
parallel_threads_per_cpu 1 FALSE FALSE
pdb_lockdown OLTP TRUE FALSE
pga_aggregate_limit 6291456000 TRUE FALSE
pga_aggregate_target 3145728000 TRUE FALSE
processes 20000 FALSE FALSE
query_rewrite_integrity TRUSTED TRUE FALSE
remote_login_passwordfile EXCLUSIVE FALSE FALSE
resource_manager_plan FORCE:OLTP_PLAN TRUE FALSE
result_cache_max_size 10485760 TRUE FALSE
result_cache_mode MANUAL TRUE FALSE
sec_protocol_error_trace_action ALERT FALSE FALSE
sessions 20 TRUE FALSE
sga_max_size 323196289024 FALSE FALSE
sga_target 8388608000 TRUE FALSE
spatial_vector_acceleration TRUE TRUE FALSE
thread 2 FALSE FALSE
undo_retention 1800 TRUE FALSE
undo_tablespace UNDO_2 TRUE FALSE