こんにちは。
今回は、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の主流はマルチテナント・アーキテクチャに
なりそうなので、今回の苦戦は非常に勉強になりました。
今回はここまで🤚
では、また次回。
コメント