AKB48の推しメンをセンターにできちゃうかもしれない!? >>

サーバにOracle Cliannt12cをインストールし、PDBとユーザを作成しました。
クライアントに12cのクライアントをインストールしました。
tnsnames.otaを下記のように記述し、sqlplusで接続しようとしましたが、
「ora-12560」のエラーになり、接続できません。
ちなみにtnspingは通ります。
原因と対策をお教えください。
Oracle12cは初めてで、インストールから苦しんでいます。
よろしくお願いいたします。

質問者からの補足コメント

  • つらい・・・

    tnsnames.oraの記述は以下です。
    ネットサービス名(TEST) =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = TKSV003)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = サービス名(TEST))
    )
    )

      補足日時:2016/08/05 17:00

A 回答 (1件)

サーバにクライアントもインストールが分かりませんが、とりあえず EZCONNECT を試してください

    • good
    • 0
この回答へのお礼

情報ありがとうございます。試してみました。
結果は、下記のようになりました。

SQL*Plus: Release 12.1.0.2.0 Production on 月 8月 8 14:03:59 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
ERROR:
ORA-12537: TNS: 接続がクローズされました。
ユーザー名を入力してください:

ちなみに、ORA-12537をネットで調べたら下記の原因追及方法がありましたので、報告します。
1.共に出力されているエラーがある場合はそのエラーの対応方法を確認する
⇒私のクライアントだけで、ほかのクライアントにはOracle Clientはインストールしていない。
2.データベースが起動していることを確認する
⇒起動している。SQL Developerでは接続できる。
3.tnsnames.ora で接続先ホストがホスト名で設定されている場合、IPアドレスに変更してみる
⇒やってみたが、駄目だった。
4.DBサーバ側のリスナーがDBサーバのバージョンより低くなっていないか(Oracle10gのデータベース環境でOracle9iのリスナーを使用している等)を確認する
⇒同じ12c
5.sqlnet.ora ファイルで TCP.VALIDNODE_CHECKING=YES 、TCP.INVITEDNODES を設定している場合に発生する。これらのパラメータの設定が合っているか、設定してある場合は一旦設定を削除してみる。
⇒sqlnet.oraを確認したが、上記のパラメータの記述は無い。
6.sqlnet.log に出力されている nt secoundary err など別のエラーの情報から対応を行う。
⇒出ていない。

継続してご指導よろしくお願いいたします。

お礼日時:2016/08/08 14:19

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

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

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

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

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

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名を指定したものを作成して
試してみて下さい。

QSQLPLUSの接続に関して

Oracle Database 11g Express Editionをインストールし、各設定をした後、
SQL-PLUSにて接続を試みています。

その際に、

sqlplus ユーザ名/パスワード@サーバIP

の場合接続ができるものの、

sqlplus ユーザ名/パスワード@サービス名(XE)

では接続ができません。

エラーの内容としては、

 ORA-12154 TNS 指定された接続識別子を解決できませんでした

となってしまいます。

“TNSPING XE”、”TNSPING サーバIP”は、いずれも問題なく通ります。

また、tnsnames.ora は、

XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.59)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)

と記載がある為、問題はないかと思われます。

名前解決がうまくいってない気がしますが、どこを修正すれば良いでしょうか、、、

環境変数は特にいじっていません、、、


初歩的な質問で申し訳ありません。

教えて下さい。

よろしくお願いします。

Oracle Database 11g Express Editionをインストールし、各設定をした後、
SQL-PLUSにて接続を試みています。

その際に、

sqlplus ユーザ名/パスワード@サーバIP

の場合接続ができるものの、

sqlplus ユーザ名/パスワード@サービス名(XE)

では接続ができません。

エラーの内容としては、

 ORA-12154 TNS 指定された接続識別子を解決できませんでした

となってしまいます。

“TNSPING XE”、”TNSPING サーバIP”は、いずれも問題なく通ります。

また、tnsnames.ora は、

XE =
(DESCRIPTION =
(A...続きを読む

Aベストアンサー

こんにちわ。

> 名前解決がうまくいってない気がしますが、どこを修正すれば良いでしょうか、、、
TNS_ADMIN 環境変数に、tnsnames.ora が置いてあるフォルダを指定してみては
いかがでしょう?

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突然オラクルへ接続できなくなりました

ローカルにオラクルをインストールして開発をしていました。
しばらく時間があいた後、開発を再開しようとすると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

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

で確認ができる。

QOracleが突然接続不可に!

環境:Oracle9i 9.2.0.1.0
言語:VB6
ネットワーク:VPN
DBサーバは本社に1つしかなくクライアントは全国数社から動作している受注システムですが突然DBサーバが接続できなくなってしまいました。
そのとき行ったイベントとしては1つの支社にVPNを接続しようとしていたらしくルータの変更等をしていた模様です。限りなくネットワークの設定で障害が発生したんじゃないかと思われるのですが障害中のとき、社内でDBサーバのIPは接続できており、クライアントからSQLPLUSで接続しようとしても接続できない状態でした。ということでORACLEの問題じゃないのかと疑われています。
しかし、そのときORACLEでは何もしていないため、誤解を説明したいのですがORACLEではないと証明するためにはどうすればよいでしょうか?
SQLNET等の設定を変更していないからORACLEの問題ではないと言えばいいのかどう説明したら理解してもらえるか悩んでいます。
情報不足で申し訳ありませんがアドバイスお願い致します。

Aベストアンサー

とりあえず、DBの問題ではないことを事後に証明するなら
・アラートログにその時間帯にエラーが出ていないこと
・DBサーバのシスログ(イベントログ)にOracle、ネットワークに関するエラーが出ていないこと
くらいでしょうか?
それと、その時間帯にsqlplusを起動して繋がらないのを確認したのであれば、sqlplusを実行したフォルダにsqlnet.logがあるはずなので、その内容を調べてみるのが良いかと。
もしlistenerのログを出力しているのであれば障害が発生した時間帯にリスナーまで届いているかを調べることもできそうです。24時間稼動DBならリスナーの状態を確認すれば、listenerが停止してないことも証明できそうです。

QOracle11g SQLPlusログインについて

現在Oracle11g をインストールした状態です。
(学習用に無料のものをダウンロード)

SQLPlusを実行しようとしたのですが、
パスワードの入力がうまくできません。

解決方法を知りたいです。

1.ユーザーの入力は可能。
2.パスワードの入力だけなぜかキー入力が表示されない。
 ALT+半/全を押すと入力は出来るが、ENTERを押した瞬間に入力内容が消える。
3.入力が非表示なだけなのかと思い、
 何度かチャレンジしたがパスワードの入力が行われていない。 

試しにコマンドプロンプトでsqlpllus /nologを叩いてみましたが
All rights reserved.と表示されているので
動いてはいるようでした。

何が原因なのかさっぱり分からず、
ネット上で色々調べてみましたが
結局わからず途方に暮れています。

どなたかご教授お願いします。

Aベストアンサー

ログインしようとしているユーザーは作成されたのでしょうか?
ログイン時に
sqlplus ユーザー名/パスワード
としてみてください。
もし、ユーザーを作成していないのならOracleをインストールしたユーザーでログインして
sqlplus / as sysdba
で接続し、
create user ユーザー名 identified by パスワード;
で作成してください。

Q特定のスキーマのテーブルを一括削除したい

おせわになります、

Oracleのデータベースで
特定のスキーマのテーブルを一括削除したい時の
コマンドを探しているのですが、

ひとつずつ消すのは面倒なので、一括で消したいとかんがえております。

よろしくお願いします。

Aベストアンサー

ユーザを削除する時に、同時にスキーマ内のオブジェクトを一緒に削除するという方法では駄目でしょうか?(削除後ユーザを再作成する)
この方法だと、テーブル以外のオブジェクトも削除されてしまいますが・・・。

以下の方法でユーザを削除できます(システム権限が必要です)
DROP USER ユーザ名 CASCADE;


それか、以下のSQL*PLUS、SQLコマンドをSPOOLして実行し、SPOOLされた結果を再度実行するという方法は?
SET PAGES 0
SPOOL 任意のファイル名.SQL
SELECT 'DROP TABLE '||TABLE_NAME||';' FROM USER_TABLES;
SPOOL OFF
@任意のファイル名.SQL

QORA-00959: 表領域'****'は存在しません

いつもお世話になっております。
既存のSQLスクリプトを流してテーブルを作成しようとしているのですが、
ORA-00959: 表領域'TS_TB_DATA_1M'は存在しません
というエラーが出てしまいます。
スクリプトの内容は以下の通りです。
CREATE TABLE tb_mstcom_111 (
trhksk_cdCHAR (6),
         ・
         ・
        途中省略
         ・
         ・ 
sishkshnprg_cdVARCHAR2 (30),
skj_flgCHAR (1),
CONSTRAINT tb_mstcom_111 PRIMARY KEY (trhksk_cd) USING INDEX TABLESPACE ts_ix_data_1m
)
TABLESPACE ts_tb_data_1m;

単純なクリエイト文等しか経験したことが無い為、サイトを検索して調べてはみたのですが、初心者の私にはどれも??な感じで困っています。
どなたか原因がわかる方ご教授お願い致します。

いつもお世話になっております。
既存のSQLスクリプトを流してテーブルを作成しようとしているのですが、
ORA-00959: 表領域'TS_TB_DATA_1M'は存在しません
というエラーが出てしまいます。
スクリプトの内容は以下の通りです。
CREATE TABLE tb_mstcom_111 (
trhksk_cdCHAR (6),
         ・
         ・
        途中省略
         ・
         ・ 
sishkshnprg_cdVARCHAR2 (30),
skj_flgCHAR (1),
CONSTRAINT tb_mstcom_111 PRIMARY KEY (trhksk_c...続きを読む

Aベストアンサー

エラーの通り、表領域がないためです。
ORACLEのテーブルはすべて表領域に作られます。
ですのでテーブルを作る前に表領域tb_mstcom_111を先に作成するか、上記のtb_mstcom_111の部分を存在する表領域に変更すればいいと思います。
表領域の作成はCREATE TABLESPACEで可能です。

Qデータベース内のテーブル名の取得

お世話になります。
初心者的な質問でしたらすいません。
SQL文にてデータベース内のテーブル名を
調べることができると聞いたことがあるのですが、
可能でしょうか。

もし、可能であれば、SQLの記述を教えてください。
お願いします。

Aベストアンサー

select * from tab;

私の場合、テーブル名だけ手っ取り早く知りたいとき、↑を打ちます。その他の情報も知りたいときは#2さんの仰るとおり、user_tablesで取得します。


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

人気Q&Aランキング