2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Database 23c へ接続できるクライアントのバージョンを試す

Last updated at Posted at 2023-12-26

Oracle Client のバージョン要件

Oracle Database に対して接続できる Oracle Database Client のバージョンには制限があります。公式にはサポート・ドキュメント「Doc ID 207303.1」に記述されています。サポートされる組み合わせは下記の表のとおりです。Oracle Database 23c に接続できるクライアントは最低でも Oracle Client 19c にする必要があります。

Clientバージョン 接続可否
23c Yes
21c Yes
19c Yes
18c No
12c No
11g No
10g No
9i No

受け入れるクライアント・バージョンの指定

サポート・ドキュメントでは、クライアントのバージョンは 19c 以上が必要ですが、マニュアル「Release 23c Database Net Servicesリファレンス」にはより低いバージョンのクライアントを受け入れる記述があります。この設定はデータベース・サーバーの sqlnet.ora ファイルでSQLNET.ALLOWED_LOGON_VERSION_SERVER パラメーターを指定します。
 このパラメーターの変更後に、CREATE USER 文または ALTER USER 文でパスワードを変更すると DBA_USERS ビューの PASSWORD_VERSIONS 列の値が変化します。以下の表はマニュアルからの抜粋です。

設定値 パスワード・バージョン クライアント要件 備考
12a 12C 12c Release 1 以降
12 11G 12C 11g R2 以降 デフォルト
11 10G 11G 12C 10g 以降
10 10G 11G 12C 10g 以降
9 10G 11G 12C 10g 以降
8 10G 11G 12C 10g 以降

クライアントからの接続を受け付けるためには、SQLNET.ALLOWED_LOGON_VERSION_SERVER の設定と、接続先ユーザーのパスワード・バージョンの両方で許可が必要です。

検証

デフォルト状態では SQLNET.ALLOWED_LOGON_VERSION_SERVER パラメーター設定値は 12 で、DBA_USERS ビューの PASSWORD_VERSIONS は '11G 12C' になります。このため Oracle Client 10g からの接続は拒否され、Oracle Client 11g からの接続は許可されます。

Oracle Client 10g からの接続
$ sqlplus -V

SQL*Plus: Release 10.2.0.5.0 - Production

$ sqlplus SCOTT/{password}@dbsvr23c:1521/freepdb1

SQL*Plus: Release 10.2.0.5.0 - Production on Wed Dec 27 01:30:12 2023

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

ERROR:
ORA-28040: The database does not accept your client's authentication protocol;
login denied.


Enter user-name:
Oracle Client 11g からの接続
$ sqlplus -V

SQL*Plus: Release 11.2.0.4.0 Production

$ sqlplus SCOTT/{password}@dbsvr23c:1521/freepdb1

SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 27 01:33:40 2023

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

SQL>

SQLNET.ALLOWED_LOGON_VERSION_SERVER パラメーターの設定値をマニュアル上の最小値 8 から、最大値の 12C まで変更しながらユーザーを作成し、DBA_USERS ビューの PASSWORD_VERSIONS 列の値を検証しました。以下は検証結果の表と、作成したユーザー情報の出力結果です。

設定値 パスワード・バージョン 備考
8 11G 12C
9 11G 12C
10 11G 12C
11 11G 12C
12 11G 12C デフォルト
12A 12C
SQL> SELECT username, password_versions FROM dba_users
  2  WHERE username LIKE 'USER%' ORDER BY 1;

USERNAME             PASSWORD_VERSIONS
-------------------- -----------------
USER08               11G 12C
USER09               11G 12C
USER10               11G 12C
USER11               11G 12C
USER12               11G 12C
USER12A              12C

6行が選択されました。

上記のように、マニュアルの記述とは異なり SQLNET.ALLOWED_LOGON_VERSION_SERVER に低いバージョンを指定しても Oracle Client 10g 以前のバージョンからは接続できないことが確認できました。

Author: Noriyoshi Shinoda / Date: December 26, 2023

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?