分享

【DB笔试面试492】Oracle用户密码含特殊字符时如何登陆?

 nanatsg 2019-01-30


题目部分

在Oracle中,Oracle用户密码含特殊字符时如何登陆?


     

答案部分


Oracle用户密码含有特殊字符(例如,&@$等)的时候,SQL*Plusexpexpdp等工具进行登录的时候在写法上有很大的差异。

若密码不含&”符号,则可以使用双引号将密码括起来进行密码修改:

1alter user lhr identified by 'l@h\r/0';

若密码包含有&”符号,则需要首先设置defineoff才可以修改密码:

1set define off
2alter user scott identified by '$tiger&123l@h\r/0%s,d$';
3alter user scott identified by '$?`$%*H\@f'\<a-q/$-@#<>`}:H$';

若密码包含有'”双引号,则需要使用password来修改密码:

1password scott

Linux平台下,使用不同客户端连接Oracle数据库的写法如下表所示:

Linux平台

SQL*Plus工具

expimpexpdpimpdp

普通用户

tns

sqlplus 'lhr/'l@h\r/0''

expdp 'lhr/'l@h\r/0''

tns

sqlplus 'lhr/'l@h\r/0''@LHRDB

expdp 'lhr/'l@h\r/0''@LHRDB

sys用户

tns

sqlplus / as sysdba

expdp \'/ AS SYSDBA\'

tns

sqlplus 'sys/'l@h\r/0''@LHRDB as sysdba

expdp \''sys/'l@h\r/0''@LHRDB as sysdba\'

正常密码

sqlplus sys/lhr@lhrdb as sysdba

expdp \'sys/lhr@LHRDB as sysdba\'

在上表中,含特殊字符密码为:l@h\r/0,正常密码为:lhrtns为:LHRDB,总的写法原则为:密码用双引号括起来,用户名和密码用单引号括起来,然后【用户名】+【密码】+tns+as sysdba】用单引号括起来,最后的这个单引号用“\”进行转义。

Windows平台下,使用不同客户端连接Oracle数据库的写法如下表所示:

Windows平台

SQL*Plus工具

expimpexpdpimpdp

普通用户

tns

sqlplus lhr/'''l@h\r/0'''

sqlplus lhr/\'l@h\r/0\'

expdp lhr/'''l@h\r/0'''

expdp lhr/\'l@h\r/0\'

tns

sqlplus lhr/'''l@h\r/0'''@LHRDB

sqlplus lhr/\'l@h\r/0\'@LHRDB

expdp lhr/'''l@h\r/0'''@LHRDB

expdp lhr/\'l@h\r/0\'@LHRDB

sys用户

tns

sqlplus / as sysdba

expdp \'/ as sysdba\'

tns

sqlplus sys/'''l@h\r/0'''@LHRDB as sysdba

sqlplus sys/\'l@h\r/0\'@LHRDB as sysdba


正常密码

sqlplus sys/lhr@lhrdb as sysdba

expdp \'sys/lhr@LHRDB as sysdba\'

在上表中,含特殊字符密码为:l@h\r/0,正常密码为:lhrtns为:LHRDB,总的原则为:密码用3个双引号括起来,或者用一个双引号括起来,然后用\将双引号进行转义

& 说明:

有关本小节的更多内容可以参考我的BLOGhttp://blog./26736162/viewspace-2135493/


本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多