Oracle的参数sec_case_sensitive_logon是Oracle 11g开始被引入。这个参数主要是为了控制密码的大小写敏感问题。
sec_case_sensitive_logon=true表示密码区分大小写。
sec_case_sensitive_logon=false表示密码不区分大小写。
从Oracle 12c开始,参数sec_case_sensitive_logon被弃用了。但是为了向下兼容,即使在Oracle 19c中,这个参数依然保留了。这个参数在Oracle 12c(确切的说是12.2以及后续版本)和19c中不能设置为false,因为它和SQLNET.ALLOWED_LOGON_VERSION_SERVER=12或者SQLNET.ALLOWED_LOGON_VERSION_SERVER=12a不兼容。这是因为用于此模式的更安全的密码版本仅支持区分大小写的密码检查。简单点来说,就是这种环境下,这种设置会冲突。官方文档[1]的阐述如下所示:
(资料图)
Note the following implications of setting the value to 12 or 12a: • A value of FALSE for the SEC_CASE_SENSITIVE_LOGON Oracle instance initialization parameter must not be used because password case insensitivity requires the use of the 10G password version. If the SEC_CASE_SENSITIVE_LOGON Oracle instance initialization parameter is set to FALSE, then user accounts and secure roles become unusable because Exclusive Mode excludes the use of the 10G password version. The SEC_CASE_SENSITIVE_LOGON Oracle instance initialization parameter enables or disables password case sensitivity. However, since Exclusive mode is enabled by default in this release, disabling the password case sensitivity is not supported. Note: • The use of the Oracle instance initialization parameter SEC_CASE_SENSITIVE_LOGON is deprecated in favor of setting the SQLNET.ALLOWED_LOGON_VERSION_SERVER parameter to 12 to ensure that passwords are treated in a case-sensitive fashion. • Disabling password case sensitivity is not supported in Exclusive mode (when SQLNET.ALLOWED_LOGON_VERSION_SERVER is set to 12 or 12a.) • Releases of OCI clients earlier than Oracle Database 10g cannot authenticate to the Oracle database using password-based authentication. • If the client uses Oracle Database 10g, then the client will receive an ORA-03134: Connections to this server version are no longer supported error message. To allow the connection, set the SQLNET.ALLOWED_LOGON_VERSION_SERVER value to 8. Ensure the DBA_USERS.PASSWORD_VERSIONS value for the account contains the value 10G. It may be necessary to reset the password for that account.
下面我们来构造一个例子,看看这个参数sec_case_sensitive_logon的影响
SQL> select banner_full from v$version;
BANNER_FULL
----------------------------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
1 row selected.
SQL> show parameter sec_case_sensitive_logon;
NAME TYPE VALUE
-------------------------- ----------- ------------------------------
sec_case_sensitive_logon boolean TRUE
SQL> alter user system identified by "system#1245";
User altered.
SQL> SET LINESIZE 1080;
SQL> SET PAGESIZE 36;
SQL> COL USERNAME FOR A24;
SQL> COL ACCOUNT_STATUS FOR A16;
SQL> COL DEFAULT_TABLESPACE FOR A16;
SQL> COL TEMPORARY_TABLESPACE FOR A10;
SQL> COL PROFILE FOR A10;
SQL> COL LOCK_DATE FOR A20;
SQL> COL EXPIRY_DATE FOR A20;
SQL> COL PASSWORD_VERSIONS FOR A12;
SQL> SELECT USERNAME
2 , ACCOUNT_STATUS
3 , DEFAULT_TABLESPACE
4 , TEMPORARY_TABLESPACE
5 , PROFILE
6 , TO_CHAR(LOCK_DATE,"YYYY-MM-DD HH24:MI:SS") AS LOCK_DATE
7 , TO_CHAR(EXPIRY_DATE,"YYYY-MM-DD HH24:MI:SS") AS EXPIRY_DATE
8 , PASSWORD_VERSIONS
9 FROM DBA_USERS
10 WHERE USERNAME=UPPER("&USERNAME")
11 ORDER BY EXPIRY_DATE;
Enter value for username: system
old 10: WHERE USERNAME=UPPER("&USERNAME")
new 10: WHERE USERNAME=UPPER("system")
USERNAME ACCOUNT_STATUS DEFAULT_TABLESPA TEMPORARY_ PROFILE LOCK_DATE EXPIRY_DATE PASSWORD_VER
---------- ---------------- ---------------- ---------- ---------- --------------- -------------------- ------------
SYSTEM OPEN SYSTEM TEMP DEFAULT 2023-10-22 17:25:09 11G 12C
SQL> alter system set sec_case_sensitive_logon=false scope=both;
System altered.
SQL>
然后我们在另外一个窗口使用system账号登陆数据库
$ sqlplus system/system#1245 SQL*Plus: Release 19.0.0.0.0 - Production on Tue Apr 25 17:16:28 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. ERROR: ORA-01017: invalid username/password; logon denied
如果我们将参数设置sec_case_sensitive_logon为true(这个参数调整后可以立即生效,不用重启),
SQL> show user; USER is "SYS" SQL> alter system set sec_case_sensitive_logon=true scope=both; System altered. SQL>
然后验证如下所示所示,一切正常,所以如果你遇到ORA-01017这个错误,而且数据库版本为12c/19c,如果你确认你密码是正确的,那么检查一下这个参数。
$sqlplus system/system#1245 SQL*Plus: Release 19.0.0.0.0 - Production on Tue Apr 25 17:20:28 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Last Successful login time: Tue Apr 25 2023 09:54:37 +08:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL>
下面我们再来测试一下,在参数sec_case_sensitive_logon为false的情况,我们控制密码版本来解决ORA-01017这个错误
SQL> show user; USER is "SYS" SQL> show parameter sec_case_sensitive_logon; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sec_case_sensitive_logon boolean FALSE SQL>
修改sqlnet.ora这个参数文件,设置下面参数:
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 10 SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10
修改sqlnet.ora参数文件后,必须重新登陆SQLPlus后(如果使用之前的SQLPlus连接也不会生效),执行下面脚本
SQL> alter user system identified by "system#1245";
User altered.
SQL> SET LINESIZE 1080;
SQL> SET PAGESIZE 36;
SQL> COL USERNAME FOR A16;
SQL> COL ACCOUNT_STATUS FOR A16;
SQL> COL DEFAULT_TABLESPACE FOR A16;
SQL> COL TEMPORARY_TABLESPACE FOR A10;
SQL> COL PROFILE FOR A10;
SQL> COL LOCK_DATE FOR A20;
SQL> COL EXPIRY_DATE FOR A20;
SQL> COL PASSWORD_VERSIONS FOR A12;
SQL> SELECT USERNAME
2 , ACCOUNT_STATUS
3 , DEFAULT_TABLESPACE
4 , TEMPORARY_TABLESPACE
5 , PROFILE
6 , TO_CHAR(LOCK_DATE,"YYYY-MM-DD HH24:MI:SS") AS LOCK_DATE
7 , TO_CHAR(EXPIRY_DATE,"YYYY-MM-DD HH24:MI:SS") AS EXPIRY_DATE
8 , PASSWORD_VERSIONS
9 FROM DBA_USERS
10 WHERE USERNAME=UPPER("&USERNAME")
11 ORDER BY EXPIRY_DATE;
Enter value for username: system
old 10: WHERE USERNAME=UPPER("&USERNAME")
new 10: WHERE USERNAME=UPPER("system")
USERNAME ACCOUNT_STATUS DEFAULT_TABLESPA TEMPORARY_ PROFILE LOCK_DATE EXPIRY_DATE PASSWORD_VER
---------------- ---------------- ---------------- ---------- ---------- -------------------- -------------------- ------------
SYSTEM OPEN SYSTEM TEMP DEFAULT 2023-10-23 09:21:27 10G 11G 12C
1 row selected.
SQL>
此时验证system账号登陆,则不会报ORA-01017这个错误了。
$ sqlplus system/system#1245 SQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 26 09:22:18 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Last Successful login time: Tue Apr 25 2023 17:20:29 +08:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL>
注意:最好使用其他账号验证测试,这里仅仅是为了偷懒,使用测试环境的system账号测试验证。更多相关信息也可以参考The new Exclusive Mode default for password-based authentication in Oracle 12.2 conflicts with case-insensitive password configurations. All user login fails with ORA-1017 after upgrade to 12.2 (Doc ID 2075401.1)[2]
[1]
官方文档1:https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/parameters-for-the-sqlnet.ora.html#GUID-1FA9D26C-4D97-4D1C-AB47-1EC234D924AA
[2]
Doc ID 2075401.1:https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=249715360691380&id=2075401.1&_afrWindowMode=0&_adf.ctrl-state=1agoeyy4f0_80
到此这篇关于Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误的文章就介绍到这了,更多相关Oracle 19c sec_case_sensitive_logon与ORA-01017内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
免责声明:本文不构成任何商业建议,投资有风险,选择需谨慎!本站发布的图文一切为分享交流,传播正能量,此文不保证数据的准确性,内容仅供参考
关键词:
Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误问题分析
这篇文章主要介绍了Oracle 19c的参数sec_case_sensitive_logon与ORA-01017错误,本文给大家介绍的非常详细
合江县整合“合荔融”为民营企业融资打造亲民惠民生态圈 天天资讯
合江县整合“合荔融”为民营企业融资打造亲民惠民生态圈,融资,增信,县域,惠民,合江县,民营经济,金融机构
环球速读:印尼多举措吸引外资
印度尼西亚工商会会长阿尔夏德不久前表示,2023年印尼预计吸引490亿美元的外国直接投资,比2022年增加
雷阵雨、扬沙、大风!北京6区已发预警 环球滚动
目前,北京北部出现降雨回波,向东南方向移动。预计今天白天北部、东部地区有雷阵雨,雨量不大。另外,冷空
世界百事通!车辆过户的流程有哪些环节(车辆过户手续流程是什么)
想必现在有很多小伙伴对于车辆过户手续流程是什么方面的知识都比较想要了解,那么今天小好小编就为大家收集
2023 年 5 月国内汽车投诉排行及分析报告
据国内领先的缺陷汽车产品信息收集平台车质网统计,2023年5月车质网共受理车主有效投诉信息13,139宗(其中
【环球聚看点】耐普矿机(300818.SZ):目前一期江西上饶产能接近9个亿
格隆汇6月2日丨耐普矿机(300818 SZ)接受机构调研,就“三到五年产能的上限或者说市场当年能接受的上限大概
大象英语怎么读_老虎英语怎么读-全球速看
你们好,最近小未来发现有诸多的小伙伴们对于大象英语怎么读,老虎英语怎么读这个问题都颇为感兴趣的,今天
白茶的种类分为哪些_白茶的种类有哪些
1、白茶是中国茶农创制的传统名茶,指一种采摘后不经杀青或揉捻只经过晒或文火干燥后加工的茶,因茶树品种
云杰:黄金连多波段1980收,今天非农前1972多|世界速递
云杰:黄金连多波段1980收,今天非农前1972多学员连日在1951-1954-1959反复多,波段1980收,今天非农前建议
讲好新疆故事 共建民族团结——“石榴籽 祖国行”新疆青少年文化交流项目启动-全...
5月22日,共青团新疆维吾尔自治区...
给孩子一个“明亮”的未来
央视网消息:近年来,近视在低龄群...
南水北调东线通水以来惠及8359万人
记者从中国南水北调集团有限公司获...
世界上最长史诗《格萨尔》改编为动画电影,谱写雪域少年传奇故事
世界上唯一一部活史诗《格萨尔》被...
OpenAI 任命 Peter Deng 为消费者产品副总裁 将领导 ChatGPT 产品、设计和工程团队
OpenAI任命PeterDeng为消费者产品...
美国信用卡债务触及1万亿美元大关:全美家庭需耗时8年还款2万亿
美国信用卡债务触及1万亿美元大关...
武汉生育津贴发放标准2023多少?支付发放天数多少天?
武汉生育津贴发放标准2023多少?支...
国宝画重点丨包萌包可爱!来看古人的玩具多有趣_快资讯
儿童节来了!还记得你小时候收到的...
全球信息:媒体调查显示OPEC石油产量5月下降50万桶/日,WTI原油期货上涨4%
周四,WTI原油期货盘中上涨4%,刷...
世界即时:新华全媒+丨我国海上首个百万吨级二氧化碳封存工程投用
↑5月31日拍摄的中国海油恩平15-1...
以潮流致敬经典,凯迪拉克全新XT4上市就惊艳!
面对国内汽车消费者愈来愈高的需求...
长江航运迈入“北斗时代”!长江干线北斗卫星地基增强系统正式投运
6月1日,记者从交通运输部长江通信...
功勋模范 | 他们,为祖国的花朵保驾护航
含苞的花朵,有赖阳光的照耀和雨露...
天天日报丨全国首个儿童眼组织库建立
新华社北京6月1日电(记者侠克)角...
呼伦贝尔草原转场开始了!400多户牧民赶着牛羊出发→
5月25日呼伦贝尔草原45天春季休牧...
大象英语怎么读_老虎英语怎么读-全球速看
你们好,最近小未来发现有诸多的小...
白茶的种类分为哪些_白茶的种类有哪些
1、白茶是中国茶农创制的传统名茶...
云杰:黄金连多波段1980收,今天非农前1972多|世界速递
云杰:黄金连多波段1980收,今天非...
中熔电气(301031):6月1日北向资金增持1.19万股
6月1日北向资金增持1 19万股中熔...