![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
基本的な質問ですみません。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)があるのでそれを流したい場合は、コマンドプロンプトからどのように実行すればよいでしょうか?
基本的な質問で恐縮ですが、宜しくお願いします。
No.2ベストアンサー
- 回答日時:
こんにちわ。
> ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。
上のtnsnames.ora の設定は、CDB に接続するためのものです。
新しい接続文字列で、SERVICE_NAME にPDB名を指定したものを作成して
試してみて下さい。
すみません、tnsnames.oraに以下のように追記しました。
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhost.myCo.com)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhos.myCo.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
PDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhos.myCo.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)
)
)
上記のPDB1 = のところから追記しています。これで合っていますでしょうか?
次に、どのようにしてSQLPlusで接続できるのでしょうか?コマンドプロンプトから
C:\Users\Test> sqlplus user1/user1
C:\Users\Test> sqlplus user1/user1@PDB1
など試していますがエラーになります。。
No.3
- 回答日時:
こんにちわ。
> 上記のPDB1 = のところから追記しています。これで合っていますでしょうか?
VMware 上のLinux 環境に、Oracle12c をセットアップした環境があるので
確認してみました。
特にtnsnames.ora の設定は問題無いようです。
接続文字列を指定してSQL*Plus を実行した時のエラーも、ORA-1017 でしょうか?
であれば、PDB に作成したユーザのパスワードが違っている事が考えられます。
Oracle11g 以降では、sec_case_sensitive_logon がDefault でTrue となっています。
このパラメータがTrue に設定されていると、パスワードの大文字/小文字を厳密に区別します。
ユーザのパスワードを再設定して確認してみてはどうでしょうか?
すみません。
一回Oracleをシャットダウンした場合、CDBを起動後に(自分で自動起動にしておかない限り)PDBを起動しないと、マウント状態のままでした。大変失礼しました。
起動後に接続を試したところ、問題なく接続できました。ちなみに大文字、小文字のどちらでも成功しました。
C:\Users\Test> sqlplus user1/user1@PDB1
C:\Users\Test> sqlplus user1/user1@pdb1
有難うございました。
No.1
- 回答日時:
こんにちわ。
> PDBやCDBへのログイン方法はわかたのですが、PDB上で作成したユーザにはどのようにしてログインするのでしょうか?
tnsnames.ora に接続文字列を書いてSQL*Net 経由で接続すれば、普通に接続できますょ。
この回答への補足
tnsnames.oraには既に接続文字列が以下のようにあるのですが、接続方法が間違っているのでしょうか?
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhost.myCo.com)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhos.myCo.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
この状態で、コマンドプロンプトを起動し、
C:\Users\Test> sqlplus user1/user1@ORCL
と実行すると、
ERROR:
ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。
となります。user1はPDB上で作成したユーザです。パスワードもここではuser1としています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP php ログイン 1 2022/11/01 00:24
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- ルーター・ネットワーク機器 NUROのルータF660Aについて 2 2022/09/07 11:44
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Oracle11g SQLPlusログインにつ...
-
はじめまして oracleで聞きたい...
-
SQLサーバー認証でログインを作...
-
ORAー12560:TNS:protocol adap...
-
アカウントロックの解除方法!
-
OraOps10.dllのエラーについて
-
SIDとSERVICE_NAMEの違い
-
バージョン違いのデータベース...
-
SYSユーザーでログインしたい
-
SIDとSERVICE_NAMEの違いとは?
-
ORA-12170のエラーについて
-
「ORA-12637」エラーでORACLEに...
-
.NET Frameworkがコントロール...
-
データベース接続情報作成しま...
-
Oracle11gの接続について大至急...
-
突然オラクルへ接続できなくな...
-
ORA-12514が出た時の対処法と原因
-
Vmwareの種類と使い道
-
oracleのメモリ使用量が97%ほど...
-
SQL 全角半角混在の文字列から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Oracle11g SQLPlusログインにつ...
-
SQLサーバー認証でログインを作...
-
OraOps10.dllのエラーについて
-
ORAー12560:TNS:protocol adap...
-
ストアドプロシジャからデータ...
-
Oracle DBリンクについて
-
はじめまして oracleで聞きたい...
-
バージョン違いのデータベース...
-
ORACLE_SIDについて
-
ODBC接続によるパスワード回避
-
SYSユーザーでログインしたい
-
ORACLE SQL DeveloperでのDBへ...
-
OS認証時にOracle Net Manager...
-
Oracle DBに接続できなくなりま...
-
ORA-12545について
-
パスワード認証について
-
データベースリンクをする準備...
-
オラクル ORA-01034
-
権限の問題でドライバが読み込...
-
ora-01017エラーについて
おすすめ情報