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. 【工具】sqlmap 中文手册 使用教程

    日期:2019-07-28 09:27:27 更新: 作者:Bay0net 介绍:自己翻译了一下,做个备忘. 0x01. 基本信息 官网 sqlmap: automatic SQL injection ...

  2. [C++]数据结构:线性表之顺序表

    1 顺序表 ADT + Status InitList(SeqList &L) 初始化顺序表 + void printList(SeqList L) 遍历顺序表 + int ListLengt ...

  3. Python的数据类型与数据结构

    Python的数据类型与数据结构 数据类型分为: 整数型 :数字的整数 浮点型: 数字带小数 字符串: 用 ‘’ 或者 “” 引用的任意文本 布尔型:只有 True 和 False 数据结构分为: 列 ...

  4. Jmeter 逻辑控制器 之 Switch Controller

    一.认识 Switch Controller Switch Controller:开关控制器,通过其下样例顺序数值或名称 控制执行某一个样例  二.通过样例顺序数值控制执行样例  三.通过样例名称控制 ...

  5. 递归-PrintDigit

    static void PrintDigit(double n,int len,int count=-1) { if (n <0) { n = System.Math.Abs(n); Conso ...

  6. 【AMAD】django-channels -- 为Django带来异步开发

    动机 简介 个人评分 动机 目前web生态的发展带来了很多异步特性,比如websocket.而原生Django并不支持. 简介 django-channels1为Django带来了Websocket, ...

  7. 【并行计算-CUDA开发】 NVIDIA Jetson TX1

    概述 NVIDIA Jetson TX1是计算机视觉系统的SoM(system-on-module)解决方案.它组合了最新的NVIDIAMaxwell GPU架构,其具有ARM Cortex-A57 ...

  8. echarts中国地图描绘

    <!DOCTYPE html><html lang="zh-CN"><head> <meta charset="utf-8&qu ...

  9. Docker 安装 PHP

    安装 PHP 镜像 查找Docker Hub上的php镜像 docker search php 这里我们拉取官方的镜像,标签为5.6-fpm docker pull php:5.6-fpm Nginx ...

  10. notepad++一次多行复制粘贴到对应位置

    NodePad++一次复制多行粘贴到对应位置 有时候要写sql,但是里面有很多字段要对应上,如果要自己一个字段一个字段的去写是在有点麻烦,是不是有更好的方法做到这件事呢? 要做这件事,首先分析下我们已 ...