テスト用 RDS for Oracleの管理と操作

# RDSインスタンスの構築
https://qiita.com/AkioMotoki/items/ac4f6dc9456c5d90c70e

当記事は、上記記事で使う環境の一部で、移行元DB(ソースDB)としてのRDS for Oracleを構築した例。
通常のDBサーバ構築は[Oracle DBサーバのマルチテナント管理 (オンプレミス)](https://qiita.com/AkioMotoki/items/3c1dfaa6ac0d1fdba864)に記載

## AWSの管理コンソールからのRDSメニュー
AWSのRDSのメニュー 「データベース」から「データベースの作成」を選択し、DBインスタンスを構築します。
## データベースの作成
エンジンのタイプとしてOracleを選択。
その他は、テスト環境に合った設定を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/088be126-c701-a37d-456e-d27a595fcfe5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/30453529-c4df-6955-f090-fbd31dc302bf.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/c3591f54-e1be-a9b8-348c-38f670fe55a2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/4eb6973b-377d-327f-f1dc-b403915e60cf.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/aeee4f16-be64-28f9-8fba-1e5f5d25c9ff.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/64f1dd7e-ee73-e47d-362e-074988a0780d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/1431aa1e-ba5d-faa5-c382-be4d59e2dd1f.png)

DBのサブネットグループやセキュリティグループは、他と連携が可能なもの(予め作成済み)を設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/28641b29-bad1-8f78-103a-ef6ee44558ef.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/896efc31-4b2c-7b20-427f-8da938a6e05c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/9b928c25-9f19-ee4e-d72a-019a07265813.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/ceb57d16-3f1e-d708-d505-cb0a610bebb9.png)

データベースの作成まで少し待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/e6b8a535-35ce-ff87-fc6e-62f37d7be299.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/ce9936a4-f553-37ea-2bd1-b913f61b9047.png)
余談ですが、マルチテナント用DBインスタンス(PDB)の作成も、データベースのインスタンスメニューから実施します。



# SQLPlusによるコマンドライン管理操作
## SQLPlusによるDB接続
```sql:SQLPlus ログイン 
sqlplus adminora/[パスワード]@[RDSのアドレス]:1521/ORADB01
```
## スキーマ作成(ユーザ作成)
スキーマAPLを作成 (ユーザ作成APLによりAPLが作られる)
```sql:ユーザ作成 
CREATE USER APL IDENTIFIED BY [Password];
```
管理者IDに権限付与
```sql:ユーザへの権限設定 
grant connect, resource, dba to apl;
```
```sql:確認
SELECT GRANTEE, GRANTED_ROLE, ADMIN_OPTION  FROM SYS.DBA_ROLE_PRIVS WHERE GRANTEE = 'APL';
```

# テーブル作成 (SQLPlus)
```sql:SQLPlus ログイン 
sqlplus [管理者ID]/[パスワード]@localhost:1521/ORADB01
```
## テーブル作成(DDL)の準備
``` SQL:テーブル作成のDDL例 (tables.sql)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802444/2b59146c-f7e9-2ba8-fa50-7897f4a5131e.png)--------------------------------------------------------
--  DDL for Table TBL0001
--------------------------------------------------------
CREATE TABLE "APL"."TBL0001"
 (DEPTNO NUMBER(2),
 DNAME VARCHAR2(14),
 LOC VARCHAR2(13));

   COMMENT ON TABLE "APL"."TBL0001"  IS 'Dept Table';



--------------------------------------------------------
--  DDL for Table TBL0002
--------------------------------------------------------
CREATE TABLE "APL"."TBL0002"
 (EMPNO NUMBER(4) primary key,
 ENAME VARCHAR2(10),
 JOB VARCHAR2(9),
 MGR NUMBER(4),
 HIREDATE DATE,
 SAL NUMBER(7,2),
 COMM NUMBER(7,2),
 DEPTNO NUMBER(2));

   COMMENT ON TABLE "APL"."TBL0002"  IS 'EMP Table';

```
## DDLの実行
```sql:SQLPlus ログイン 
sqlplus [管理者ID]/[パスワード]@localhost:1521/ORADB01
```
```sql:スキーマの切り替え
alter session set current_schema = APL;
```
予め作成されたDDL (TABLES.SQL)を実行
```sql:テーブル作成用DDL (TABLES.SQL)の実行
@TABLES.SQL
```