忙しい現代人の腰&肩のお悩み対策!

Oracleのポート番号を調べたいんですが,プロンプトでどう打てばよいか、解かりません。

誰かわかる人は,教えてください。よろしくお願いします。

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

A 回答 (2件)

えっと、質問するときはせめてOS名とアプリのバージョンは書いてください。

"Oracleのポート番号"という意味があいまいですが、ここではlistener=TNSのポートとして考えます。

さて、現在オープンされている(listenしている)ポートを表示させるには、"netstat -a"と入力します。UNIXでもWindowsでも同じです。
見ても良く分からない場合は、Windowsの場合は"netstat /h", UNIXの場合は"man netstat"で出てくる解説を読みましょう。

また、あるポートとそのポートを"通常"利用するアプリケーションとの対応は、UNIXの場合は/etc/servicesに、Windowsの場合はC:\WINNT\system32\drivers\etc\servicesにあります(NT/2000系の場合)

個人的には、Oracleの設定を確認したほうが早いと思います。OracleのTNSのデフォルトのポートは1521ですが、どのポートで待ち受けるかを決定するのは、UNIXでもWindowsでも$ORACLE_HOME/network/admin/listener.oraで、その中の"Port"でインスタンス毎のポートを指定することになります。
    • good
    • 3
この回答へのお礼

どうも、ありがとうございました。最初、自分でnetstat とやってみたところ、意味不明の英単語がたくさん出てきました。どうしても、分からなかったところ、oracle 側からの調べ方が分かったので、そちらから調べました。1521 番でした。oracle から調べられるとは、知らなかったものですから。

UNIX でも、方法は同じなんですね。今度、会社の UNIX で試そうと思います。

ありがとうございました。

お礼日時:2002/10/03 19:10

tnsping ホスト文字列


でリスナーのポート番号は調べられると思います。
ちなみに、標準は1521です。

ただし、Net8Configuration等で、事前に接続設定がされていることが必要ですが。
これを設定するためにポート番号が必要というのであれば、サーバの管理者に聞くしかないのでは?
    • good
    • 0
この回答へのお礼

どうもありがとうございます。おっしゃるとおり、1521 番でした。会社で、別の件で、Oracle をいじっている時に、偶然 ポート番号などを設定する画面が現れ、それで、問題は解決できました。

tnsping の方法は、今度試してみようと思います。ありがとうございました。

お礼日時:2002/10/03 19:12

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

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

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

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

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

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

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

Aベストアンサー

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


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

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

で確認ができる。

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(を含む...続きを読む

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

QSQL*PLUSにてデータベース名表示

SQL*PLUSにて、起動時ホスト文字列(データベース)を入力しますが、
そのデータベースをSQL*PLUS上、表示する方法を知りたいです。
どこかテーブルに持っているのか、もしくは、表示コマンドがあるのか、ぜひ教えてください。
以上、よろしくお願いします。

Aベストアンサー

インスタンス名でよいのですか?一応、インスタンス名とホスト名を表示するSQLを書きます。

select INSTANCE_NAME, HOST_NAME from v$instance;

回答が的を射ていない場合は補足をお願いいたします。

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

Q日付型カラムへのデータINSERT

お世話になります。ひとつご教授ください。

オラクル10g, ojdbc14でjdk1.4.2から接続です。

INSERT命令を使ってテーブルにレコードを追加する際に、DATE型のカラムに対して

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27 12:00:00', ...);

を実行するとエラーORA-01861が出ます。そこで

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27', ...);

このように記述して再度実行すると通ります。

このようなとき、時間の部分まで設定した値をカラムに格納したいときはどうしたらよろしいでしょうか?

よろしくお願いします。

Aベストアンサー

ごめんなさい。
説明と文例が違ってしまいました。
正しくはこちらです。

INSERT TABLE_A (DATE1, ...) VALUES (to_date('2006-4-27 12:00:00','yyyy/mm/dd hh24:mi:ss'), ...);
というように、to_date関数を使うのが一般的かと思います。

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')

と書くべきでしょうね。

QSQLPLUS USER/PASSログインできない

sqlplus testuser/passwd@TESTの形式ではログインできますが、sqlplus testuser/passwdだとORA-01034、ORA-27101が発生します。
ORACLE_SIDは正しくセットしていますが、どのように調査すればよいか分かりませんので、教えて下さい。

以下は実行結果です。

USER[2]% sqlplus testuser/passwd@TEST
SQL*Plus: Release 11.2.0.1.0 Production on 水 1月 11 22:19:45 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL> exit
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsとの接続が切 断されました。
USER[3]% setenv ORACLE_SID TEST
USER[4]% env | grep ORACLE
ORACLE_SID=TEST
ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1
ORACLE32_HOME=/home/oracle2/32Bit
ORACLE_TERM=sun5
USER[5]% sqlplus testuser/passwd
SQL*Plus: Release 11.2.0.1.0 Production on 水 1月 11 22:20:17 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SVR4 Error: 2: No such file or directory
プロセスID: 0
セッションID: 0、シリアル番号: 0

sqlplus testuser/passwd@TESTの形式ではログインできますが、sqlplus testuser/passwdだとORA-01034、ORA-27101が発生します。
ORACLE_SIDは正しくセットしていますが、どのように調査すればよいか分かりませんので、教えて下さい。

以下は実行結果です。

USER[2]% sqlplus testuser/passwd@TEST
SQL*Plus: Release 11.2.0.1.0 Production on 水 1月 11 22:19:45 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With...続きを読む

Aベストアンサー

こんにちわ。

> sqlplus testuser/passwd@TESTの形式ではログインできますが、・・・
@で指定しているのは、接続文字列で$ORACLE_HOME/network/admin/tnsnames.ora
に設定されています。
この値を、ORACLE_SID に設定してもOracle には接続できません。
先ずは、tnsnames.ora を確認してどこのDatabase に接続しようとしている
のか確認して下さい。
ローカル環境のDatabase であれば、そのSID をORACLE_SID に設定
して下さい。


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

人気Q&Aランキング