インストールしたOracle Express Edition18cのセットアップしてみた
無料でインストールした「Oracle Express Edition18c」のセットアップをしてみようと思います。ちなみにインストールについては、以前の記事を参考にしてみてください。
Oracle 18cのアーキテクチャ「マルチテナント・アーキテクチャ」とは
セットアップする前に「Oracle 18c」は、「Oracle 11g」からアーキテクチャが変わっていて「マルチテナント・アーキテクチャ」という機能が導入されています。はじめて触ると戸惑うかもしれないので概要をさらっとググって調べてからセットアップしたほうが理解しやすいと思います。
マルチテナント・アーキテクチャとは、マルチテナント・コンテナ・データベース(以降CDBと呼びます)と呼ばれるひとつのデータベースとそれに内包される、ひとつまたはそれ以上のプラガブル・データベース (以降PDBと呼びます)によって構成されます。
簡単にいうと上記みたいです。そのため「Oracle 11g」の時のようにsysユーザでログインした時「コンテナ・データベース」側に接続してしまいます。
--sysユーザでログイン sqlplus sys/password@XE as sysdba --接続先の確認 show con_name
ちなみに「Oracle Express Edition18c」データベースのSIDは「XE」です。
C:\>sqlplus sys/password@XE as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on 木 12月 26 21:18:31 2019 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0 に接続されました。 SQL> show con_name CON_NAME ------------------------------ CDB$ROOT
接続先がCDB(コンテナ・データベース)となっているのがわかると思います。
デフォルトで作成される「プラガブル・データベース」にユーザを作成する
では、ユーザを作成しましょう。ただしCDBのままだと「CREATE USER」が出来ません。どうするかというと、いつも通りsysユーザでログインした後(コンテナ・データベースに入ったのち)、プラガブル・データベースにセッションを切り替えるという方法とsysユーザでプラガブル・データベースを指定してログインする方法があります。
--セッションの切り替え alter session set container = XEPDB1;
「XEPDB1」がデフォルトで作成されるプラガナブル・データベース名です。さっそくセッションを切り替えてみましょう。
SQL> alter session set container = XEPDB1; セッションが変更されました。
もしくは初めからプラガナブル・データベースを指定してログインします。
sqlplus sys/password@//localhost:1521/XEPDB1 as sysdba
C:\>sqlplus sys/password@//localhost:1521/XEPDB1 as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on 水 1月 8 23:26:21 2020 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0 に接続されました。 SQL> show con_name CON_NAME ------------------------------ XEPDB1 SQL>
どっちの方法でもいいのでプラガナブル・データベースにログインできたらユーザを作成しましょう。ユーザ名は何でもいいですがここでは「ADMIIN」で作成します。
--ユーザの作成 CREATE USER ADMIN IDENTIFIED BY PASSWORD DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ; --権限の付与 grant connect to ADMIN; grant resource to ADMIN;
SQL> CREATE USER 2 ADMIN 3 IDENTIFIED BY 4 PASSWORD 5 DEFAULT TABLESPACE 6 USERS 7 TEMPORARY TABLESPACE 8 TEMP 9 PROFILE 10 DEFAULT 11 ; ユーザーが作成されました。 SQL> grant connect to ADMIN; 権限付与が成功しました。 SQL> grant resource to ADMIN; 権限付与が成功しました。
いったんログアウトして「ADMIN」でログインできるか試してみましょう。
SQL> exit; Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0との接続が切断されました。 C:\>sqlplus ADMIN/PASSWORD@//localhost:1521/XEPDB1 SQL*Plus: Release 18.0.0.0.0 - Production on 金 1月 10 00:12:07 2020 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. 最終正常ログイン時間: 金 1月 10 2020 00:11:47 +09:00 Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0 に接続されました。
正常にログインすることができました!
次回は、テーブルやデータを作成してみようと思います。
コメント