「Oracle Database Enterprrise Edition(EE)」をインストールしたよ。
1.ダウンロード
- Oracle Database ソフトウェア・ダウンロードで”Oracle Database 12c Release 2″の”Microsoft Windows x64 (64-bit)”の”See All”をクリック。
- 遷移先のページで”Oracle Database 12c Release 2 (12.2.0.1.0) for Microsoft Windows (x64)”の”winx64_12201_database.zip”をクリックし、ダウンロード。
※ダウンロードにはOracle.comのユーザ登録が必要だった。
2.インストール
「とりあえず、ローカルで動けばいい」の思いでインストールしたので、後々再インストールが必要になるかも。手っ取り早く使いたい時の指針にはなるだろう。そう思おう。
基本的にはデフォルト値だけど、ところどころの選択は以下のようにした。
セキュリティアップデートの構成 | 電子メール:設定しない セキュリティ・アップデートをMy Oracle Support経由で受け取ります。:チェックオフ ※警告出るが無視 |
---|---|
インストール・オプション | データベースの作成および構成:選択 |
システム・クラス | デスクトップ・クラス:選択 |
Oracleホーム・ユーザー | 仮想アカウントの使用:選択 |
標準インストール | ※パスワードのみ入力し、他は初期値のまま |
サマリー | – |
終了 | – |
インストールが終わり、メニューに追加されたことを確認。
SQL PLUSでとりあえず、”sys”ユーザで「orcl」にログインできた。けど、普通のユーザが欲しい。
※「orcl」・・・インストール時デフォルトのデータベース名
3.スキーマ(ユーザ)を作る
では、作成していく。
(1) sysユーザでログイン
(2) 作成するユーザが使用する表領域の作成 <後でやり直している>
※ファイルパスを省略したら「C:\app\<ユーザ名>\virtual\product\12.2.0\dbhome_1\database\」に作成された。
(3) ユーザの作成 <失敗>
※ん?失敗した。「ORA-65096: 共通ユーザーまたはロール名が無効です」だって。
なんかねOracle 12cからデータベースが2種類に分かれたんだって。
※プラガブルは「Plugg-able」で脱着可能という意味だそうだ。CDBにPDBを抜き差しというイメージか?
んで、ルールとして
- 通常のローカル接続をした場合、CDBに接続される。
- CDBにはユーザスキーマを作成することはできない。(ORA-65096となる)
- ユーザスキーマはPDBに接続して作成する必要がある。
- CDBからはユーザスキーマが見えない。
だそうだ。
今回はCDBが「orcl」、PDB「orclpdb」となる。そういやインストール時にそんなことが書いてあったような。
ということで「tnsnames.ora」にPDB用のTNSを追加して、PDBにログイン。
(4) 再度ユーザの作成 <失敗>
※だめだ。「ORA-00959: 表領域’NTEST_TS’は存在しません」だと。CDBで作った表領域はPDBでは使えないのかね。
(5) CDBの”NTEST_TS”を削除して、PDBに作成。
※同じ名前で作るので、”NTEST_TS”を論理削除、物理ファイル「ntest_dt.dbf」を直接削除、再作成の順に行った。
(6) 再々度ユーザの作成
※やっとできた。
(7) 適当にDBAロールを付与。
※最低限”CREATE SESSION”がないとログインすらできない
(8) ログイン確認
※OK!
4.SQL Developerでログイン
他の接続ソフトでもいいんだけど、とりあえず付属ソフトでいけるとこまでいってみる。
とりあえずPDBにログインするも、いきなり失敗。
SIDは「orcl」(CDB)だった。サービス名に入力すると入れた。
結局一筋なわではいかなかったな。
当面Oracleでやりたいのは実行計画のお勉強。だましだましやってたが一回ちゃんとやったほうがいいと思ったんで。