如何避免Oracle数据库密码出现@符号

密码复杂性是IT审计人员检查一个系统是否安全的一个重要方面。

IT策略中经常指出密码应该有最小的长度且应该包含大写字母、小字字母、数字和特殊字符的混合。

Oracle中应该避免将特殊字符@用于密码中,因为在Oracle中,@符号用来表明使用哪一台Oracle服务器。SQL *Plus连接语句的完整格式如下:

CONNECT username/password@alias

其中alias是一个Oracle Net别名,代表一个服务器、断口和实例名。

列表A显示了在密码中使用了@字符时,产生的错误:ORA-12154,“TNS:不能解析指定的连接标识符。”@符号被错误的用作Oracle Net别名,因为@之后的部分不是一个有效的别名从而产生错误。

列表 A

SQL> CREATE USER testuser1 IDENTIFIED BY "Cat"
2 DEFAULT TABLESPACE users
3 TEMPORARY TABLESPACE temp;
User created.
SQL> CREATE USER testuser2 IDENTIFIED BY "H@t"
2 DEFAULT TABLESPACE users
3 TEMPORARY TABLESPACE temp;
User created.
SQL> GRANT create session TO testuser1, testuser2;
Grant succeeded.
SQL> connect testuser1/cat
Connected.
SQL> connect testuser2/h@t
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Warning: You are no longer connected to ORACLE.
SQL> connect testuser2/"h@t"
Connected.
SQL>

The workaround is to enclose the password in quotes, as shown in the listing.

这个问题在Oracle 10g第二版中也存在。同时,值得注意的是testuser1使用密码“cat,”也可以成功登录,即使他的密码是“cat.”在下一个主要发行11g中,Oracle计划用一个更安全的密码算法取代原来的算法,新的算法允许密码中使用真正的大写字母和小写字母。同时@问题也不会再出现。

同时,可以在PL/SQL中通过创建一个密码复杂性函数阻止用户设置包含@符号的密码,如果新密码包含@符号,就会被拒绝。

时间: 2024-10-26 14:20:45

如何避免Oracle数据库密码出现@符号的相关文章

Oracle数据库密码文件的使用与维护

oracle|数据|数据库 概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性是数据库管理工作的重要内容.本文是笔者在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和维护作了详细的介绍,供大家参考. 关键词:Oracle数据库密码文件 在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用O

Oracle数据库密码文件的使用与维护_oracle

正在看的ORACLE教程是:Oracle数据库密码文件的使用与维护.概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性是数据库管理工作的重要内容.本文是笔者在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和维护作了详细的介绍,供大家参考. 关键词:Oracle数据库密码文件 在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle数据库可以有两种身份验证的方法

Oracle数据库密码文件的使用和维护_oracle

正在看的ORACLE教程是:Oracle数据库密码文件的使用和维护.概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性是数据库管理工作的重要内容.本文是笔者在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和维护作了详细的介绍,供大家参考.  关键词:Oracle数据库 密码文件  在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle数据库可以有两种身份验证

Oracle数据库密码文件的使用和维护

oracle|数据|数据库 概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性是数据库管理工作的重要内容.本文是笔者在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和维护作了详细的介绍,供大家参考. 关键词:Oracle数据库 密码文件 在Oracle数据库系统中,用户如果要以特权用户身份(INTERNAL/SYSDBA/SYSOPER)登录Oracle数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用

Oracle数据库密码安全管理总结

在 Oracle 数据库系统中,用户如果要以特权用户身份( INTERNAL / SYSDBA / SYSOPER )登录 Oracle 数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用 Oracle 数据库的密码文件进行身份验证.因此,管理好密码文件,对于控制授权用户从远端或本机登录 Oracle 数据库系统,执行数据库管理工作,具有重要的意义. Oracle 数据库的密码文件存放有超级用户 INTERNAL / SYS 的口令及其他特权用户的用户名/口令,它一般存放在 O

取消Oracle数据库密码期限 取消用户锁定

1.首先查用户被锁时间:sql>select username,account_status,lock_date from dba_users where username='SA'; 2.解锁:sql>alter user SA account unlock; 3.修改容许错误连接次数未无限大:sql>alter profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED; ps:疑点是修改完密码后,有其他的人还在用错误的密码登陆导致超过

Oracle数据库密码重置、导入导出库命令示例应用_oracle

重置办法如下:打开CMD命令提示符,然后输入下面命令进行重置: 输入sqlplus /nolog,回车 SQL> conn /as sysdba 已连接: SQL>alter user system identified by "123456"; ---(123456就是重置的密码了) SQL>alter user sys identified by "123456"; 下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简

Oracle 数据库操作技巧集_oracle

正在看的ORACLE教程是:Oracle 数据库操作技巧集.[编者注:]提起数据库,第一个想到的公司,一般都会是Oracle(即甲骨文公司).Oracle在数据库领域一直处于领先地位.Oracle关系数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.Oracle9i是Oracle于今年6月份正式推出的数据库最新产品.Oracle9i在可伸缩性.可靠性和完整性方面有着上佳的表现,一推出就获得了开发者的认同.它是一种高效率.可靠性好的适

Oracle数据库需要修改默认的Profiles,避免用户密码过期

今天Oracle数据库遇到一个问题,用户在用客户端登陆数据库时,抛出异常: ORA-00020: maximum number of processes (150) exceeded 从表面上看是Oracle连接的用户过多,但是这是一个开发环境,没有什么系统在使用,就我们几个开发人员用,之前从来没有出现过这个异常,所以也不知道怎么回事.于是在网上Google了一下,解决办法就是把数值设置的大一点,于是我重启了服务器,设置成了300,执行了如下命令. SQL> alter system set p