スキップしてメイン コンテンツに移動

Windows Server 2016 にOracle11gをインストール


.Net3.5が要るらしい。 orz
一回目のインストールの際に「.Net3.5が必要」ってダイアログが山ほど出てきた。
.Net3.5が必要な場合のエラーダイアログはどうして「ダウンロードしてインストールせよ」なんだろう?

参考にした
 http://otndnld.oracle.co.jp/easy/oracle11gr1/windows/pdf/SelfStudy_01_win.pdf
だと、LISTNERの追加設定(?)が必要そうに書いてあるけど、やってみたら「すでに作成済み」ってなる。
それを信じて進めてみたらどうにもうまくいかない。。。

OracleDBをGUIで操作しよう、っていうのが間違いのようか気がする
(逆にSQLserverをCLIでやるのは狂気の沙汰だと思う)。



一旦、アンインストールすることにして、スタートメニューにある「Universal Installer」
を実行してアンインストールしようとしたら「batファイルを実行せよ」というダイアログが。

ググりかたが悪かったのか、
「アンインストールはUniversal Installerからしかないぜ。その他の方法はどーなっても知らないぜHAHAHA」(意訳)
と書いてるOracleさんしか見つからない。
どっちを信じたらとも思ったが、目の前のほうが正しいだろうという考えに従いそのバッチ
を実行しました。(Universal Installerさんは何度やっても消そうともしてくれないし)



バッチ実行後、しばらく放置したら終わったらしい。
Oracleさんがインストールされていたっぽいディレクトリもだいたい消えていた。


消えたよね?ってことで一度再起動してから、Oracle11gのインストールを再び実行。
エラーは出ずに無事終了。
(.Net3.5がインストール済みだったからかな??)


 sqlplus / as sysdba
は問題ない。でも、別PC(Linux機)からの接続はNG。

 lsnrctl status
コマンドの実行結果から、やはりlocalhost以外からの接続はLISTENしてない模様。
listener.oraをちょっと修正して、LISTNERサービスを再起動。

 lsnrctl status
を再度実行すると、IPアドレスの分も表示されたので、外部からも接続できるだろう。
別PC(Linux機)から telnet IPaddr 1521 とやったら繋がりはしたのでOKでしょう。



sysdbaはローカルでは接続できたけど、別PC(Linux機)では接続できなっかった。。
それはセキュリティ的にNGだろうからそーだよねぇ。。。
リモートからはDBユーザを作ればいいんじゃないか、ということでローカルのsysdbaで
create userでユーザを作成。

意気揚々と、別PC(Linux機)から・・・・つながりません。orz
ローカルでもつながらない。。。
(別PCからはtnsnames.oraの設定があるからまだダメだろう>自分)


作り方が悪かったかと、drop user して再度 create user しても同じ。
ググってみるとなんと「ログイン権限付与」が必要らしい(ユーザ作ってパスワードつけたらログインできていいじゃないか)。


 GRANT CONNECT TO
これが必要でした。。。。


さて、ローカルでは新規作成ユーザで接続可能になりました。
でもこれじゃ使い物になりません。


問題は別PC(Linux機)のtnsnames.oraに書く内容、というかSIDはいったいいつ設定したんだ?
(インストーラでインストール途中に設定している、というのは知っているけど、
 根本の意味がわかってないw)
OracleDBインストール後に変更したい、とか、別SIDで立ち上げたいって場合はどうするんだ?
自宅警備員兼初心者DBAには奥が深い世界だけによくわかりませぬ。。。

悩んでもググってもわかんないので、DB機にあるtnsnames.oraを丸パクリして
一行目の接続文字列(と大昔に習ったモノ、に見えた文字列)を好みの文字列にして、
別PC(Linux機)に設定しました。


無事に接続できました!

コメント

このブログの人気の投稿

LS220DのHDD交換

 BuffaloのNASであるLS220Dの赤色LEDが点滅していました。。。 HDD故障だそうです。 元から入っていたのは、東芝の1TB(TOSHIBA DT01ACA1)でした。 手元にWDの2TB(WD20EARS)、4TB(WD40EZRX)、6TB(WD60EZAZ)、SeaGateの4TB(ST4000DM000)、8TB(ST8000AS0002)が あったので、後日容量アップができるのでは、と思い入れてみました。 RAID再構築をクリックしてみたら・・・  WD   2TB:「指定したメソッドに対するパラメータが不正です。」   4TB:「指定したメソッドに対するパラメータが不正です。」   6TB:リビルド成功  SeaGate   4TB:「指定したメソッドに対するパラメータが不正です。」   8TB:「指定したメソッドに対するパラメータが不正です。」 という散々な結果でした。 何がダメなんだろう?と思い返してみると、WDの6TBだけは未使用の ものでした。 ほかのHDDは入れる前にパーティション情報をWindows上で消したけど、 もしかしてMBR領域(というかHDDの先頭セクタ0)になにか情報があると ダメなのかも。 ということで、Linux機にWD 4TB(/dev/sdb)をつないで、  sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1  sudo sgdisk -Z /dev/sdb を実行してからLS220に入れました。 「破損」という表示になってしまいしたが、RAID再構築を押すと 再構築が始まった、、、、ぽい。

VirtualBoxのUSBメモリからの起動

検索すると、USBメモリからの起動はできないような感じだけど、 UEFIブートだとできた。 手順 1.設定→システム→UEFIを有効化 2.設定→USB でUSBメモリを仮想から使えるようにする3.F12を押しつつ仮想を起動  ※ブートメニューが出てくるまで挫けずがんばる4.ブートメニューの「Boot Manager」に入って、USBメモリを選択 UEFIじゃないのは無理なのかも。