Oracle Cloud Free Tier環境が利用できるようになったので、データベースの作成とSQL Developerから接続して簡単に検証してみました。
初期画面
利用を開始するにはユーザーの登録、スマートフォンを使った認証、クレジットカードの登録などが必要です。認証を終えて接続すると下記の画面が表示されました。下記の画面は英語ですが、右上の地球アイコンから表示言語を指定できます。
外部から接続するために仮想クラウドネットワークを作成します。外部から接続するため、とりあえず「仮想クラウド・ネットワークおよび関連リソースの作成」を選択しました。
データベースの作成
データベースの作成には初期画面からCreate a databaseをクリックします。
データベースの名前や表示名、ライセンスの情報、CPU数、ストレージ容量等を指定します。バージョン、エディション、追加オプション等を指定する画面はありません。
初期作成されるユーザー名はADMIN固定です。パスワードは英大文字/英小文字/数字/記号を含める必要があります。
[Create Autonomous Database] ボタンをクリックすると、数分でデータベースが利用できます。内部的にはPDBを一つ作ったくらいの時間感覚です。
左側のアイコンがAVAILABLEに変更されたら利用可能です。
SQL Developerからの接続
SQL DeveloerからOracle Cloudを利用する場合には、「ウォレット」と呼ばれるクライアント資格証明が格納されたzipファイルの利用が簡単です。
ウォレットのダウンロード
データベースのWeb画面から [DB接続] ボタンをクリックすると下記の画面が表示されます。「クライアント資格証明(ウォレット)のダウンロード」項目の [ダウンロード] ボタンをクリックするとzipファイルがダウンロードできます。
このzipファイルには以下のファイルが格納されています。
ファイル名 | 内容 |
---|---|
tnsnames.ora | ローカル・ネーミング・パラメータ |
ojdbc.properties | JDBC Driver属性設定 |
sqlnet.ora | プロファイル・パラメータ |
ewallet.p12 | ウォレット |
cwallet.sso | ウォレット |
truststore.jks | トラストストア |
keystore.jks | キーストア |
SQL Developerからの接続
ウォレットのダウンロードが完了したらSQL Developerの接続を作成します。SQL Developerの左上部にある緑色の十字アイコンをクリックします。
「認証タイプ」項目は「デフォルト」に設定し、「ユーザー名(U)」項目にはADMINを、「パスワード(P)」項目にはデータベース作成時に入力したパスワードを指定します。
次に「接続タイプ」のリストから「クラウド・ウォレット」を選択します。次に「詳細」タブにの「構成ファイル(C)」項目に、先ほどダウンロードしたzipファイルのパスを指定します。
zipファイルを展開する必要はありません。「サービス(S)」項目にはウォレット内のtnsnames.oraファイルに含まれるサービス名のリストが自動的に出力されるため、
任意の値を選択します。
「テスト(T)」ボタンをクリックすると、接続テストを実行できます。無事テストが成功したら「保存(S)」ボタンをクリックします。
最後に「接続(C)」ボタンをクリックすることでAutonomous Databaseに接続するSQL Developer環境が完成します。
Autonomous Databaseの利用
管理者用として初期状態ではADMINユーザーのみが利用できます。
バージョン
作成したAutonomous Databaseのバージョンを確認してみます。V$VERSIONビューを検索します。Oracle Database 18c Enterprise Editionが利用されていることがわかります。
SQL> SELECT * FROM V$VERSION;
BANNER BANNER_FULL BANNER_LEGACY CON_ID
-------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production 0
Version 18.4.0.0.0
Linux上で動作していることがわかります。
SQL> SELECT * FROM V$DATABASE;
DBID NAME CREATED RESETLOGS_CHANGE# RESETLOG PRIOR_RESETLOGS_CHANGE# PRIOR_RE LOG_MODE CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROL CONTROLF CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE# CONTROLF OPEN_RESETL VERSION_ OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL REMOTE_A ACTIVATION# SWITCHOVER# DATABASE_ROLE ARCHIVELOG_CHANGE# ARCHIVEL SWITCHOVER_STATUS DATAGUAR GUARD_S SUPPLEME SUP SUP FORCE_LOGGING PLATFORM_ID PLATFORM_NAME RECOVERY_TARGET_INCARNATION# LAST_OPEN_INCARNATION# CURRENT_SCN FLASHBACK_ON SUP SUP DB_UNIQUE_NAME STANDBY_BECAME_PRIMARY_SCN FS_FAILOVER_STATUS FS_FAILOVER_CURRENT_TARGET FS_FAILOVER_THRESHOLD FS_FAIL FS_FAILOVER_OBSERVER_HOST CON PRIMARY_DB_UNIQUE_NAME SUP MIN_REQUIRED_CAPTURE_CHANGE# CDB CON_ID
---------- --------- -------- ----------------- -------- ----------------------- -------- ------------ ------------------ --------------- ------- -------- --------------------- ------------------- -------- ----------- -------- -------------------- -------------------- -------------------- -------- ----------- ----------- ---------------- ------------------ -------- -------------------- -------- ------- -------- --- --- --------------------------------------- ----------- ----------------------------------------------------------------------------------------------------- ---------------------------- ---------------------- ----------- ------------------ --- --- ------------------------------ -------------------------- ---------------------- ------------------------------ --------------------- ------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --- ------------------------------ --- ---------------------------- --- ----------
PENDING_ROLE_CHANGE_TASKS CON_DBID FOR
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------- ---
2423671681 EPA1POD 19-08-28 1207024 19-08-28 1192063 19-08-28 ARCHIVELOG 1.6360E+13 1.6360E+13 CURRENT 19-08-28 7490547 1.6360E+13 19-10-10 NOT ALLOWED 19-08-28 READ WRITE MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE ENABLED 2423704956 2423704956 PRIMARY 1.6360E+13 DISABLED NOT ALLOWED DISABLED NONE NO NO NO NO 13 Linux x86 64-bit 2 2 1.6360E+13 YES NO NO epa1pod 0 DISABLED 0 NO NO YES 0
NOT APPLICABLE
表領域
デフォルトで作成されている表領域は以下の通りです。
名前 | 用途 |
---|---|
SYSTEM | 管理用表領域 |
SYSAUX | 補助表領域 |
UNDOTBS1 | UNDO表領域 |
TEMP | 一時表領域 |
DATA | アプリケーション用デフォルト表領域 |
DBFS_DATA | DBFS用表領域 |
SAMPLESCHEMA | |
UNDO_8 | UNDO表領域 |
ADMINユーザーはCREATE TABLESPACEシステム権限を持っていますが、表領域作成はエラーになるようです。
SQL> SELECT * FROM USER_SYS_PRIVS WHERE PRIVILEGE='CREATE TABLESPACE';
USERNAME PRIVILEGE ADM COM INH
------------------------------------------------- ---------------------------------------- --- --- ---
ADMIN CREATE TABLESPACE YES NO NO
SQL> CREATE TABLESPACE data2 DATAFILE '+DATA/data2.dbf' SIZE 10M;
ORA-01031: 権限が不足しています
01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to perform a database operation without
the necessary privileges.
*Action: Ask your database administrator or designated security
administrator to grant you the necessary privileges