2013年8月3日土曜日

"コンテナ・データベースとして作成"チェックボタン

Oracle12cのインストール・DB作成時の指定のうち、"コンテナ・データベースとして作成"チェックボタンのチェックを外してみた。


これだと、CREATE USERはエラー無し。PDBも無しの前バージョンと同じになる

 SQL> create user test identified by test;

 ユーザーが作成されました。

 SQL> select PDB from v$services;

 PDB
 ------------------------------------------------------------





 SQL>

単一DBしか使わないところでも、コンテナ・データベースとして作っておいた方が良い点とかあるのかな?

2013年8月2日金曜日

oracle 12cでユーザ作成時のエラー

12cでユーザ作成時のエラー。

 SQL> create user test identified by test;
 create user test identified by test
            *
 行1でエラーが発生しました。:
 ORA-65096: 共通ユーザーまたはロール名が無効です

結構な数の人が引っかかってるみたいでGoogleで"ORA-65096"で検索すると結構な数のページがヒットする。
(Oracle 12c新機能を扱っているページを探す時にも便利なキーワード)

対応方法としては、
・接続識別子にユーザーを作成したプラガブルデータベースを指定し、対象のプラガブルデータベースに接続
 (http://www.cosol.jp/tech/detail/ora-65096.shtml)
・alter session set containerコマンドで接続先のプラガブルデータベースを変更
  (http://www.climb.co.jp/blog_dbmoto/archives/1272)
等色々あるが、面倒なんでマルチテナントアーキテクチャ使わずに今まで通りのやり方というのはできないのかね。

データベース作成時、"コンテナ・データベースとして作成"というチェックボックスがあるがこれをはずしておけば上みたいなエラーから開放されるのかな?



Solarisにコンテナが導入された時、OS担当の連中に「お勤めご苦労!」と言ってたけどよもやOracleにまで導入されるとは・・・・。
「Sun買収の時気づけよ」と言われてもねぇ