マンガでよめる痔のこと・薬のこと

下記エラーの解決方法に心あたりのある方がいらっしゃったら教えてください。

現象
 サーバーを用意し、そこにOracleDatabase11gR2をインストールし、クライアントマシンから
 Oracle Net Configration Assistantでネットサービス名の構成をする際、以下のエラーが出て
 接続できません。
 
 「ORA-12170: TNS: 接続タイムアウトが発生しました。」
 
 ※1
 サーバーでは同様のユーザ(SYSTEMユーザ)とパスワードでデータベースに接続できることは確認できています。
 またファイアーウォールの設定でポート1521の接続の許可は行っております。
 (クライアントからの接続のときのポートはデフォルトのまま1521を使用)
 
 ※2
 ファイアーウォールを有効にしたまま接続を試みたとき、
 C:\Windows\System32\LogFiles\Firewall\pfirewall.logに接続がブロックされたことがログとして出力されると思いますが、出力されませんでした。
 よって、ポート1521はファイアーウォールに到達する前に、どこかで遮断されているように思われます。
 (ポート1158で同様にファイアーウォールの有効性を確認したところpfirewall.logにブロックした旨の内容が出力されました。)
 
 よろしくお願いいたします。


環境
サーバー
 OS:Windows Server 2008 R2 (64bit)
 Oracle:Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (x64)
 ファイアーウォールの設定:ポート1521の接続は許可済み
 (1158の接続も許可)

クライアントPC
 OS:Windows7 (32bit)
 Oracle:Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (32-bit)

このQ&Aに関連する最新のQ&A

A 回答 (4件)

> 「ORA-12170: TNS: 接続タイムアウトが発生しました。


とでるということは、クライアントとサーバーが接続できていないのだから
まず、
PING IPアドレスで接続できるの?(⇒ダメならOracle以前で、ネットワーク環境自体の問題)
PING サーバ名で接続できるの?(⇒ダメならOracle以前で、名前解決の問題)
という確認が先だと思いますけど。

また、サーバ-クライアントの伝送経路途中にFireWallがありませんか?
(FireWall機能を持つハードが途中にないといえるかどうか。)
TRACERT サーバ名
で、経路のIPアドレスが順番にでてきます。それらがHUBやルーターだけで、
フィルタリングしていないことを確認する必要があります。

また、サーバおよびクライアント上の対ウイルスソフトも、特定のポート番号を禁止する設定には
できますが、ポート1521の接続の許可はしていますよね?
・・・
>C:\Windows\System32\LogFiles\Firewall\pfirewall.logに接続がブロックされたことが
>ログとして出力されると思いますが、出力されませんでした。
とありますがこれは、サーバのこと?それともクライアントのこと?

また、
>サーバーでは同様のユーザ(SYSTEMユーザ)とパスワードでデータベースに接続できることは
>確認できています。
というのは、TCP/IPで接続していますか?
というのも気になりますが。(他の接続方法で接続されていてうまくいっていても、
ユーザー名が正しく設定されていてログインできるという証明にしかなりません。)

サーバー上で、TCP/IPでうまく接続できているのなら、そのTNSNAMES.ORAとクライアントの
TNSNAMES.ORAを比較すれば、問題が分かるかもしれません
(Oracle Net Configration Assistantの設定内容を見比べてもいいです。)

## と、とりあえず思いついたところだけ。
## 上記がすべてクリアなら、listener.oraとtnsnames.oraの記述が不整合を起こしているのかな?
## (それぞれGUIで設定されているかもしれませんが。)
## という感じです。
    • good
    • 1

もう一つおまけ。



OS(%Systemroot%\system32・・)以下のファイルに在る、tnsnames.ora, DB HomeのDB設定ファイル等の、ポート設定を確認する事(もちろんGUI上でもかまわないが、この辺のミスならGUI上みてもわからないでしょう)。サービスが起動したら

netstat -abo

などと使用指定ポートを確認(サービスが起動していたら)。起動していなくても、誰がどのポートを使用しているか確認できる。
    • good
    • 1

いや、まてよ



>OracleDatabase11gR2をインストールし、クライアントマシンから
 Oracle Net Configration Assistantでネットサービス名の構成をする際、以下のエラーが出て
 接続できません。


初期の設置問題????

だったら

http://shodai2006.mydns.jp/oracle/oracle.html

である場合もありますね。ポーと変えたり、設定していないのでは??? まさか、そんなケアレスミスなんて・・・・

よくあるんですよね。TNSとか、手動でファイルいじる方に・・・ またポートの設定がわからず、1521 ,1512 ,1513とか、まあ、いろんなところに(GUI上で)違うポートを指定してしまったりと。

そりゃ、TNSのサービスから見ると、知らない所に接続しに行くわけですからタイムアウトするわなあ。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
ケアレスミス等無いように今一度確認いたします。

お礼日時:2011/12/09 15:57

この様なログは、2次的な場合もあり、その前後、及び、他のログ、例えばOSとか、クライアントツール等の(Oracleに関係したツール及びネットにアクセスするツール)ログ及び動作を精査して、総合的に検証する必要があります。



まずピンポイントで、そのエラー内容の趣旨を拾います。

http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF …

http://otndnld.oracle.co.jp/document/products/or …

キーワードは「接続を確立して認証を完了するのに失敗した」「、ネットワークまたはシステムの遅延が原因」「当なクライアントがデータベース・サーバーにDoS攻撃」です。

ここでよく「DoS攻撃」というと、「そんなのありませんでした」なんて答える馬鹿SEや運用オペレーターがいるが、ここで言いたいのは、DoS攻撃されると、マシンの状態はどうなりますか?

と言うことです。そう、重たくなりますね。外からの接続が、困難に成りますね。内部では、以外にコマンドとかスムーズに実行される場合もあります。そうでないときもありますが、DoS攻撃をうけているような状態がマシンにあるのではないですか?

と言う事を、このヘルプではいっています。

なので、いろんな事を一つづつ検証しましょう。と言うことです。よくあるのが、クライアントツール(Webも含む)からの多重、しかも重たい操作のリクエストです。例えば、検索キーワードに「*」などを使って、1000万以上件ヒットして表示するようなリクエストが、5、6回つづけてハングさせたなんていう馬鹿オペレーターがいました。

これは、チューニングでも間に合わない場合があります。これとは逆で1分間でキャッシュが効かないリクエストが、1万件ぐらいあったとか(もう、これは攻撃ですよね)

ということで、上記の内容も、犯人を特定する事を前提として記載されています。

なお、これらは当然OSの設定にも関係します。

>よって、ポート1521はファイアーウォールに到達する前に、どこかで遮断されているように思われます。

と判断するのは、まだ検証がたりません。

http://www.atmarkit.co.jp/fdb/rensai/ora_admin/0 …

上記の検索リストにあるサイトですが、検証例をしめしています。「そのほかにデータベースサーバまで届かないケースとして、」として、そのエラーをあげています。意味違うのわかります?

「どこかで遮断」とありますが、自分自身で在る可能性も有ります。つまり外から見た場合、接続できないとう状態がつづていいる。だれかが、にぎったまま。

Oracleに関係したものが、何がうごいていて、何が接続しにきて、誰なのか、全部把握してから、検証のための想定をしましょう。「何が」「誰が」とは、プロセス単位、スレッド単位、ユーザー単位、ポート単位、など全てです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ご教授頂いた内容を参考に、もっと細かく問題を切り分けながら検証してみます。

お礼日時:2011/12/09 15:31

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q突然オラクルへ接続できなくなりました

ローカルにオラクルをインストールして開発をしていました。
しばらく時間があいた後、開発を再開しようとするとDBへの
接続ができなくなっていました。

sqlplusではDB操作可能なので、DBそのものは落ちていないと
思うのですが…
リスナーのステータスを確認すると(lsnrctl status SID)下記のエラーが出ます。

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MY-PC)(PORT=1521))(CONNECT_DATA=(
SERVER=DEDICATED)(SERVICE_NAME=SID)))に接続中
TNS-12535: TNS: 操作はタイム・アウトしました。
TNS-12560: TNS: プロトコル・アダプタ・エラー
TNS-00505: 操作タイムアウトです。
32-bit Windows Error: 60: Unknown error

何が問題でどうすればよいのかわからないのですが、何か対応策があれば教えてください。
DBを再構築することも考えたのですが、原因がわからなければ同じ事が起こる(起こす?)
ような気がするので。

よろしくお願いします。

ローカルにオラクルをインストールして開発をしていました。
しばらく時間があいた後、開発を再開しようとするとDBへの
接続ができなくなっていました。

sqlplusではDB操作可能なので、DBそのものは落ちていないと
思うのですが…
リスナーのステータスを確認すると(lsnrctl status SID)下記のエラーが出ます。

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MY-PC)(PORT=1521))(CONNECT_DATA=(
SERVER=DEDICATED)(SERVICE_NAME=SID)))に接続中
TNS-12535: TNS: 操作はタイム・アウトしました。
TNS-12560: TNS:...続きを読む

Aベストアンサー

DBの起動/停止とサービスの起動/停止は別物です。
サービスの「OracleServiceSID」と「OracleOraDb11g_home1TNSListener」は、それぞれDBとリスナーのためのもので、DBやリスナーそのものではありません。
サービスの「OracleServiceSID」と「OracleOraDb11g_home1TNSListener」を起動状態にした後で
DBやリスナを起動します。

以下を参考にしてください。
http://www.shift-the-oracle.com/config/startup-oracle.html
http://otndnld.oracle.co.jp/beginner/oracle10g/1st/windows/index.html#configuration

QSYSユーザーでログインしたい

SQL plusでSYSユーザーでログインするにはどうすればよいのでしょうか?
SYSTEMユーザーやSCOTTユーザーではログインできるのですが、SYSユーザーになる方法がわかりません。
お願いします。

Aベストアンサー

>SQL plusでSYSユーザーでログインするにはどうすればよいのでしょうか?
特別なことする必要がないと思います。
ログインできない場合いろいろな原因が考えられます。
一番可能な原因は設定によってSYSユーザーNOMAL権限でログインできない場合あります。
この場合
sqlplus sys/パスワード@接続文字列 as sysdba
で試してください。


>SYSTEMユーザーやSCOTTユーザーではログインできるのですが、SYSユーザーになる方法がわかりません。
conn sys/パスワード@接続文字列 as sysdba

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

QSIDとSERVICE_NAMEの違いとは?

tnsnames.oraの中の(CONNECT_DATA=に SIDだったりSERVICE_NAMEだったりしますが、どのような違いがあるのでしょうか?
どちらでもつながるのでいいかとは思いますが、何かメリット・デメリットでもあるのでしょうか?
それとも過去の遺物が未だ共存しているだけでしょうか?
SIDはインスタンスにつけられた名前だと知っていますが、SERVICE_NAMEってなんですか?

Aベストアンサー

SIDはインスタンスの識別子、service_nameはサービス名。
インスタンスとサービスの違いはRAC を勉強されるとよくわかると思います。

サービス名は初期化パラメータのservice_namesで設定します。
設定されていない場合は先述のとおりdb_unuque_name.db_domainになります。
(これが同義と誤解されやすい原因となっているわけですが)

ところで、service_namesパラメータですが、複数形になっていることからもわかるように、複数のサービス名をコンマ区切りで指定できるようになっています。

これをこのように使います。

2ノードRAC環境で、インスタンス1(SID=hoge1)、インスタンス2(SID=hoge2)があったとします。
ノードを意識することなく接続できるようにするためにクライアント側のtnsnames.oraにはこんな設定を追加します。

HOGE.EXAMPLE.COM
(DESCRIPTION =
(LOAD_BALANCE = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
(CONNECT_DATA = (SERVER = DECIDATED)(SERVICE_NAME = hoge.example.com))
)

インスタンス1とインスタンス2のservice_namesパラメータにhoge.example.comを追加します。すると、インスタンス1とインスタンス2にラウンドロビンで接続できるようになります。

ここで、もしtnsnames.oraのservice_name=...がSID=hoge1だったらどうなるでしょう?
インスタンス2のSIDはhoge2ですから一致せず、インスタンス2には接続できず、いつもインスタンス1に繋がってしまいます。

次に、一時的にメンテナンスのためにインスタンス2にアクセスしてほしくないケースを考えます。service_nameであれば、インスタンス2のservice_namesパラメータからhoge.example.comを削除することで(動的に変更できます)直ちにインスタンス1にのみ接続されるようにできます。

ここで、もしORACLE_SIDだったら・・・変更のためにインスタンスの再起動が必要になってしまいますね?

最後にservice_namesは複数登録できます。3ノードRAC環境において、オンライン処理(service_name=ONLINE)、バッチ処理(service_name=BATCH)があったとします。
バッチ処理は1つのノード(インスタンス1)でのみ処理したいとします。オンライン処理は3つのノードでしたいとします。

そんなとき、service_nameであれば、

<<サーバ側の初期化パラメータ>>
1:service_names = online, batch
2:service_names = online
3.service_names = online

<<クライアント側のtnsnames.ora>>

オンライン処理
ONLINE.EXAMPLE.COM
(DESCRIPTION =
(LOAD_BALANCE = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
(CONNECT_DATA = (SERVER = DECIDATED)(SERVICE_NAME = online.example.com))
)

BATCH.EXAMPLE.COM
(DESCRIPTION =
(LOAD_BALANCE = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
(CONNECT_DATA = (SERVER = DECIDATED)(SERVICE_NAME = batch.example.com))
)

と、クライアント側では接続先サーバを気にすることなく構成できますね?
BATCHのノードを1から2にしたい場合の変更はサーバ側のみでできますよね?
serivce_namesの"batch"設定をノード2に移すだけです。

SIDはインスタンスの識別子、service_nameはサービス名。
インスタンスとサービスの違いはRAC を勉強されるとよくわかると思います。

サービス名は初期化パラメータのservice_namesで設定します。
設定されていない場合は先述のとおりdb_unuque_name.db_domainになります。
(これが同義と誤解されやすい原因となっているわけですが)

ところで、service_namesパラメータですが、複数形になっていることからもわかるように、複数のサービス名をコンマ区切りで指定できるようになっています。

これをこのように...続きを読む

Qsqlplusで表示が変なので、出力を整形したい。

いつもお世話になっています。

サーバにアクセスしてsqlplusで、
データを調べたいのですが、
出力形式が見づらくて困っています。

よくわからいのですが、
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------
1の値 2の値
3の値
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------

上記のように意味不明な形式で出てきます。

例えばこんな風に

select カラム1,カラム2,カラム3 from hoge;

カラム1 1の値
---------------------------
カラム2 2の値
---------------------------
カラム3 3の値

等のように分かりやすく表示できないでしょうか?

ちなみにOracle9iR2を使用しています。
sqlに関するツールは使用できないルールでして、あくまでsqlplusのコマンド上でみやすくしなければなりません。

分かりづらくですいませんが、皆さま、ご教授お願いします。

いつもお世話になっています。

サーバにアクセスしてsqlplusで、
データを調べたいのですが、
出力形式が見づらくて困っています。

よくわからいのですが、
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
---------------------------
1の値 2の値
3の値
---------------------------
カラム名1
---------------------------
カラム名2
---------------------------
カラム名3
-----------------------...続きを読む

Aベストアンサー

SQLPLUSを起動して、

SQL>set linesize 列数

でどうだ。

SQL>show linesize

で確認ができる。

QOracle12cでユーザのSQLPLUSログイン

基本的な質問ですみません。Oracle 12cを初めて使うのですが、すごく単純に、ユーザを作成し、そのユーザでデータベースオブジェクト(テーブルなど)を作成する拡張子が.sqlのスクリプトを流したいです。

11gまでの場合、システムユーザでCREATE USERしたのちに、コマンドプロンプトを立ち上げて
C:\Scripts> SQLPLUS <USER>/<PASSWORD> @createtables.sql
とするだけで良かったと思います。

今回、12cではユーザの考え方が変わっており、CDBとPDBを作成しました。
> SQLPLUS /NOLOG
SQL> CONN SYS AS SYSDBA
(上記のようにローカル接続するとCDBに接続される)

SQL> ALTER SESSION SET CONTAINER=PDB1; // PDBへ移動
SQL> SHOW CON_NAME // 念のため現在接続中のPDBの名前確認
SQL> STARTUP;
(これでマウント状態だったPDB1がOPENしてREAD WRITEになる)

この状態でCREATE USER文を実行してPDB1上でユーザを作成。

ここからなんですが、PDBやCDBへのログイン方法はわかたのですが、PDB上で作成したユーザにはどのようにしてログインするのでしょうか? ログインしてテーブル作成をしたいです。また、テーブル作成のスクリプト文(.sql)があるのでそれを流したい場合は、コマンドプロンプトからどのように実行すればよいでしょうか?

基本的な質問で恐縮ですが、宜しくお願いします。

基本的な質問ですみません。Oracle 12cを初めて使うのですが、すごく単純に、ユーザを作成し、そのユーザでデータベースオブジェクト(テーブルなど)を作成する拡張子が.sqlのスクリプトを流したいです。

11gまでの場合、システムユーザでCREATE USERしたのちに、コマンドプロンプトを立ち上げて
C:\Scripts> SQLPLUS <USER>/<PASSWORD> @createtables.sql
とするだけで良かったと思います。

今回、12cではユーザの考え方が変わっており、CDBとPDBを作成しました。
> SQLPLUS /NOLOG
SQL> CONN SYS AS SYSDBA
...続きを読む

Aベストアンサー

こんにちわ。

> ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。
上のtnsnames.ora の設定は、CDB に接続するためのものです。
新しい接続文字列で、SERVICE_NAME にPDB名を指定したものを作成して
試してみて下さい。

Qbatファイルからsql文実行

クライアントOS:WIN2000
Oracle:9i(サーバ(UNIX)上にあります)

現在、クライアントからbatを起動し、SQL文を投げ、結果を取得したいと思っております。
(SQL文は単純にTBLをカウントしているだけです)

・batの中身
sqlplus %UID%/%PASS%@%SID% @test.sql > output

結果は取得出来るのですが、余分な情報も結果に出力されてしまいます。結果のみを出力させるにはどうすればよろしいでしょうか?

・余分な情報
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
に接続されました。

Aベストアンサー

sqlplus に -S オプションを追加してみればどうでしょうか。

参考URL:http://biz.rivus.jp/sqlplus_overview.html

Q3つの表の外部結合

表A、B、Cの3つがあり、Aのすべての行を出力したいと考えています。
外部結合を用いるのだとは思うのですが、3つの表に対して行う場合の
書き方がわからず困っています。
ご教授いただけないでしょうか?
select * from a,b,c
where a.商品ID =b.商品ID (+) and b.商品ID (+) =c.商品ID (+)
としてみましたが、うまくいきませんでした。

Aベストアンサー

ansi構文の趣旨からいえば、結合条件と絞り込み条件は分けて書くので・・

select *
from a
left join b on (a.商品ID =b.商品ID)
left join c on (b.商品ID =c.商品ID)
where a.年月 = 任意の値

と書くのが一般的でしょうね。

QOracle(オラクル)で、日付時刻型の検索方法について

質問させていただきます。
データベースはオラクルを使っていて、
SQL文で、抽出するときにエラーが出て困っています。

日付時刻型が「2005/05/26 19:13:00」という感じで入ってます。
2005/05/26 を抽出したいのですが、
BETWEEN '2005/05/26 00:00:00' AND '2005/05/26 23:59:59'

だと、エラーでできません。
どなた様か、ご教授よろしくお願いしますm(_ _)m

Aベストアンサー

日付検索を行う場合は、以下のように書式を含める必要があります。

col BETWEEN TO_DATE('2005/05/26 00:00:00','YYYY/MM/DD HH24:MI:SS') AND TO_DATE('2005/05/26 23:59:59','YYYY/MM/DD HH24:MI:SS')

ただ、厳密には

col >= TO_DATE('2005/05/26', 'YYYY/MM/DD')
AND
col < TO_DATE('2005/05/27', 'YYYY/MM/DD')

と書くべきでしょうね。

QOracle10g・・ODBCで接続できない

Oracle10gのStandardEditionをサーバーにインストールし、データベースを作成しました。

それに対してクライアントにも10gをインストールし、ローカルメソッド名を設定して、接続テストも通りました。SQL*Plusを起動して接続することもできました。

ですが、Accessを使ってテーブルの中身を見ようと思い、ODBCを設定したのですが接続テストをすると固まってしまいます。どうすればODBCで接続できるようになるのでしょうか?

Aベストアンサー

tnspingの引数がわかりませんが、成功しているようですね。

tnspingはリスナーへの接続が成功するかどうかの確認です。

リスナーに接続した後、クライアント用に専用サーバプロセスが起動し、DBに接続します。
この部分が失敗しているようです。

要はリスナーには接続できているが、DBには接続できていない状態です。

一点気になる点がありますので、それを変更して試してもらえますか?

tnsnames.oraを変更してください。

> (CONNECT_DATA =
> (SERVICE_NAME = dev.dev_domain)
> )
> )

この部分を

(CONNECT_DATA=(SID=ORCL)

に変更してください。
SIDはサーバ側のlistener.oraかlsnrctlで調べてみてください。
(間違うとどつぼにはまりますので慎重に確認してみてください)

念のため、tnsnames.oraのサンプルをアップしておきます。

DEV =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = DEVSV001)(PORT = 1521))
)
(CONNECT_DATA=(SID=ORCL))
)

SIDだけ違ったら変えて、既存のtnsnames.oraと入れ替えてもかまいません。

これでも不可な場合、サーバ側のlistener.oraと
> lsnrctl status
の出力結果を補足に記入してみてください。

たぶんいけると思うのですが...。

tnspingの引数がわかりませんが、成功しているようですね。

tnspingはリスナーへの接続が成功するかどうかの確認です。

リスナーに接続した後、クライアント用に専用サーバプロセスが起動し、DBに接続します。
この部分が失敗しているようです。

要はリスナーには接続できているが、DBには接続できていない状態です。

一点気になる点がありますので、それを変更して試してもらえますか?

tnsnames.oraを変更してください。

> (CONNECT_DATA =
> (SERVICE_NAME = dev.dev_domain)
> )
> )

...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング