ORA-00988: missing or invalid password(s)
2016-03-17 22:22
363 查看
创建账号或修改账号密码时有可能会遇到ORA-00988:missingorinvalidpassword(s),那么什么情况下会遇到这种错误呢?一般是因为密码的设置不符合命名规范:1:密码是关键字,但是没有用双引号包裹起来。2:密码以数字开头,但是没有用双引号包裹起来3:密码包含特殊字符,并且没有用双引号包裹起来。官方文档关于passwor的介绍如下:TheBYpasswordclauseletsyoucreatesalocaluserandindicatesthattheusermustspecifypasswordtologontothedatabase.Passwordscancontainonlysingle-bytecharactersfromyourdatabasecharactersetregardlessofwhetherthecharactersetalsocontainsmultibytecharacters.Passwordsmustfollowtherulesdescribedinthesection"SchemaObjectNamingRules",unlessyouareusingtheOracleDatabasepasswordcomplexityverificationroutine.Thatroutinerequiresamorecomplexcombinationofcharactersthanthenormalnamingrulespermit.YouimplementthisroutinewiththeUTLPWDMG.SQLscript,whichisfurtherdescribedinOracleDatabaseSecurityGuide.而SchemaObjectNamingRules就包含下面这些规则。MoreusernamesthanpasswordswerespecifiedinaGRANTstatement.AvalidpasswordmustbespecifiedforeachusernamelistedintheGRANTstatement.ThiserrorindicatesthatyouareviolatingtheobjectnamesandqualifiersforOracle.Thefollowingrulesapplywhennamingobjects:1)Namesmustbefrom1-30characterslongwiththeexceptions:-Namesofdatabasearelimitedto8characters.-Namesofdatabaselinkscanbeaslongas128characters.2)Namescannotcontainquotationmarks.3)Namesarenotcase-sensitive.(注意,这条只适用于ORACLE10g)4)Anamemustbeginwithandcontainanalphanumericcharacterfromyourdatabasecharactersetunlesssurroundedbydoublequotationmarks.5)Oraclestronglydiscouragesusing$and#.下面我们通过几个案例来了解一下上面的内容吧1:密码是关键字,但是没有用双引号。
2:密码以数字开头,但是没有使用双引号
3:密码包含特殊字符,并且没有用双引号。
SQL>createusertestidentifiedbytable;
createusertestidentifiedbytable
*
ERRORatline1:
ORA-00988:missingorinvalidpassword(s)
SQL>createusertestidentifiedby'table';
createusertestidentifiedby'table'
*
ERRORatline1:
ORA-00988:missingorinvalidpassword(s)
SQL>createusertestidentifiedby"table";
Usercreated.
2:密码以数字开头,但是没有使用双引号
SQL>createusertestidentifiedby123456;
createusertestidentifiedby123456
*
ERRORatline1:
ORA-00988:missingorinvalidpassword(s)
SQL>createusertestidentifiedby'123456';
createusertestidentifiedby'123456'
*
ERRORatline1:
ORA-00988:missingorinvalidpassword(s)
SQL>createusertestidentifiedby"123456";
Usercreated.
3:密码包含特殊字符,并且没有用双引号。
SQL>dropusertest;
Userdropped.
SQL>createusertestidentifiedbyk*123$6;
createusertestidentifiedbyk*123$6
*
ERRORatline1:
ORA-00922:missingorinvalidoption
SQL>createusertestidentifiedby'k*123$6';
createusertestidentifiedby'k*123$6'
*
ERRORatline1:
ORA-00988:missingorinvalidpassword(s)
SQL>createusertestidentifiedby"k*123$6";
Usercreated.
相关文章推荐
- 复利计算器v1
- 浅谈百度地图的简单开发之实现地图全景,内景展示功能(四)
- poj 2387 Til the Cows Come Home(Dijkstra)
- MFC消息处理时,双击鼠标左键响应单击左键消息的处理
- Android RecyclerView 使用完全解析 体验艺术般的控件
- 由内到外的螺旋矩阵
- Toolbar完整封装
- 深搜(DFS),Image Perimeters
- 虚拟机(CentOS) 桥接模式配置
- 面试中的一些问题——JAVA(三)
- 初入android之CheckBox
- 拆分链表
- 阿里巴巴 hr面
- 关于keyGenerator,KeyPairGenerator,SecretKeyFactory的解析
- 两步建立 ssh 反向隧道
- scapy实现一个端口扫描器(基于tcp三次握手扫描)——简析
- USACO2.3基础的算法题
- Eclipse中给jar包导入JavaDoc的方法
- 程序员的一生时间90%是用在编程上,而剩余的10%是活在世界上。
- Python中subprocess学习