S-JIS[2005-03-21/2008-11-24] 変更履歴

WindowsにOracleをインストール

WindowsマシンにOracleをインストールした時のメモ。


Oracle9iのインストール

  1. OTNのデータベースのところから「Oracle9i Database」をダウンロードしてくる。
    1. OTNのデータベースのところから「Oracle9i Database」をクリック。
    2. ユーザー・パスワードが聞かれるが、無料だからユーザー登録しておく。
    3. ライセンス契約のページで「輸出制限」に関して質問があるけど、普通の人なら全部チェック付ければOK。だから これ意味ないような気がするけどな…いくらでも嘘つけるじゃん。
    4. ファイル3つ分あるので、全てダウンロードしてくる。本来はCD-ROM 3枚に相当しているんだろう。
       
  2. ダウンロードしてきたファイルを適当な場所に展開する。
    (ただしインストール用のファイル名のパスが長くなるとインストール中に上手くいかなくなるので、C:\temp等、なるべく短くなる場所に展開した方がよい。少なくともデスクトップ上に展開すると危ない)
     
  3. d1(ディスク1)のsetup.exeを実行する。(Oracle Universal Installer(OUI)が起動する)
     
  4. 画面に従い、インストール内容を設定していく。
    画面毎に「ヘルプ」ボタンがあって、押すと選択肢の説明が出るんだけど、たまに説明が漏れていることがある…。
  5. 設定し終えると、インストール開始。
    途中でディスクを交換するように言われたら、「ダウンロードしてきたファイルを解凍した場所」を指定する。

以上。


起動

インストールするとWindows起動時に自動的にOracleが起動するようになっていて、普段使わないから邪魔。
Windowsの「サービス」と呼ばれる機能で自動起動を実現しているので、その設定を変えてやる。

Windowsのサービスの管理ツールを使って、以下のように設定する。

サービス名 状態 スタート 備考
OracleMTSRecoveryService 開始→停止 自動→手動 普通に使う分には不必要。
OracleOraHome92Agent 開始→停止 自動→手動
OracleOraHome92HTTPServer 開始→停止 自動→手動
OracleOraHome92TNSListener 開始→停止 自動→手動 この2つだけあれば、DBとして使える。
常に使うなら、「自動」のままにしておいていい。
OracleServiceORA92 開始→停止 自動→手動

OraHome92」はインストール中に指定したOracleHome
ORA92」はインストール中に決定されたSID


DBの起動・停止は以下のように行う。

動作 コマンド 説明
DB起動 サービスの管理ツール OracleServiceORA92 サービスの開始 どちらかの方法で起動する。
コマンドプロンプト net start OracleServiceORA92
リスナー起動 サービスの管理ツール OracleOraHome92TNSListener サービスの開始 どちらかの方法で起動する。
リスナーとは、DBクライアントの要求をOracleDBに伝えるものらしい
コマンドプロンプト net start OracleOraHome92TNSListener
リスナー終了 サービスの管理ツール OracleOraHome92TNSListener サービスの停止 どちらかの方法で終了する。
コマンドプロンプト net stop OracleOraHome92TNSListener
DB終了 サービスの管理ツール OracleServiceORA92 サービスの停止 どちらかの方法で終了する。
コマンドプロンプト net stop OracleServiceORA92
実行すると「サービスを停止できませんでした。」と表示されるが、実際には終了している。

XDB(XMLデータベース)

Oracle9iをデフォルト状態でインストールすると、XMLデータベース(XDB)という機能が入るらしい。[2007-07-07]
ブラウザーで http://localhost:8080/ にアクセスすると、XDBにログインできる。(ユーザーはsysやscott)

XDBを使用しないなら、削除してしまってよい。(特にポート8080はTomcatのデフォルトなので競合してしまう)
Oracleをインストールしたディレクトリに削除用のSQLがあるので、それを実行してDBを再起動する。

SQL> conn sys/XXXXXXXX as sysdba
接続されました。
SQL> @C:\oracle\ora92\rdbms\admin\catnoqm.sql
					…execute dbms_registry.removing('XDB');が実行される
PL/SQLプロシージャが正常に完了しました。

					…drop user xdb cascade;が実行される
ユーザーが削除されました。

SQL> shutdown immediate
データベースがクローズされました。
データベースがアンマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。
〜
データベースがマウントされました。
データベースがオープンされました。

ちなみにXDBを作成するのはcatqm.sqlっぽい。

参考:みっちーさんのTomcatが起動しない場合の対処方法


コアダンプ

OracleのDBMS自体が落ちると、いわゆるcoreファイル(コアダンプ)が作られる。[2007-10-30]
(coreというとUNIXっぽく感じるけど、ファイル名を見る限りWindowsでもやっぱりcoreだ(苦笑))

C:\oracle\admin\ora92\cdump\ora92CORE.LOG

このファイルの出力場所に関しては、パラメーターcore_dump_destで確認できる。[2008-04-26]

中を見るとレジスターやらスタックトレースやらが書かれていて正にダンプだけど、実行中だったSQLが書かれているわけでもないので、DB使用者の役には立たないかな…。


Windows2003でOracle10gのDB作成

Windows Server2003にインストールされたOracle10g(他人がインストールしたので詳細不明(爆))に対してdbcaを使ってDBを作成しようとしたところ、
最後の「終了」ボタンを押してDB作成を開始してすぐに、以下のようなエラーが発生…。[2005-05-17]
adminユーザーで作成してるんだけどなぁ

Instance created.
DIM-00019: create service error
O/S-Error:(OS 1388)メンバのアカウントの種類が間違っているため、新しいメンバをローカルグループに追加できませんでした。

このエラーが出た時点で「OracleServiceORCL10G」のサービスを手動で開始してやり
その後で上記のエラーダイアログの「OK」ボタンを押せば、処理が続行されてちゃんとDBが作られた。

※サービス名の「OracleServiceORCL10G」については、SIDを「orcl10g」として 指定していた。
 このサービスはDB作成開始時点で作られるらしく、それまでは存在しない。
 そして 作られた時の状態が「手動」になっているので、サービスとして実行されていない。なんでこんな半端な…


Oracle10gでは、DBの管理が行えるエンタープライズマネージャーが Web経由で使用できる。[2005-06-26]

http://アドレス:5500/em」でアクセス可能。

表領域の拡張なんかも簡単にできる。


OAS10g(WebCache版)を入れた場合の不具合

Oracle10gでDBを作った後にOAS10g(WebCache版)をインストールすると、ORA-12514が出てDBが起動しなくなる[2005-05-27]
DBCAを使ってDBを削除し(削除の為には認識できるらしい…)、同じように作り直したら使えたけど。

と思っていたら、マシン(WindowsServer2003)を再起動したら やっぱりDBに接続できなくなった…。

どうやら、Oracle10gのサービスは起動しているのにDB自体が起動されていないらしい。
手動でDBを起動してやれば接続できるようになる。

C:\>set ORACLE_SID=orcl10g		←環境変数で接続先のSIDを設定。設定しておかないと、connで接続できない

C:\>sqlplus /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 火 5月 24 20:57:53 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 167772160 bytes
Fixed Size 787968 bytes
Variable Size 69990912 bytes
Database Buffers 96468992 bytes
Redo Buffers 524288 bytes
Database mounted.
Database opened.

Oracle11g

Oracle11gについて。[2008-11-24]

インストール

  1. Oracleのデータベースのところから アーカイブをダウンロードする。
    1. OracleのデータベースのOracle11 Database 11gのところで環境に合ったリンク(MicrosoftWindows(32bit)とか)をクリックする。
    2. 「ライセンスに同意する」を選ぶと、zipファイル名の部分がリンクになり、ダウンロードできるようになる。
    3. ダウンロードしたいリンク(データベース本体やクライアント)をクリックすると、ダウンロードが始まる。
  2. ダウンロードしてきたファイルを適当な場所に展開する。
  3. setup.exeを実行する。(Oracle Universal Installer(OUI)が起動する)

Oracle11gクライアントのインストール

OUIで、インストールする種類(InstantClient・管理者・ランタイム)が聞かれる。
デフォルトはInstantClientだが、管理者かランタイムにした方がいいと思う。
というのは、Oracle11gでは『Windows版のSQL*Plus(sqlplusw.exe)』や『SQL*Plus Worksheet』が廃止になったが、代わりにOracle SQL Developerが入った為。
しかしこのSQL DeveloperはInstantClientでは入らないようなので。
(バージョン1.1.3だからだいぶ古いみたいだけど)

インストールされる場所は、デフォルトでC:\app\%USERNAME%\product\11.1.0\client_1になった。


Oracle目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま