Help us understand the problem. What is going on with this article?

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

はじめに

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

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に含まれる権限の種類をドキュメント等で確認の上、使うのがよいかと思います。(必要最低限の権限を与えることが適切なので)

参考

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

その他ご参考情報

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away