ここを参照しながらやりました。
注意点
タイムゾーンオプションでは、ホストレベルでタイムゾーンが変更されます。タイムゾーンを変更すると、SYSDATE や SYSTIMESTAMP など、すべての日付列および値に影響を与えます。
タイムゾーンの前提条件
タイムゾーンオプションは、固定かつ永続オプションです。オプショングループに追加したオプションを削除することはできません。DB インスタンスに追加したオプショングループを削除することはできません。オプションのタイムゾーン設定を別のタイムゾーンへと変更することはできません。
タイムゾーンオプションを DB インスタンスに追加する前に、DB インスタンスの DB スナップショットを取得することを強くお勧めします。タイムゾーンオプションが正しく設定されていない場合は、スナップショットを使用して、DB インスタンスを復元できます。
RDS for Oracleにてタイムゾーンの変更がサポートされましたより
既にOption Groupsがインスタンスに紐付いている場合は再起動がかかります。
変更方法
オプショングループの作成
- RDSのコンソールから
オプショングループ
→グループの作成
-
エンジン
とメジャーエンジンのバージョン
をオプショングループを紐付けるRDBのエディションとバージョンに合わせる - 今回は
Standard Edition 2
の12.1
のOracleを使用するため以下に設定
- 作成されたオプショングループを選択し
オプションの追加
- オプションを
Timezone
、タイムゾーンをAsia/Tokyo
- 今回はすぐに適用したいので
すぐに適用
をはい
オプションの追加
## 作成したオプショングループをRDSに付与
- RDSのコンソールで対象インスタンスを選択し
変更
-
データベースの設定
のオプショングループ
で作成したオプショングループを指定
- 今回はすぐに適用したいので
すぐに適用
を選択しDBインスタンスの変更
をクリック - 変更が始まる
- 今回は別のオプショングループがインスタンスに紐付いていたのでRDSが再起動される。
- CloudWatchでアラートを確認すると再起動されていることがわかる
タイムゾーンの確認
- RDS再起動後、インスタンスに接続
SQL> select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'YY
-------------------
2019-07-03 18:45:04 ★JSTの時刻になっている
※上記のSQLは2019/07/03 18:45に実行
補足
RDS for Oracle と S3 でファイルをやり取りするでインスタンスに紐づけたオプショングループ(orcl-s3)
を今回は付け替えたため、S3 にファイルをアップロードしようとすると以下のエラーが発生した。
※ orcl-s3はRDSからS3にアクセスするためのオプショングループ
SQL> SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
p_bucket_name => 'orcl-test',
p_directory_name => 'DATA_PUMP_DIR',
p_s3_prefix => 'orcl-test/',
p_prefix => 'exp_scott.log')
AS TASK_ID FROM DUAL;
SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
*
ERROR at line 1:
ORA-00904: "RDSADMIN"."RDSADMIN_S3_TASKS"."UPLOAD_TO_S3": invalid identifier
-
オプショングループ(timezon-jst)
をオプショングループ(orcl-s3)
に変更しようとしたらエラー - これに違反した模様
DB インスタンスに追加したオプショングループを削除することはできません。
- オプショングループを選択し
オプションの追加
- オプションに
S3_INTEGRATION
を追加してみる
- 追加された
- オプショングループを付与しているインスタンスが
変更中
となる
SQL> SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
p_bucket_name => 'orcl-test',
p_directory_name => 'DATA_PUMP_DIR',
p_s3_prefix => 'orcl-test/',
p_prefix => 'exp_scott.log')
AS TASK_ID FROM DUAL;
TASK_ID
------------------------------------------------------------------------------------------
1562209514266-32
SQL> SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1562209514266-32.log'));
TEXT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2019-07-04 03:05:15.763 UTC [INFO ] File #1: Uploading the file /rdsdbdata/datapump/exp_scott.log to Amazon S3 with bucket name orcl-test and key orcl-test/exp_scott.log.
2019-07-04 03:05:15.851 UTC [INFO ] The file /rdsdbdata/datapump/exp_scott.log was uploaded to Amazon S3 with bucket name orcl-test and key orcl-test/exp_scott.log.
2019-07-04 03:05:15.851 UTC [INFO ] The task finished successfully.
- S3を確認
- 無事アップロードされてました。
- オプショングループに
オプション
を複数追加できるみたいです