WindowsマシンにOracleをインストールした時のメモ。
|
以上。
インストールすると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 実行すると「サービスを停止できませんでした。」と表示されるが、実際には終了している。 |
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使用者の役には立たないかな…。
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
」でアクセス可能。
表領域の拡張なんかも簡単にできる。
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について。[2008-11-24]
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になった。