Oracle11gr2 に接続する
mailto: suzukiy4i@gmail.com
作成:2011.04.01
更新:2011.04.06
11gr1までは,とりあえずはバカチョンでつながるのに,11gr2はハードル高い..
ポイントは...
サーバーの listener.ora の設定(記述)をきちんとする必要がある.
これには net configuration assistant や net manager で リスナーを削除したり追加したり,,なんかのはずみでうまくいく(事がある).GUIですっきり見えても,listener.oraを直にるとグチャグチャのことがあった.このグチャグチャが邪魔しているのかもしれない.
DBを作らないで oracle のみをインストールして,のちにDBをつくるとうまくいきやすい(かも)
サーバーのfirewallの設定も必要.
復習
Oracle9iに接続するには
そのザーバー Local ではこんな感じ
こんな感じでも可
Oracle11gに接続するは
そのサーバー Local ではこんな感じ
.
Oracle9iと同様にこんな感じでも可.ただし scott/tiger は アカウントがdisable になっているので通らない.
これでもOK
ただし,[localhost]を自己のIP addressにすると通らない???
firewall を off にしても同じ
net manager でもおなじ現象が起きる
さあ,リモートからは?
ODAC1120230Beta_EntityFramework.zip を download してインストールしてみる.
Net Configuration Assistant とか Net Manager とか使わなくても,接続できる.
これはOracle9iに接続
これはOracle10gに接続
これはOracle11gに接続...できない
ただし11gr2 localでも,[localhost]を自己のIP addressにすると通らない
Windows Server 2003 に install した Oracle 11g はどうだ
11gr1 localでip指定でOK
11gr1 remote でもOK
Windows Server 2008r2 に Oracle11gr1 をインストールしようとしたら ×
宿題
instant client をインストールしてみる -- NG
non-insant client をインストールしてみる -- NG
これでも11gr2にはつながらない.リモートから入るための設定がある?
サーバーでしてみたがダメみたいだ
サーバ側の問題みたいだしな...
tnsping が localhost なら通るが,IP指定で通らないとかの話題があった.
local のサーバー内で も, 確かに そのようなことが起きている.
さらに検索を続けると...こんな記事を発見.
-----以下引用-----
なんかリスナーがあやしいと思って、listener.oraを確認。
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
これか・・・。
HOSTを自ホストのIPアドレス(or ホスト名)に書きかえて、リスナーの再起動。
で、ociドライバから接続成功。そして、thinドライバでも接続成功。
いつもはOracleのインストール後にDB作って、リスナー作って、Oracle Netの設定してたけど、今回はOracleのインストール時に手抜きしてDBも作ったからリスナーも同時に作成された。
これが原因だったか・・・。
-----引用ここまで-----
これは思いついたのだが,「リスナーの再起動」っていうのをしていなかった.で,設定しなおして,マシンごと再起動.
...やっぱりだめだ...
リスナーのコントロールは
>lsnrctl
LSNRCTL>set current リスナー名
LSNRCTL>start or stop
こんな記載もある
http://okwave.jp/qa/q5982531.html
-----以下引用-----
御指摘の内容は問題なかったのですが、11gサーバ側のリスナーを
「Net Configuration Assistant」で一度削除し、再作成したところ
正常になりました。
-----引用ここまで-----
これをしてみたがNG
宿題 - 文字とおり,家のベッドの上でひっくり返ってノートパソコンを腹の上にあげて仕事をしている.Windows Live Mesh で職場のデスクトップをリモコンている.
DB をつくらないでインストールしてみる
NIC を一枚にしてインストールしてみる
IPv4だけにしてみる
DB をつくる.途中netca(net configuration assistantのことだろう)でリスナーを作れと言われるので作る・
tnspingはとおる.ipでもaddressでも.
sqlplusもOK ip, addressでも.たたし firewallは無効.firewallで1521を通せばokかも
----------------------このときのlistener.oraはこんなかんじ-----------------------------------------------------------------------------------------------------------
# listener.ora Network Configuration File: C:\app\{username}\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxxxORCL11g.xxxx.local)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = C:\app\{username}
---------------------------------------------------------------------------------------------------------
DB を一緒に作っても,設定ファイル をうまくすれば OK にちがいない.
NIC は2枚でも,IPv6が併存していても大丈夫に違いない.
うまくいかなかったときの環境で,net manager(or net configuration assistane どっちかわすれた) でlisterを削除して,追加して,結局うまくいった.
この環境は,NICは2枚だか,IPv6はdisabledにしてある.
---------------------------------------このときのlistener.oraはこんなかんじ---------------------------------------------------
# listener.ora Network Configuration File: C:\app\{username}\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\{username}\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\{username}\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxxxORCL11g.xxxx.local)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\{username}\product\11.2.0\dbhome_1\log
-------------------------------------------------------------------------------------------------------------------------------------------------
しかし,Net Manager でみると サービス・ネーミングが空である.要らないの? そう.要らないんだ.
non-instant client で接続するときには要るに違いない
で,いずれにしてもOK
ODAC をインストールするだけでもOKと思われる - OKです
で,Visual Studio から接続するには,
データプロバイダは Oracle Data Provider .NET を使用して --- vs2010 を先にインストール,ODAC のインストールが後.
データソース名は「xxxxORCL10g:1521/orcl」など入れる
ODP.NET の BETA3 をdownload するが,
ODAC1120250Beta_EntityFramework_32bit.zip と
ODAC1120250Beta_EntityFramework_x64.zip の二種類ある
32bit 環境には _32,64bit 環境には _x64 だと 思ったが,
32bit 環境では問題なくそれでよいが,
64bit 環境では x64 の方をインストールしても,「データ接続の追加」でODP.NET が選べない.
インストールした _x64 版 を除去して,x32 版をインストールしたらOK.VS2010の問題?
VSが32bitだからか.
ODAC64bit版ではdevelopper toolsが入っていないからか.
で,こんな感じ.
[scottEntities] という object を作るには,solution explore から 右クリックで新しい項目を追加してつくっていく
ところで https://xxxx:1158:em は client をインストールしないと接続できないのか --そうでもない
普通にinstallした windows7 からはアクセスできなかった.