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. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_11-webpack研究-npm和cnpm安装配置

    node.js安装完成后,就自动安装了webpack. npm -v:查看npm安装的版本 当前安装目录默认的包 在node.js的目录下创建两个文件夹 这样路径就被修改成功了 cnpm npm in ...

  2. Qt编写数据可视化大屏界面电子看板12-数据库采集

    一.前言 数据采集是整个数据可视化大屏界面电子看板系统核心功能,没有数据源,这仅仅是个玩具UI,没啥用,当然默认做了定时器模拟数据,产生随机数据,这个可以直接配置文件修改来选择采用何种数据采集方法,总 ...

  3. PHP中使用CURL实现GET、POST、PUT、DELETE请求

    /** * @param $url * @param $data * @param string $method * @param string $type * @return bool|string ...

  4. mysql中单个字段包含','转换成多条记录

    问题:把value中的值取出作为另外一个表的where条件时,必须把value中的用','分隔的每一个id截取出来 解决方法: ),) ) #本文参考自网络某文章,非原创

  5. elasticsearch基本概念理解+elasticsearch 的shards unassigned处理方法 -- 最佳运维实践 - 集群规划

    1.es与MySQL的概念对比 2.概念理解 2.1 Index : 一个索引即是文档的集合 2.2 Document : 一个文档即是一个可被索引的基础单元信息,一条记录: 2.3 Replicas ...

  6. php-fpm的参数优化

    查看php-fpm的内存占用 1.查看php-fpm的进程个数 ps -ef |grep "php-fpm"|grep "pool"|wc -l 2.查看每个p ...

  7. POJ 3613 Cow Relays【k边最短路】

    题目链接:http://poj.org/problem?id=3613 题目大意: 给出n头牛,t条有向边,起点以及终点,限制每头牛放在一个点上,(一个点上可以放多头牛),从起点开始进行接力跑到终点, ...

  8. upw,c#,代码实现关闭,重启应用

    微软为uwp直接提供了这些API,可以很容易的直接进行调用 关闭 using Windows.ApplicationModel.Core; CoreApplication.Exit(); or usi ...

  9. DataNode 详解及HDFS 2.X新特性

    1. 工作机制 一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳. DataNode 启动后向 Name ...

  10. [bzoj3060][Poi2012]Tour de Byteotia_并查集

    [Poi2012]Tour de Byteotia 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3060 题解: 这类题有一个套路,就是 ...