ハジカラ 〜はじめからでも、プログラミング勉強〜

入門向けに、IT関連(javaやKotlin)をコツコツ書いたり検証したりします。

【Oracle Database】11gと12cのユーザ作成:備忘録

calendar

reload

【Oracle Database】11gと12cのユーザ作成:備忘録

こんにちは。

今回は、Oracle Databaseのバージョン11gと12cをふれる
機会があったのでその備忘録です😁

違いがあるとは聞いていたものの、前提が結構違いますね💦

主にユーザ作成に手こずったのでまとめてみたいと思います。
あと、今回は画像はありません😅 悪しからず。

インストールしたOSは、Solarisになります。
これまでは、11g以前のバージョンをWindowsにインストール
してきたので、Solarisでのインストールと仕様にも悩まされました💧
Windowsなら設定ソフトとかあるのですが、Solarisの場合は
インストール完了以降はほとんどコマンドで設定しました。
それもあってか手こずったとは思うのですが・・・。

まずは、11gの前提です。

CDB(コンテナデータベース)という入れ物に、システム管理ユーザや
一般ユーザやテーブル名や表領域など、DBに必要な情報が入っている
イメージでした。
なので、SQLとか操作する時には、リスナーを起動し、DBを起動すれば
良かったわけです。

これが、12cになると変わります。

CDB(コンテナデータベース)は同様にありますが、この中に
仮想状態でPDB(プラガブルデータベース)というのが複数入っています。
CDBとPDBの関係は、1:多です。

システム管理ユーザはCDBに割り当てられてますが、一般ユーザはCDB上で
作れません💧
PDBに作成する必要があります。
しかも、PDBを操作するには、リスナー起動⇨CDB起動⇨PDB起動という
手順が必要になります。

何をするにも、一段階手間がかかってる感じですね・・・。

一応、CDBで複数のデータベースを一元管理できることが強みのようです。
これをマルチテナント・アーキテクチャと呼びます。

まぁ、この仕組みを全く理解していなかったので、12cインストール後は
だいぶ苦戦しました。
SQL打ってもエラーの連続ですよ・・・。

ちなみに、12cのインストール時にPDBを作成するかのチェックが
あるので、このチェックを外してインストールすると、11gまでの
バージョンの挙動で、一般ユーザ作成ができました😀
ただ、インストール後にマルチテナント・アーキテクチャか否かは
切り替えができないようですので、よく設計を考慮した上でインストール
した方がいいでしょう。

なんにせよ、これからのOracleの主流はマルチテナント・アーキテクチャに
なりそうなので、今回の苦戦は非常に勉強になりました。

今回はここまで🤚

では、また次回。