Database Support Blog

  • Oracle Database
2017.12.14

Oracle Database 12cR2へのアップグレード後に発生するORA-01017

Oracle Database 12cR2へのアップグレード後に発生するORA-01017

Oracle Database 12cR2へのアップグレード後に発生するORA-01017

この記事は JPOUG Advent Calendar 2017 の14日目のエントリです。

2017年の3月にオンプレミス版がリリースされて以降、弊社サポートセンターにも徐々にOracle Database 12cR2環境のお問合わせが増えてきました。

新しいバージョンには新たに追加されたパラメータやデフォルト値が変更されたパラメータがあり、変更に起因したトラブルが発生することもあります。

今回は12cR2へのアップグレード後のお客様からお問い合わせをいただくことの多かった(2017年12月1日現在で約30件)、12cR2環境での「ORA-01017: ユーザー名/ パスワードが無効です。」のエラーについてご紹介します。

SEC_CASE_SENSITIVE_LOGONの設定値に注意

SEC_CASE_SENSITIVE_LOGONはOracle Database 11gR1から追加されたパラメータで、ログイン時に入力するパスワードの大文字/小文字を区別させることができます。デフォルト値はOracle Database 11gR1で追加された時点でTRUE(区別する)です。

▲SEC_CASE_SENSITIVE_LOGONによるパスワードの大/小文字制御
Database Version 大文字/小文字の区別 区別の制御
10gR2 以前 されない できない
11gR1 以降 される(デフォルト=TRUE) できる
12cR1 以降 される(デフォルト=TRUE) できる(非推奨)

12cR1からこのパラメータの使用(明示的にFALSEに変更すること)は非推奨ですが、特に10g以前からアップグレードされた環境では従来通りの動作を踏襲させるため、このパラメータをFALSE(区別しない)に設定されているケースが多く見られます。

SEC_CASE_SENSITIVE_LOGONは非推奨となりましたが、使用禁止ではないため12cR2でもFALSEに変更することは可能です。ただし、その場合SQLNET.ORAのパラメータSQLNET.ALLOWED_LOGON_VERSION_SERVERも考慮する必要があります。

SQLNET.ALLOWED_LOGON_VERSION_SERVERのデフォルト値が"12"に変更

Oracle Database 12cR2からデフォルト値が変更されたパラメータの中にsqlnet.oraに設定可能な SQLNET.ALLOWED_LOGON_VERSION_SERVER があります。SQLNET.ALLOWED_LOGON_VERSION_SERVERは端的に言うとOracle Databaseに接続する際に許容するパスワード・バージョンの範囲を決めるパラメータです。

Oracle Database 12cR2ではデフォルト値が"12"であり、大文字/小文字を区別する11gおよび12cのパスワードバージョンのみ使用可能な設定です。

そのため、初期化パラメータSEC_CASE_SENSITIVE_LOGONがFALSE(区別しない)に設定されている場合は、たとえユーザ名/パスワードに正しい値を入力していても「ORA-01017: ユーザー名/ パスワードが無効です。」が発生し接続に失敗します。

対処方法

これらのパラメータに起因して発生したORA-01017エラーは以下いずれかで回避可能です。

・SEC_CASE_SENSITIVE_LOGON=TRUE、SQLNET.ALLOWED_LOGON_VERSION_SERVER=12で運用
 セキュリティ上の推奨は大文字/小文字を区別しての運用です。SEC_CASE_SENSITIVE_LOGONがFALSEの場合はTRUEに変更し、大文字/小文字を区別したパスワードバージョンで再設定します。※手順は アップグレード・ガイド を参照

・SEC_CASE_SENSITIVE_LOGON=FALSE、SQLNET. ALLOWED_LOGON_VERSION_SERVER=11以下で運用
 大文字/小文字を区別せずに運用させたい場合は、SQLNET.ALLOWED_LOGON_VERSION_SERVERを11以下に設定します。$ORACLE_HOME/network/admin/sqlnet.oraにSQLNET.ALLOWED_LOGON_VERSION_SERVER=<N>を追記し、大文字/小文字を区別しないパスワードバージョンで再設定します。

 この場合、データベースの起動時に非推奨の初期化パラメータを利用していることを表すORA-32004が発生しますが、起動に影響はありません。

まとめ

今回ご紹介したSEC_CASE_SENSITIVE_LOGONは12cR2では非推奨となりましたが利用は可能です。ただし、今後のリリースでは使用できなくなる可能性もあるため、アップグレードのタイミングで大文字/小文字を区別した運用に切り替え(新しいパスワードバージョンで再設定)をお奨めします。

また、Oracle Database 12.2への接続は11.2.0.3以降のクライアントが保証されていますので、移行の際にはこの点も注意が必要です。

なお、アップグレード・ガイドにはアップグレード前の 事前チェック項目 変更点 が記載されており、SEC_CASE_SENSITIVE_LOGON/SQLNET.ALLOWED_LOGON_VERSION_SERVERも含まれています。

今回ご紹介した内容以外にも注意点が記載されておりますので、未然に問題を防ぐため、アップグレードを検討される際にはアップグレード・ガイドをご一読ください。


JPOUG Advent Calender執筆記事

2021年 18日目
Oracle Databaseのサポート対応で依頼することの多いファイルとコマンド
https://www.ashisuto.co.jp/db_blog/article/jpoug-oracledb-logfiles-command.html

2020年 17日目
Oracle Databaseバージョンアップ後の性能劣化で試したい暫定対処
https://www.ashisuto.co.jp/db_blog/article/jpoug-vup-temp-solution.html

2019年 24日目
【Oracle Database】DMLリダイレクションで一歩進んだ Active Data Guard の使い方(19c新機能)
https://www.ashisuto.co.jp/db_blog/article/20191224_ADG_REDIRECT_DML.html

2019年 20日目
【Oracle Database Cloud】"超"現実的に考える!Oracle CloudへのDB移行ガイド
https://www.ashisuto.co.jp/db_blog/article/20191220_cloud.html

2016年 9日目
【Oracle Database】2016年にサポートにお問い合わせをいただいたORAエラー TOP5
https://www.ashisuto.co.jp/db_blog/article/2016_oerr_rank.html

2015年 15日目
パフォーマンスダウンを「再現待ち」にしないための準備
https://www.ashisuto.co.jp/db_blog/article/20151215_oracle_pfmdwn.html

大野 高志

サービス事業部 サポートセンター

2007年にアシスト入社後、Oracle Databaseのサポート業務に従事。現在はサポート業務の傍ら、未解決のトラブルを一つでも多く減らせるよう、サポートセンターに蓄積されているノウハウを社内外に伝える活動を行っている。


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
 文中の社名、商品名等は各社の商標または登録商標である場合があります。


Oracle Databaseライセンスのご相談ならアシスト

関連している記事

  • Oracle Database
  • Exadata
2022.06.28

こんなのあったんだ!Exadataの便利ツール ExaWatchar・Exachkをご紹介

Exadataは大規模なデータベースマシンのため、運用や監視に労力がかかります。EMCCを始め統合管理ツールも多く存在しますが、Exadataにデフォルトで実装されている便利なツールを用いることで、より効果的な運用につなげられます。便利なツールExaWatchar・Exachkを詳しくご紹介します。

  • Oracle Database
2022.06.21

マルチテナントのPDB数はどう見積もる?最適なエディション選択と検討のヒント

マルチテナント構成Oracle Databaseに採用され早数年が経過。21c以降の従来構成廃止に伴い、19cが従来構成もテナント構成の両方を選べる最終バージョンに。従来構成維持とテナント構成変更を思案する方に向け、「PDBの最適数」に焦点を当てバージョンアップ後の構成を考えてみます。

  • Oracle Database
  • Oracle Cloud
  • PostgreSQL
  • AWS
  • Exadata
2022.05.24

入社2年目がレポート!Cloud Database Days 2022技術セッションの見どころ

2022年5月26日~6月3日に開催される「Cloud Database Days 2022」。その中でも10個に分かれた技術セッションについて、ポイントを押さえてそれぞれご紹介いたします!

ページの先頭へ戻る