oracle用户密码设置的特殊字符问题

当oracle用户的密码里带有如@、$、!等特殊字符时,会出现一些问题。

以hr用户为例:

当oracle用户的密码里带有@时:

SYS@ORCL> alter user hr identified by qwet@2017;

alter user hr identified by qwet@2017

*

ERROR at line 1:

ORA-00922: missing or invalid option

SYS@ORCL> alter user hr identified by 'qwet@2017';

alter user hr identified by 'qwet@2017'

*

ERROR at line 1:

ORA-00988: missing or invalid password(s)

SYS@ORCL> alter user hr identified by "qwet@2017";

User altered.

修改密码需用双引号包含密码;

[oracle@hhu Desktop]$ sqlplus hr/qwet@2017

SQL*Plus: Release 11.2.0.4.0 Production on Thu Sep 7 10:09:09 2017

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

ERROR:

ORA-12543: TNS:destination host unreachable

Enter user-name:

[oracle@hhu Desktop]$ sqlplus 'hr/"qwet@2017"'

SQL*Plus: Release 11.2.0.4.0 Production on Thu Sep 7 10:08:28 2017

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

HR@ORCL>

在linux脚本或shell中需要填写用户名和密码时候按以下格式稍加修改;

            '用户名/"密码"',加一对单引号和一对双引号

当使用!时:

HR@ORCL> alter user hr identified by qwet!2017;

alter user hr identified by qwet!2017

*

ERROR at line 1:

ORA-00922: missing or invalid option

HR@ORCL> alter user hr identified by "qwet!2017";

User altered.

[oracle@hhu Desktop]$ sqlplus 'hr/"qwet!2017"'

SQL*Plus: Release 11.2.0.4.0 Production on Thu Sep 7 10:01:38 2017

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

HR@ORCL>

当使用$时:

HR@ORCL> alter user hr identified by qwet$2017;

User altered.

HR@ORCL> conn hr/qwet$2017;

Connected.

[oracle@hhu Desktop]$ sqlplus hr/qwet$2017

SQL*Plus: Release 11.2.0.4.0 Production on Thu Sep 7 10:00:21 2017

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

ERROR:

ORA-01017: invalid username/password; logon denied

Enter user-name:

[oracle@hhu Desktop]$ sqlplus hr/"qwet$2017"

SQL*Plus: Release 11.2.0.4.0 Production on Thu Sep 7 10:00:35 2017

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

ERROR:

ORA-01017: invalid username/password; logon denied

Enter user-name:

[oracle@hhu Desktop]$ sqlplus 'hr/"qwet$2017"'

SQL*Plus: Release 11.2.0.4.0 Production on Thu Sep 7 10:00:44 2017

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

HR@ORCL>

时间: 2024-10-21 11:33:23

oracle用户密码设置的特殊字符问题的相关文章

【方法】Oracle用户密码含特殊字符时的登陆问题

[方法]Oracle用户密码含特殊字符时的登陆问题   1.1  BLOG文档结构图   1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 用户密码含有特殊字符,如@.%.&.¥.#等字符,如何修改密码及登录数据库(重点) ② exp或expdp的时候使用sys用户导出   Tips: ① 本文在itpub(http://blog.itpub.net/26736162).博客园(htt

【密码】Oracle用户密码系列

[ 密码 ] Oracle 用户密码系列 1.1   BLOG 文档结构图   1.2   前言部分 1.2.1   导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ~O(∩_∩)O~ : ① 用户的 9 种状态含义 (重点) ② 如何解锁账户 ③ 如何修改密码无效状态 ④ 如何获取密码的密文,如何利用密文修改用户的密码 (重点) ⑤ 如何查询失败的登陆次数 ⑥ 11g 密码大小写问题 ⑦ 11g 密码延迟验证 ⑧ 密码复杂性校验   Ti

一个修改Oracle用户密码的小诀窍

oracle 一个修改Oracle用户密码的小诀窍 数据库版本:9.2.0.5   有时候我们可能不知道一个用户的密码,但是又需要以这个用户做一些操作,又不能去修改掉这个用户的密码,这个时候,就可以利用一些小窍门,来完成操作. 具体操作过程如下: SQL*Plus: Release 9.2.0.5.0 - Production on 星期日 11月 21 13:32:34 2004 Copyright (c) 1982, 2002, Oracle Corporation.  All rights

Oracle 用户密码有效期的sql语句_oracle

废话不多说了,直接给大家写sql语句了,当然写法还有很多种,我也只是给大家分享其中的一种解决办法,有不同见解的可以留言哦. oracle的密码是存在有效期的,有时候会遇到密码到期需要重设的情况,查看当前密码有效期的语句: SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 将密码的时间限制改为无限制: ALTER PROFILE DEFAULT LIMIT P

Oracle 监听器密码设置方法(LISTENER)_oracle

监听器也有安全?Sure!在缺省的情况下,任意用户不需要使用任何密码即通过lsnrctl 工具对Oracle Listener进行操作或关闭,从而造成任意新的会话都将无法建立连接.在Oracle 9i 中Oracle监听器允许任何一个人利用lsnrctl从远程发起对监听器的管理.也容易导致数据库受到损坏. 1. 未设定密码情形下停止监听 [oracle@test ~]$ lsnrctl stop listener_demo92 -->停止监听,可以看出不需要任何密码即可停止 LSNRCTL fo

Oracle用户密码含有特殊字符导致无法登陆解决方法_oracle

今天碰到一个比较奇怪的问题: 在客户端上使用sqlplus用普通用户可以登录,但是system以及sys用户均无法登录,提示ORA-12154: TNS: 无法解析指定的连接标识符 SQL> conn system@webdata 输入口令: ERROR: ORA-12154: TNS: 无法解析指定的连接标识符 SQL> conn xgplat@webdata 输入口令: 已连接. 本来以为客户端是32位的缘故,就在oracle服务器上用sqlplus登录,也还是一样 SQL> con

Oracle用户密码含特殊字符时登陆失败问题_oracle

当Oracle数据库用户的密码含特殊字符如 @ 时,直接使用正常的密码输入,由于oracle将@后的字符解析为网络服务名而导致登陆失败 如下演示 用户名为:wang密码为:oracle@1网络服务名为:sun 的情况: Linux平台:'wang/"oracle@1"'@sun --1个双引号扩密码,1个单引号扩 用户名+密码,即: '用户名/"密码"'@服务名 [11:41:14oracle@dvd adump]$sqlplus wang/oracle@1@sun

Oracle 11g 密码设置为不过期

过期的原因一般有两种可能:一.由于oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致.二.由于oracle11g中默认在default概要文件中设置了"FAILED_LOGIN_ATTEMPTS=10次",当输入密码错误次数达到设置值将导致此问题. 如果是第一种情况解决方法如下: 1.查看用户的proifle是哪个,一般是default:     sql>SELECT username,PROFIL

MySQL用户密码中的特殊字符叹号(!)的妙用_Mysql

使用叹号(!)禁止用户终端进入的一个方法. 复制代码 代码如下: mysql> grant all privileges on wubx.* to 'wubx'@'172.16.100.185′ identified by 'fd52!wubx&,'; Query OK, 0 rows affected (0.00 sec) mysql>quit; #mysql -h 172.16.100.185 -u wubx -pfd52!wubx&, -bash: !wubx@,: ev