ORACLE 12 CのORA-01017
2358 ワード
ORACLE 12 CのORA-01017
Table of Contents 1. エラーメッセージ 2. ぶんせき 2.1. sqlplus環境ログイン 2.2. 暗号化解析エラー 2.3. プログラム構成が条件を満たさない
1エラーメッセージ
この問題は、sqlplusコマンドにおいても、プログラム接続においても発生する可能性があります.特に、データベースのアップグレード後、または古いプログラムが新しくインストールされたOracle 12 C以降のバージョンのデータベースに接続される可能性があります.基本的にこの問題に直面します.
2分析
2.1 sqlplus環境ログイン
oracle 12 C以降、データベースはcontainerとpdbの2つのレベルに分かれている.Containerでユーザーを構築するのはpdbでユーザーを構築するのとは違います.Containerでユーザーを作成するには、'C####で始まる必要があります.次のようになります.
pdbでユーザーを構築するには、次の必要はありません.
このような場合、まず確認しなければならないのは、cdbかpdbかです. cdbログインcdbログインcdbは、ユーザー名の前にC#:: を付ける. pdb登録pdb登録pdbには、tnsnameを使用する方法と、現在の環境をpdbに切り替える方法の2つがあります.
2.2暗号化解析エラー
Oracleのパスワードの暗号化方法は、データベース・バージョンによって異なります.12 C以降の暗号化方式では、低バージョン駆動で提供された暗号化されたパスワードを認識できません.これについては、後でもう1編整理します.
この場合、データベースのレベルで次の操作を行う必要があります. 第一歩:sqlnet.を修正する.ora、次の2つのパラメータを追加します: 2.3プログラム構成が条件を満たさない
プログラムがデータベースに接続する場合、一般的には接続列を構成します.接続列には2つの構成方法があります. TNS接続列 簡易接続列
Author: halberd.lee
Created: 2020-06-10 Wed 17:34
Validate
Table of Contents
1エラーメッセージ
この問題は、sqlplusコマンドにおいても、プログラム接続においても発生する可能性があります.特に、データベースのアップグレード後、または古いプログラムが新しくインストールされたOracle 12 C以降のバージョンのデータベースに接続される可能性があります.基本的にこの問題に直面します.
ORA-01017:invalid username/password; logon denied
2分析
2.1 sqlplus環境ログイン
oracle 12 C以降、データベースはcontainerとpdbの2つのレベルに分かれている.Containerでユーザーを構築するのはpdbでユーザーを構築するのとは違います.Containerでユーザーを作成するには、'C####で始まる必要があります.次のようになります.
SQL> create user test identified by test;
create user test identified by test
*
ERROR at line 1:
ORA-65096: invalid common user or role name
SQL> create user C##test identified by test;
User created.
pdbでユーザーを構築するには、次の必要はありません.
SQL> alter session set container=amscenter;
Session altered.
SQL> create user test identified by test;
User created.
このような場合、まず確認しなければならないのは、cdbかpdbかです.
SQL> grant connect,resource to c##test;
Grant succeeded.
SQL> conn c##test/test;
Connected.
2.2暗号化解析エラー
Oracleのパスワードの暗号化方法は、データベース・バージョンによって異なります.12 C以降の暗号化方式では、低バージョン駆動で提供された暗号化されたパスワードを認識できません.これについては、後でもう1編整理します.
この場合、データベースのレベルで次の操作を行う必要があります.
-- tns
SQL> conn scott/tiger@pdbboss
Connected.
--
sqlplus test/test@amscenter
プログラムがデータベースに接続する場合、一般的には接続列を構成します.接続列には2つの構成方法があります.
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
- : , 。
#+BEGIN_EXAMPLE
alter user &username identified by &password;
注意、ここで最後のパラメータはSERVICE_NAME、sidではありません.(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ai-csc-00)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = amscenter)))
最後に/+service_名前、一部のプログラムの元の構成ではこのようなフォーマットではありません.例えば、Ip:port:sid.ロー・バージョンのデータベースでは問題ありませんが、12 C以降のデータベースに接続するとORA-01017エラーが発生します.Author: halberd.lee
Created: 2020-06-10 Wed 17:34
Validate