1.账号锁定了

2.忘记密码

3.Oracle create session权利

4.oracle中单引号和双引号的作用

5.不支持 insert into tableName values (...),(...)的写法

6.SELECT 1 FROM dual

7.Oracle 删除用户时报 “必须指定 CASCADE 以删除 'nini'”

8.is as

9.等号和不等号

10.创建物化视图权限不足

11.ORA-01950: 表空间'USERS'中无权限的2种解决办法

12.创建序列出错 SP2-0042: 未知命令 "MINVALUE 1" - 其余行忽略。

 

1.账号锁定了

ORA-28000: the account is locked

原因:这个用户已经被锁住了,一般是用错误的密码尝试次数太多,得解锁或者某些账号刚创建默认锁定的如scott用户。

解决办法:

用system或sys用户登陆,然后

ALTER USER username ACCOUNT UNLOCK;

或者

第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;
第二步:选择myjob,查看users;
第三步:选择system,右击点击“编辑”;
第四步:修改密码,把“帐户被锁住”的勾去掉;
第五步:点击“应用”再点击“关闭”;
第六步:重新登录就可以通过验证了;

2.忘记密码

ORA-01017: invalid username/password; logon denied

以sysdba登陆:

alter user scott identified by scott1234;

 3.Oracle create session权利

user lacks CREATE SESSION privilege;logon denied

原因:

用户至少需要会话的权利,否则连接也不成功;

用户在会话的权利上,应该有其他操作的权利;

1 grant connect, resource to aaaa;

2 grant create session to aaaa;

4.oracle中单引号和双引号的作用

在Oracle数据库,单引号我们经常会用到,相对来说双引号用的频率少,但双引号的作用也是不可代替的,现简要说一下两者的作用。

一.单引号

1.单引号用于标识字符与数字的区别;

例如

  select * from table_name where id=1;这种代表查询的是数字

  select * from table_name where id='1';这种代表查询的是字符

2.当指定字符串文本时,必须用单引号将字符串文本引注

3.两个单引号表示一个单引号(两个'' 表示了一个')

二.双引号

1.如果创建对象的时候,对象名、字段名加双引号,则表示Oracle将严格区分大小写,否则Oracl都默认大写。

示例:

select '字段1' As "列a",'字段2' "小写b",'字段c' 默认大写c from dual;
  列名分别是:列a,小写b,默认大写C

2.双引号用在字符串中当成普通字符处理

当表中字段与oracle数据库关键字相同时,可以用双引号引注,这样可以避免冲突

3.双引号用在to_char函数里的字符串中时,有特殊作用,可以将特殊字符包起来,避免出现ORA-01821: date format not recognized错误。也就是说,去掉双引号和其包含的字符后,剩下的应该是一个合法的格式串。

例如:select to_char(sysdate, 'hh24"小时"mi"分"ss"秒"') ASRESULT from dual;

5.不支持 insert into tableName values (...),(...)的写法

mysql中的写法:

INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;
-- 或者
INSERT INTO 某表 VALUES(各个值),(各个值),.....;

Oracle 和 SQL Server也是不支持这两种写法的

oracle 中要么单行插入 要么可以如下表示:

INSERT ALL
INTO 某表 VALUES(各个值)
INTO 某表 VALUES(各个值)
INTO 某表 VALUES(各个值)
select 1 from dual;

后边跟的SELECT 语句我们可以从虚拟表里查如 SELECT 1 FROM DUAL。注意后边跟的SELECT语句可以随意,不过不是把它SELECT出来的内容插入前边的表里,而是起到前边的多个数据每次插入多少行的作用,这个多少行是和后边跟的SELECT语句查出来几条而定的,如后边的跟的SELECT 语句查出了15条记录,那么前边的"INSERT ALL INTO  a表 VALUES(各个值1)  INTO a表 VALUES (其它值2) INTO a表 VALUES(其它值3)"就会先插入值1对应的各个字段插入15条记录,然后插入值2各个对应的字段15条记录,然后插入值3对应的各个字段15条记录,也就是说有点按列插入的意思。

我们要的是批量插入多个VALUES这样的一条记录,所以后边的SELECT 语句只要能查出一条记录就行,建议大家后边用SELECT 1 FROM DUAL

6.SELECT 1 FROM dual

select 1 from table;
select anycol(目的表集合中的任意一行) from table; -- (目的表集合中的任意一行)
select * from table;
上面这三条语句从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的。 
select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。
 
7.Oracle 删除用户时报 “必须指定 CASCADE 以删除 'nini'”
这说明你要删除的oracle 用户"nini" 下面还有数据库对象,如 table, view 等,这样你删除用户时必须加选项 cascade:
drop user se cascade; 表示删除用户SE,同时删除 SE 用户下的所有数据对象
还有一个办法就是先删除 se 下的所有数据对象,使 se 变成一个啥也没有的空用户,再 drop user se;
一般来说要具有 dba 权限的用户才能删除其他用户
8.as is
一直纠结于存储过程的is与as最近在网上查了巨多资料,总结如下:
在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别;
在视图(VIEW)中只能用AS不能用IS;
在游标(CURSOR)中只能用IS不能用AS。 
从其定义也可以看出没什么区别,要是有估计暂时也很少有人发下:

create [or replace] procedure procedure_name
[(parameter_name [in | out | in out] type [,........])]
{is | as}
begin
procedure_body
end procedure_name;

 9.等号和不等号

不等号

<> 
!= 
~= 
^= 

等于号

=

赋值

:=

Oracle 提供了>(大于),>=(大于等于),<(小于),<=(小于等于),=(等于),<>或!=6(不等于)6个常用的比较运算符。

记住:null只能通过is null或者is not null来判断,其它操作符与null操作都是false。

 10.创建物化视图权限不足

如上创建物化视图,

大家都知道目标用户需要给创建用户 CREATE MATERIALIZED VIEW 权限

但是只是这样还是会报权限错误

如何处理:

REFRESH FORCE ON COMMIT
ENABLE QUERY REWRITE
因为在创建该物化视图的时候带了两个参数 需要把使用这两个权限给创建用户

GRANT ON COMMIT REFRESH to ANALYSIS;
GRANT GLOBAL QUERY REWRITE TO analysis;
这样就可以了...

其他同理
-

11.ORA-01950: 表空间'USERS'中无权限的2种解决办法

在oracle创建了一个新的表空间和一个新的用户,当用这个新用户创建表时,
    却出现:ORA-01950: 表空 间'USERS'中无权限 。
   我已经把创建表的权限赋给了此用户,怎么还会缺少权限呢?
解决办法
   方法1:赋予该用户RESOURCE角色 
    SQL> connect / as sysdba
       已连接。
     SQL> grant resource to zhaoh;
      授权成功。
     SQL> connect zhaoh/a
     已连接。
    SQL> create table test (ID number,name varchar2(40));
     表已创建。
   方法2:增加该用户表空 间'USERS'中的配额
        SQL> select * from user_sys_privs;
               USERNAME                       PRIVILEGE                                ADM
                ------------------------------ ---------------------------------------- ---
                  ZHAOH                          CREATE TABLE                             NO

SQL> connect / as sysdba;
      已连接。
     SQL> ALTER USER "ZHAOH" QUOTA UNLIMITED ON "USERS";

用户已更改。

SQL> connect zhaoh/a
     已连接。
      SQL> create table test (ID number,name varchar2(40));

表已创建。

12.创建序列出错 SP2-0042: 未知命令 "MINVALUE 1" - 其余行忽略。

语句

-- create SEQUENCE for user id

CREATE  SEQUENCE id_control

MINVALUE 1

MAXVALUE 9999999999

INCREMENT BY 1

START WITH 1 

CACHE 20

NOORDER CYCLE;

报错

SP2-0042: 未知命令 "MINVALUE 1" - 其余行忽略。
SP2-0734: 未知的命令开头 "MAXVALUE 9..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "INCREMENT ..." - 忽略了剩余的行。
SP2-0310: 无法打开文件 "WITH.sql"
SP2-0042: 未知命令 "CACHE 20" - 其余行忽略。
SP2-0734: 未知的命令开头 "NOORDER CY..." - 忽略了剩余的行。

解决办法( sql脚本按行执行)

-- create SEQUENCE for user id

CREATE  SEQUENCE id_control MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 CACHE 20NOORDER CYCLE;

Oracle问题总结的更多相关文章

  1. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  2. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  3. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  4. Oracle 的基本操作符

    != 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...

  5. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  6. 基于Oracle安装Zabbix

    软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...

  7. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  8. 使用Oracle官方巡检工具ORAchk巡检数据库

    ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...

  9. 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断

    概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...

  10. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

随机推荐

  1. iptables之精髓(二)

    iptables实际操作 使用-v选项后,iptables为我们展示的信息更多了,那么,这些字段都是什么意思呢?我们来总结一下 pkts:对应规则匹配到的报文的个数. bytes:对应匹配到的报文包的 ...

  2. 《图解 HTTP》读书笔记

    <图解 HTTP>一书是日本学者上野宣所著,2014 年由于均良先生翻译并在国内出版.因为作者使用十分生动的语言和浅显易懂的案例将 HTTP 协议讲解得深入浅出,所以深受开发者喜爱.现在在 ...

  3. QFramework 使用指南 2020 (四):脚本生成(2)ViewController 与 ViewController 嵌套绑定

    在上一篇,我们学习了,脚本生成的基本使用. 在这一篇,我们试着深入,聊聊脚本生成给我们带来的便利. 脚本生成的便利 首先,我们要知道,在 Unity 的游戏世界中都是以 GameObject 为单位的 ...

  4. Mysql 设置远程连接(自用-----仅供参考)

    1.连接数据库 ----->  mysql -u root -p 2.给权限 ------>  grant all privileges on *.* to 'root'@'%' iden ...

  5. UPDATE SELECT OUTPUT

    -- 定义临时表变量,用于 output into 使用 DECLARE @VarOrderStatus table ( OrderNo nvarchar(50) NULL) -- update 表U ...

  6. .NET的垃圾回收机制

    .NET的垃圾回收机制: CLR管理内存的区域主要有三块: 一: 线程的堆栈 ,用于分配值类型实例.堆栈主要有操作系统管理,不受垃圾收集器的控制,当值类型实例所在的方法结束时,其存储单位自动释放.栈的 ...

  7. Design Circular Deque

    Design your implementation of the circular double-ended queue (deque). Your implementation should su ...

  8. java类和对象详解

    类和对象 java 是面向对象的语言 即 万物皆对象c语言是面向过程语言 一.怎么去描述一个对象? (1)..静态的(短时间内不会改变的东西) 例如:外观,颜色,品牌 (2).动态的(动作) 可以干什 ...

  9. 如何使用RedisTemplate访问Redis数据结构之Hash

    Redis的Hash数据机构 Redis的散列可以让用户将多个键值对存储到一个Redis键里面. public interface HashOperations<H,HK,HV> Hash ...

  10. HTTP协议的简单了解

    1. 用于服务端和客户端通信 客户端发送请求,服务端提供资源: 通过URI定位资源. 2. 通过请求和响应交换进行通信 客户端发送请求,服务端响应请求并返回数据: 请求报文:请求方法.URI.协议版本 ...