-- 1. RDSインスタンス作成
aws rds describe-db-engine-versions \
--engine oracle-se2 \
| jq -c '.DBEngineVersions[] | [ .Engine, .EngineVersion ]'
aws rds create-db-instance \
--db-instance-identifier oracle01 \
--allocated-storage 20 \
--db-instance-class db.t3.small \
--engine oracle-se2 \
--master-username oracle \
--master-user-password 'password' \
--no-multi-az \
--engine-version 19.0.0.0.ru-2021-04.rur-2021-04.r1 \
--storage-type gp2 \
--no-publicly-accessible \
--no-enable-performance-insights \
--no-auto-minor-version-upgrade \
--license-model license-included
-- 2. Oracle DB インスタンスの一般的なシステムタスクの実行
-- セッションの終了
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = 'TEST';
begin
rdsadmin.rdsadmin_util.kill(
sid => 63,
serial => 63684);
end;
/
-- 共有プールのフラッシュ
select count(*) from v$sql;
exec rdsadmin.rdsadmin_util.flush_shared_pool;
-- バッファキャッシュのフラッシュ
select STATUS,count(*) from V$BH
group by STATUS
order by STATUS
;
exec rdsadmin.rdsadmin_util.flush_buffer_cache;
-- 3. Oracle DB インスタンスの一般的なデータベースタスクの実行
-- デフォルトテーブルスペースの設定
select file_name,tablespace_name,autoextensible,maxbytes from dba_data_files;
select tablespace_name,bigfile,contents from dba_tablespaces;
create tablespace tbs1 datafile size 10M autoextend on maxsize 10G;
→デフォルトでbigfile表領域となる
select * from DATABASE_PROPERTIES where PROPERTY_NAME = 'DEFAULT_TBS_TYPE';
EXEC rdsadmin.rdsadmin_util.alter_default_tablespace(tablespace_name => 'TBS1');
select * from DATABASE_PROPERTIES where PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE';
-- デフォルトの一時テーブルスペースの設定
select file_name,tablespace_name,autoextensible,maxbytes from dba_temp_files;
select tablespace_name,bigfile,contents from dba_tablespaces;
create temporary tablespace tbs2 tempfile size 10M autoextend on maxsize 10G;
EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace(tablespace_name => 'TBS2');
select * from DATABASE_PROPERTIES where PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE';
-- ごみ箱を空にする
alter session set recyclebin ='ON';
show recyclebin;
exec rdsadmin.rdsadmin_util.purge_dba_recyclebin;
-- 4. Oracle DB インスタンスの一般的なログ関連タスクの実行
-- オンラインログファイルを切り替える
select * from v$log;
select * from v$logfile;
exec rdsadmin.rdsadmin_util.switch_logfile;
→1回実行するとなぜかロググループ2個進む
-- オンライン REDO ログの追加
exec rdsadmin.rdsadmin_util.add_logfile(p_size => '128M');
-- オンライン REDO ログの削除
exec rdsadmin.rdsadmin_util.drop_logfile(grp => 6);
-- 5. Oracle DB インスタンスのその他のタスクの実行
-- 主要データストレージ領域でのディレクトリの作成と削除
select * from dba_directories;
exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'ORA_DIR');
exec rdsadmin.rdsadmin_util.drop_directory(p_directory_name => 'ORA_DIR');
-- DB インスタンスディレクトリ内のファイルのリスト化
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'ORA_DIR'));
declare
fh sys.utl_file.file_type;
begin
fh := utl_file.fopen(location=>'ORA_DIR', filename=>'test.txt', open_mode=>'w');
utl_file.put(file=>fh, buffer=>'Hello World!');
utl_file.fclose(file=>fh);
end;
/
SELECT * FROM TABLE
(rdsadmin.rds_file_util.read_text_file(
p_directory => 'ORA_DIR',
p_filename => 'test.txt'));
-- 6. クリーンアップ
-- RDSインスタンス削除
aws rds delete-db-instance \
--db-instance-identifier oracle01 \
--skip-final-snapshot