質問・問題
RDS for Oracle にて、下記 SQL で新しい表領域を作成しようとした際にエラーで失敗します。
原因は何ですか?
▼SQL
CREATE TABLESPACE test1 DATAFILE '/rdsdbdata/db/orcl/datafile/test1.dbf' SIZE 1G AUTOEXTEND ON MAXSIZE 10G;
▼エラーメッセージ
ERROR at line 1:
ORA-04088: error during execution of trigger 'RDSADMIN.RDS_DDL_TRIGGER2'
ORA-00604: error occurred at recursive SQL level 1
ORA-20900: RDS only supports Oracle Managed Files. Check ddl and remove any
named identifiers
ORA-06512: at "RDSADMIN.RDSADMIN_TRIGGER_UTIL", line 235
ORA-06512: at line 2
回答・解決方法
RDS for Oracle ではデータファイル、ログファイル、制御ファイルの管理として Oracle Managed Files (OMF) のみをサポートしており、物理ファイル名 ('/rdsdbdata/db/orcl/datafile/test1.dbf') を指定することはできないものとなります。
[1] Oracle DB インスタンスの一般的なデータベースタスクの実行 - Amazon Relational Database Service
テーブルスペースの作成とサイズ変更
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Database.html#Appendix.Oracle.CommonDBATasks.CreatingTablespacesAndDatafiles
=== 抜粋 ===
Amazon RDS は、データファイル、ログファイル、制御ファイルとして Oracle Managed Files (OMF) のみをサポートしています。
データファイルとログファイルを作成するときは、物理ファイル名を指定することはできません。
=========