ORA-00988: missing or invalid password(s)

创建账号或修改账号密码时有可能会遇到ORA-00988: missing or invalid password(s),那么什么情况下会遇到这种错误呢? 一般是因为密码的设置不符合命名规范:

1:密码是关键字,但是没有用双引号包裹起来。

2:密码以数字开头,但是没有用双引号包裹起来

3:密码包含特殊字符,并且没有用双引号包裹起来。

 

官方文档关于passwor的介绍如下:

The
BY password clause lets you creates a local user and indicates that the
user must specify password to log on to the database. Passwords can
contain only single-byte characters from your database character set
regardless of whether the character set also contains multibyte
characters.

Passwords must follow the rules described in the section "Schema Object Naming Rules",
unless you are using the Oracle Database password complexity
verification routine. That routine requires a more complex combination
of characters than the normal naming rules permit. You implement this
routine with the UTLPWDMG.SQL script, which is further described in
Oracle Database Security Guide.

 

而Schema Object Naming Rules就包含下面这些规则。

More
usernames than passwords were specified in a GRANT statement. A valid
password must be specified for each username listed in the GRANT
statement. This error indicates that you are violating the object names
and qualifiers for Oracle. The following rules apply when naming
objects:

1) Names must be
from 1 -30 characters long with the exceptions: - Names of database are
limited to 8 characters. - Names of database links can be as long as
128 characters.

2) Names cannot contain quotation marks.

3) Names are not case-sensitive. (注意,这条只适用于ORACLE 10g)

4)A
name must begin with and contain an alphanumeric character from your
database character set unless surrounded by double quotation marks. 5)
Oracle strongly discourages using $ and #.

 

下面我们通过几个案例来了解一下上面的内容吧

 

1:密码是关键字,但是没有用双引号。

SQL> create user test identified by table;
create user test identified by table
                               *
ERROR at line 1:
ORA-00988: missing or invalid password(s)
 
 
SQL> create user test identified by 'table';
create user test identified by 'table'
                               *
ERROR at line 1:
ORA-00988: missing or invalid password(s)
 
 
SQL> create user test identified by "table";
 
User created.

 

2:密码以数字开头,但是没有使用双引号

SQL> create user test identified by 123456;
create user test identified by 123456
                               *
ERROR at line 1:
ORA-00988: missing or invalid password(s)
 
 
SQL> create user test identified by '123456';
create user test identified by '123456'
                               *
ERROR at line 1:
ORA-00988: missing or invalid password(s)
 
 
SQL> create user test identified by "123456";
 
User created.

 

3:密码包含特殊字符,并且没有用双引号。

SQL> drop user test;
 
User dropped.
 
SQL> create user test identified by k*123$6;
create user test identified by k*123$6
                                *
ERROR at line 1:
ORA-00922: missing or invalid option
 
 
SQL> create user test identified by 'k*123$6';
create user test identified by 'k*123$6'
                               *
ERROR at line 1:
ORA-00988: missing or invalid password(s)
 
 
SQL> create user test identified by "k*123$6";
 
User created.
时间: 2024-08-30 23:25:29

ORA-00988: missing or invalid password(s)的相关文章

ios-今天提交的时候报"missing or invalid signature"错,请教怎么办?

问题描述 今天提交的时候报"missing or invalid signature"错,请教怎么办? 解决方案 说明证书签名错误,检查下你的签名或者证书是否有效. 解决方案二: 楼主解决了么,我的和你的一样的错误.证书各种重新配置都不行 解决方案三: 上传app时出现的错误: ERROR ITMS-9000: "Missing or invalid signature. The bundle 'com.google.GPPSignIn3PResources' at bund

C#引用LumiSoft.Net.dll搜索邮件,报错“00003 BAD Missing or invalid argument to SEARCH”如何解决

问题描述 C#引用LumiSoft.Net.dll搜索邮件,报错"00003BADMissingorinvalidargumenttoSEARCH"如何解决部分代码如下:IMAP_Clientclnt=newIMAP_Client();clnt.Connect(_MailServer,_MailPort,true);clnt.Login(_Username,_Password);clnt.SelectFolder("Inbox");int[]messageUIDs=

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 'qw

最近的几个技术问题总结和答疑(五)

最近收到了几个朋友的提问,我简单总结了一下.问题1: 首先是有个朋友问到,单引号,双引号在有些场合通用,有些场合会提示错误. 我做了一个简单的测试,当然只是一个相对片面的解读,能够说明问题即可. 比如我需要修改SYS的密码为asdfasg!,需要注意末尾有一个感叹号. 可以看到下面的测试结果. SQL> alter user sys identified by 'asdfasga!'; alter user sys identified by 'asdfasga!'               

有关Oracle role的总结

oracle的role算是对sys privilege 和object privilege的打包. 今天深入的测试了下,还算有不少的东西.role不是schema对象 像table等在一个schema里面不能有同名的schema object,但是可以有同名的table和role,如下. SQL> conn test1/test1 Connected. SQL> create role testrole; Role created. SQL> create table testrole

ORACLE 帐户 状态说明

DBA_USERS中的ACCOUNT_STATUS的值有OPENEXPIREDEXPIRED(GRACE)LOCKED(TIMED)LOCKEDEXPIRED & LOCKED(TIMED)EXPIRED(GRACE) & LOCKED(TIMED)EXPIRED & LOCKEDEXPIRED(GRACE) & LOCKED 大概的给解释一下open.locked,expired,EXPIRED(GRACE) ,LOCKED(TIMED) ,其余几个概念就是这几个状态的组

oracle安装成功之后检查简单命令

此篇文章来看下如果进入oracle的数据库. [oracle@oracle01 tools]$ ps -elf | grep ora_ | grep orcl   #查看进程 0 S oracle    12438      1  0  80   0 - 185418 semtim 12:50 ?       00:00:00 ora_pmon_orcl 0 S oracle    12440      1  0  80   0 - 185418 semtim 12:50 ?       00:

创建Oracle数据库

oracle|创建|数据|数据库 创建Oracle数据库数据库名:mydb1:复制一个已经存在的数据库目录D:\Oracle\product\10.1.0\Db_1\admin\sample        到D:\Oracle\product\10.1.0\admin目录下,改名为mydb,        将\mydb\pfile\initsmpl.ora删除,因为这个参数文件比较旧,从下面目录中复制        一个参数文件D:\Oracle\product\10.1.0\admin\orc

PL/SQL Developer 6.02发布

PL/SQL Developer - NewsSeptember 14, 2004 - Version 6.0.2 releasedEnhancements Partitioned tables were not detected correctly on Oracle8i Partitions tab page was visible when viewing a non-partitioned table Code Assistant did not describe materialize