创建账号或修改账号密码时有可能会遇到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.

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

  1. 在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option

    在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT)  ORA-00922: missing or invalid option hostdr:[/ho ...

  2. 12C -- ORA-65005: missing or invalid file name pattern for file

    克隆pdb创建新的pdb的时候遇到了以下的错误,具体过程如下文.数据库版本:12.2.0.1 查看已有pdb的tempfile文件 SQL> select name from v$tempfil ...

  3. 阿里云 Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR invalid password

    如果你是买的阿里云的redis服务的话,不要被这个ERR invalid password所迷惑了. 你应该去检查一下你买的服务有没有设置白名单. 像mysql和mongodb的服务如果连不上的话也可 ...

  4. MQTT入门2 -- “Error: Invalid password hash for user nick.”和“Connection Refused: not authorised.”

    原文地址:https://www.cnblogs.com/NickQ/p/9277315.html 问题描述: 搭建好mosqitto环境后,利用无密码验证方式,成功通过测试. 但修改配置文件将匿名访 ...

  5. org.openqa.selenium.WebDriverException: unknown error: missing or invalid 'entry.level'

    错误原因:chrome与chromedriver版本号不匹配,升级后即可解决

  6. 吴裕雄--天生自然python学习笔记:解决WebDriverException: Message: unknown error: missing or invalid 'entry.level'

    会出现这个错误是因为你的chrome浏览器与下载的chromedriver.exe版本不一致造成的. 到这个地址:https://npm.taobao.org/mirrors/chromedriver ...

  7. Oracle DBMS_SESSION

    Version 11.1   General Purpose Try dbms_session.reset_package. This call will reset all packages var ...

  8. Oracle 12c 搭建学习

    Oracle 12c 搭建学习 Vm workstaton10 安装linux 6.4 安装oracle12c Oracle 12c只支持64位系统 1 环境检查 [root@rac1 ~]# gre ...

  9. Oracle11g温习-第十八章:role管理

    2013年4月27日 星期六 10:52 role 的功能:简化用户的权限管理 建立角色——给角色授权——将角色授予用户/角色 2.查看系统建立的role SYS @ prod >  selec ...

随机推荐

  1. 背水一战 Windows 10 (1) - C# 6.0 新特性

    [源码下载] 背水一战 Windows 10 (1) - C# 6.0 新特性 作者:webabcd 介绍背水一战 Windows 10 之 C# 6.0 新特性 介绍 C# 6.0 的新特性 示例1 ...

  2. spring笔记2 spring MVC的基础知识2

    2,spring MVC的注解驱动控制器,rest风格的支持 作为spring mvc的明星级别的功能,无疑是使得自己的code比较优雅的秘密武器: @RequestMapping处理用户的请求,下面 ...

  3. TabHost的使用

    Android中的选项卡是用TabHost实现的. 首先,定义TabHost的布局文件: <?xml version="1.0" encoding="utf-8&q ...

  4. Support for multiple result sets

    https://blueprints.launchpad.net/myconnpy/+spec/sp-multi-resultsets Calling a stored procedure can p ...

  5. PHP和Apache的安装

    http://jingyan.baidu.com/article/154b46315242b328ca8f4101.html

  6. 2015 - 准备读书List

    时刻提醒自己,不进步意味着倒退. 2015年准备读完的技术书籍: 1. <Redis设计与实现>

  7. Lucene.net站内搜索—2、Lucene.Net简介和分词

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...

  8. Xamarin安装和跳坑指南

    安装Checklist 注意:本文只描述安装过程,由于组件的版本更新很快,为保证文章时效性,不提供下载链接,也尽可能不指明具体版本. 安装Visual Studio 2015进行默认安装,除非已经FQ ...

  9. 详解Javascript 函数声明和函数表达式的区别

    Javascript Function无处不在,而且功能强大!通过Javascript函数可以让JS具有面向对象的一些特征,实现封装.继承等,也可以让代码得到复用.但事物都有两面性,Javascrip ...

  10. ProgressBar.js – 漂亮的响应式 SVG 进度条

    ProgressBar.js 是一个借助动态 SVG 路径的漂亮的,响应式的进度条效果.使用 ProgressBar.js 可以很容易地创建任意形状的进度条.这个 JavaScript 库提供线条,圆 ...