14
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle Cloud Infrastructure の Autonomous Databaseで使える SQL Developer Web (ブラウザベース)

Last updated at Posted at 2019-08-27

※※※本投稿の内容は古いため、こちらを参照ください。※※※

■■■Oracle Cloudのウェビナーシリーズは? → こちら■■■

はじめに

Oracle Cloud Infrastructure 上にある Autonomous Database へ接続してSQLを実行するのに、ブラウザベースのSQL Developer Webが利用できます。adminユーザ(*1)での接続なら、Autonomous Database を作成してすぐに利用できます。クラウド環境にあるデータベースなので、やはり、ブラウザからSQLを実行したい気がします。

デスクトップ版のSQL Developerは古くからありますが、そこから機能を厳選した感じで、ショートカットキーも踏襲されています。

(*1): 本投稿内でのadminユーザとは、Autonomous Databaseを管理するデフォルトの管理ユーザのことを指しています。

(余談ですが、ブラウザベースでのSQL実行には、他にも Oracle ML SQL Notebookや、Oracle Application Expressを利用する方法もあります。)

SQL Developer Web へのアクセス(adminの場合)

adminでログイン

OCIコンソールのADBのページから、「サービスコンソール」をクリック

img.jpg

右側の「Development」→ 「SQL Developer Web」
image.png

ログイン画面になるので、以下を入力

  • ユーザ名:admin
  • パスワード:(Autonomous Database作成時に指定したadminのパスワード)

image.png

ログインすると、ウィザードで色々教えてくれます。
image.png

SQLを実行

「ワークシート」に、以下のSQLを直接入力して、「文の実行」ボタンをクリックして(またはCtrl + Enter で)実行したところです。画面下部に「問合せ結果」が表示されます。

select object_name, object_type from dba_objects where rownum < 10;

image.png

Ctrl + Space でSQLの補完が可能)

SQLの整形(フォーマット)

ログイン時のウィザードでも教えてくれる「SQLのフォーマット」ボタンをクリックしたところです(または Ctrl + F7 )。右上の「ワークシート」ウィンドゥ内のSQLが整形されました。

image.png

データ・モデラーも使ってみる

デスクトップ版のSQL Developerでご紹介している
SQL DeveloperのData Modelerでデータベースに接続してテーブルの構造を出力する
↑↑ この機能、Web版でも利用できます。

「データ・モデラー」タブで、「SSB」ユーザを選択、表示されたテーブル5つを右側にドラッグすると(Ctrlキーで複数選択可)、テーブルの構造と、FK(外部キー)制約を元にしたリレーションが表示されました。
※SSBはAutonomous Data Warehouseのサンプルスキーマです

image.png

「データ・モデラー」タブが見つからないときは、左上の「三」押下で左側に表示されるメニューから、「アクション」→「データ・モデラー」から辿れます。
image.png

SQL Developer Web へ、admin以外のユーザで接続する

実際にデータベースユーザが利用する時には、admin以外のユーザで接続することになるかと思います。追加の手順を実施し、専用のURLからログインします。

  • (データベースユーザを作成する)
  • プロシージャを実行し、そのユーザでのアクセスを有効にする
  • 上記プロシージャ内で指定した文字列を使用するような、専用のログインURLからアクセスする

ドキュメントではこちら Provide SQL Developer Web Access to Database Users に記載がありますが、

スマートスタイル様のBLOGにご紹介がありましたので、ご参考になるかと思います。(有難うございます!)

SQL Developer Web(SDW)からATPに接続する
→ admin以外のユーザーログイン

追記

こんな感じでやります。ADMINでログインしているSQL Developer Webの画面上で実施するとよいです。そのときのURLもメモしておき、後で利用します。

-- (データベースユーザを作成し、権限付与)
CREATE USER SCOTT IDENTIFIED BY Tiger123456##;  -- ①ユーザ名とパスワードを指定
GRANT DWROLE to SCOTT;  
GRANT UNLIMITED TABLESPACE to SCOTT;

-- プロシージャを実行し、そのユーザでのアクセスを有効にする
BEGIN
   ORDS_ADMIN.ENABLE_SCHEMA(
     p_enabled => TRUE,
     p_schema => 'SCOTT',  -- 上記①で指定したユーザ名(スキーマ名)※大文字で
     p_url_mapping_type => 'BASE_PATH',
     p_url_mapping_pattern => 'sctweb', -- ②URL内に含める文字列を指定
     p_auto_rest_auth => TRUE
   );
   COMMIT;
END;
/

ADMINでアクセスしたときのURLを元に、URLが確認できます。

※上記URLで接続できないときは、Autonomous Databaseが起動していることを確認する。

DWROLEについて

ロールとは、様々な権限情報を付与しやすくするためにひとまとめにしたグループです。autonomous data warehouse (ADW) や autonomous transaction processing (ATP) には、dwroleという名前のロールが用意されています。

上の手順では、dwrole を付与(grant)していますが、そのdwroleに含まれる権限の種類をドキュメント等で確認の上、使うのがよいかと思います。(必要最低限の権限を与えることが適切なので)

参考

ドキュメント(製品マニュアル)

その他ご参考情報

14
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?