Oracle 11g R2のインストール手順を粛々とまとめてみた。

生産管理ではOracle, 会計システムではSQL Serverを使用するため、僕のPCではOracel11gとSQLServer2012が常時起動しているわけですが、世間一般で言われるほどメモリを食いつぶす感じはしません。

せいぜい時折「メモリー過大に消費してますよー」というWindowsの警告メッセージが表示されるくらいで、本来なら使用しない時はDBのサービスを停止して必要に応じて起動するほうがよいに決まっているわけですが、いちいち停止しているサービスを起動するのが面倒なので。

OracleとSQLServer

この2つのDBは武蔵と小次郎みたいなもんで、バージョンが上がるたびに機能比較がされてきましたが、最近では「検索のOracle、更新のSQLServer」と言われているらしいです。

ただDBにそれほど詳しくない僕くらいのレベルの人間にしてみれば「データ量の多い大規模なシステムにはOracle、中堅どころの規模にはSQLServer」くらいの認識が一般的だと思います。

これはSQLServerはWindowsでしか使用できないがOracleはUnix系サーバでも利用できるという汎用性の濃淡が多少影響していると思います。

Oracleのライセンス形態はProcessorライセンス(サーバーのCPUの枚数)かNamed User Plus(NUP)ライセンス(何人で使うか)の2通りあり、インストール時にシリアルキー入力の必要もないので、11g R2のライセンスがあれば12cをインストールすることも可能です。
oracel_priceまた3つのエディションがありますが、生産管理システム用のDBを多くのユーザーで使用する場合、結論から言って通常版であるStandard Edition OneのProcessorライセンス(63万円)を買っておけば問題ないわけです。

2016年に価格改定があり、実質的な大幅値上げになりました(泪)。
oracle_price2一方でSQLServer2012も同じようにComputing Power ライセンスモデル(CPUの中のコアの数)とCALモデル(何人で使うか)という似たようなライセンス体系になっていますが、Oracleのように物理プロセッサをカウントする方式ではなく1プロセッサごとに搭載されるコア数の合計をカウントするところがミソです。
sqlserver2012SQL ServerもOracleと同じように3つのエディションがありますが、会計システムを少数のユーザーで使用する場合、サーバーライセンス(15万円)+CAL(ユーザー分)買っておけば問題ないわけです。
sqlserver2012_2DB操作のためのコマンドラインツールとしてSQL plus、GUIツールとしてSQLServerのManagement Studioに相当するOracle SQL Developerがありますが、スクリプト(拡張子sqlのSQLが記述されたDB全般で扱われるテキストファイル)の実行結果を確認したいときはGUIツールのほうが便利です。

Oracle clientとserverの関係

リスナーはサーバーで実行する個別のプロセスであり、クライアントからの接続要求を受け取りサーバーへの要求を管理します。

Oracleネットマネージャー

net_manager

起動しているOracle関連のサービス

service

Oracleホーム

oracle_home

Oracleリスナー

oracle_listener

サーバー側とクライアント側で設定する項目

サーバー側

  1. Database Configuration Assisantでインスタンス作成
  2. Net Configuration Assistantでリスナー作成

クライアント側

Net managerでサービスネームを作成

Database Configuration AssistantはOracleデータベースの作成と構成に使用します。

Oracle Net Configuration Assistantは、リスナー名やプロトコル・アドレスなどの基本的なOracle Netネットワーク・コンポーネントの構成、およびディレクトリ・サーバーを使用するためのOracleホームの構成に使用します。

Oracle Net Managerは、ローカル・クライアントやサーバー・ホスト上のOracleホームに対してOracle Net Servicesを構成します。

Oracle DB ソフトウェアインストールとインスタンスとスキーマ作成の流れ

Oracle DBの導入は以下の3ステップに分かれます。

  1. インストーラからDBソフトウェアのインストール
  2. DBCA(Database Configuration Assistant)からインスタンスの作成
  3. スキーマの作成

DBソフトウェアのインストールはsetup.exeを実行しインストーラを起動させ、以下の4つの主要設定パラメータを設定します。

  1. Oracleベース(C:\app\Hp):インストールの場所ですべてのOracle関連ファイルの場所
  2. Oracleホーム(C:\app\Hp\product\11.2.0):Oracleベース内のDB構成ファイル以外の場所
  3. 初期データベースのGlobal DB Name(Orcl)
  4. ユーザIDとパスワード

以上によりOracleベースの中にdbhome_1というホーム(ソフトウェアディレクトリ)が生成されます。

C:\app\Hp\product\11.2.0\dbhome_1

以上でDBソフトウェアがインストールされたので、次はOracle Databese Configuration Assistance(DBCA)でインスタンスを作成します。

Oracle で「DBを作成する」というのは「インスタンスを作成する」のとほぼ同義で、そして1つのインスタンスの中に複数の「スキーマを作成」しますが、これは「ユーザを作成する」のとほぼ同義です。

DB構成ファイル自体はDB(インスタンス)ごとに以下に配置されます。

C:\app\Hp\oradata\orcl

ここまでの手順に間違いがなければ、サーバー側で以下の2つのサービスが起動しています。

  1. OracleServiceORCL(OracleServiceの後ろにSID名をくっつけたもの)
  2. OracleOraDB11g_Home1TNSListener

一方、クライアント側で起動するサービスは以下の1つで、Oracle clientはOracle DBがインストールされているサーバで稼動しているリスナーというサービスを経由してOracle DBに接続します。

OracleOraDB11g_Home1ClrAgent

インスタンスが作成できたら次にスキーマを作成します。

  1. [C:sqlplus /nolog]でログを保存しない状態でログイン
  2. [SQL> conn sys/admin@orcl as sysdba]で管理者権限でインスタンスに接続すると[Connected.]を返す。
  3. [SQL> @D:/createuser.sql スキーマ名 パスワード]で[User created.]を返す。

上記のcreateuser.sqlの中身は以下のとおり。

ここまででインスタンスとスキーマが準備できたので、あとはシステム環境(テーブルとか)を作成するだけです。

Oracleのアンインストール手順

インストール手順は画像が多いのでアンインストール手順から先に説明します。

11g R2になってOUI(Oracle Universal Installer)でアンインストールしようとすると、「C:\app\HP\product\11.2.0\dbhome_1\deinstallで削除してください」と拒否されます。

  1. deinstallから来る質問に丁寧に回答する(ほとんどがYesかNo)。
  2. regeditを実行して以下のレジストリキーを削除する。
    HKEY_LOCAL_MACHINE/SOFTWARE/Oracle key
    HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Oracle key
    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Ora* key
  3. 再起動する。
  4. Oracle関連ディレクトリを全部削除する。
    C:\app\HP
    C:\Program Files (x86)\Oracle
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\
  5. テンポラリーファイル「C:\temp」をクリアする。
  6. ごみ箱を空にする。

regeditからOracle関連のレジストリキーを削除する際は、バックアップを取った上で、細心の注意を払いながら作業しましょう。

regedit

Oracle 11g Release2 32bit版のインストール手順(12画面)

11gといっても11.2.0.1はバグありなので、最新版11.2.0.4をインストールします。

まずはメルアドやProxy情報はあまり気にせず先に進みましょう。
o1
o2

ここでCreate and configure Databaseを選ぶとOracle DB Softwareのインストール後にDataBase Configuration Assistantが自動で起動し、初期DB(インスタンス)をorclの名前で生成します。

ただ通常はInstall database onlyを選択して後からDBCAでインスタンスを作成すると思います。
o3
o5
o6
o7

Grobal database nameのデフォルトはorclなので必要に応じて変更します。
o8
o9
o10

ここからDBCAがGrobal database name:orcl, SID:orclでインスタンスを生成し始めます。
o11
o12
o13

Oracle client 11g 32bit版のインストール手順(11画面)

Administrator版をインストールするとSQL PlusやSQL Developer、Net Managerなどのツールが自動的にインストールされます。
ora1
ora2
ora3

ここでいくつかFailedになったとしても必ずしも致命的なエラーとは限らないので、勇気を出してIgnore Allで抜けましょう。
ora4
ora5
ora6
ora7

ここまででOracle Clientのインストールは完了しているので、次はNet Managerで接続先のリスナー情報を設定します。
ora8
ora9
ora10
ora11
ora12
ora13
ora14

最新情報
お届けします

Twitter で