ora14-用户权限
- 格式:ppt
- 大小:1.57 MB
- 文档页数:24


Oracle Oracle权限不足问题集锦跟Oracle数据库打交道的DBA都会遇到过“Insufficient privileges”这样的错误,出现权限不足问题的情况各有不同在本次的Oracle系列电子书中,我们就总结了网友在使用Oracle数据时遇到的Insufficientprivileges错误。
ORA-01031:Insufficient privileges错误解决方法以sysdba登录时的Insufficient privileges错误Windows集群下的ORA-12638和ORA-01031错误在不同的模式下执行SQL语句TechTarget 中国《Oracle电子书》 1TechTarget 中国《Oracle 电子书》2TechTarget 中国《Oracle 电子书》3解决创建存储过程时的Insufficient privileges 错误问:我需要使用Toad 在我的schema 中创建一个存储过程。
但是出现了“Insufficient privileges.”的错误。
当我以System 连接并将schema 的名称添加到表的前缀中(schema.tablename),系统提示表不存在。
请问问题出在哪里?我该如何解决?答:为了在你的schema 中创建一个存储过程,你需要有CREATE PROCEDURE 系统权限。
你可以通过查询用户的DBA_SYS_PRIVS 来进行查看。
此外,如果存储过程要参考对象,该用户还需要拥有相应的对象权限。
举例来说,如果存储过程插入一行数据到SCOTT .EMP 表中,针对该表,用户必须被授予INSERT 权限。
授权不能通过角色,你必须直接将对象权限授予用户。
(作者:Brian Peasland 译者:孙瑞 来源:TT 中国)TechTarget 中国《Oracle 电子书》4ORA-01039:Insufficientprivileges 错误的解决方法问:我经常得到如下所示的错误:ORA-01039 Insufficient privilege on underlyingobjects of the view我写的查询如下:select'00.00.0000 '||banner,user,99/100 fromv$version where banner like 'Oracle%'请问这个错误的原因是什么?该如何解决?谢谢!答:如果得到ORA-1039错误,那就是因为你的账户没有针对视图或者视图下表的SELECT 权限。
ORACLE错误一览表2011-03-08 14:51ORA-02001: 用户 SYS 不允许创建可用列表组的索引orA-02002: 写入审记线索时出错orA-02003: 无效的 USERENV 参数orA-02004: 违反安全性orA-02005: 隐含 (-1) 长度对数据类型的定义和赋值无效orA-02006: 无效的压缩十进制格式字符串orA-02007: 不能使用含 REBUILD 的 ALLOCATE 或 DEALLOCATE 选项orA-02008: 已指定非数字列的非零标度orA-02009: 指定的文件大小不得为 0orA-02010: 缺少主机连接字符串orA-02011: 重复的数据库链接名orA-02012: 缺少 USING 关键字orA-02013: 缺少 CONNECT 关键字orA-02014: 不能从具有 DISTINCT, GROUP BY 等的视图选择 Update FOR orA-02015: 不能从远程表选择 FOR UpdateorA-02016: 不能在远程数据库中使用 START WITH 子查询orA-02017: 要求整数值orA-02018: 同名的数据库链接具有开放连接orA-02019: 未找到远程数据库的连接说明orA-02020: 过多的数据库链接在使用中orA-02021: 不允许对远程数据库进行 DDL 操作orA-02022: 远程语句的远程对象具有未优化的视图orA-02023: 远程数据库无法对 START WITH 或 CONNECT BY 谓词求值orA-02024: 未找到数据库链接orA-02025: SQL 语句的所有表均必须在远程数据库中orA-02026: 缺少 LINK 关键字orA-02027: 不支持 LONG 列的多行 UpdateorA-02028: 服务器不支持行数的准确读取orA-02029: 缺少 FLLE 关键字orA-02030: 只能从固定的表/视图查询orA-02031: 没有 ROWID 适用于固定表或外部组织的表orA-02032: 聚簇表无法在簇索引建立之前使用orA-02033: 此簇的簇索引已经存在orA-02034: 不允许加速赋值orA-02035: 非法的成组操作组合orA-02036: 自动游标打开的变量描述过多orA-02037: 未初始化的加速赋值存储orA-02038: 不允许对数组类型定义orA-02039: 不允许对数组类型赋值orA-02040: 远程数据库不支持两段式提交orA-02041: 客户数据库未开始一个事务处理orA-02042: 分布式事务处理过多orA-02043: 必须在执行之前结束当前事务处理orA-02044: 事务处理管理器登录被拒绝: 事务处理正在进行orA-02045: 全局事务处理中的本地会话过多orA-02046: 分布式事务处理已经开始orA-02047: 无法连接运行中的分布式事务处理orA-02048: 尝试不登录而开始分布式事务处理orA-02049: 超时: 分布式事务处理等待锁定orA-02050: 事务处理已重算,某些远程 DBs 可能有问题orA-02051: 同一事务处理中的另一会话失败orA-02052: 远程事务处理在失败orA-02053: 事务处理已提交,某些远程 DBs 可能有问题orA-02054: 事务处理有问题orA-02055: 分布式更新操作失效;要求回退orA-02056: 2PC: : 无效的两段命令编号(源于)orA-02057: 2PC: : 无效的两段恢复状态编号(源于)orA-02058: 未找到 ID的准备事务处理orA-02059: orA-2PC-CRASH-TEST- 在提交备注中orA-02060: 选择指定了分布表连接的更新orA-02061: 锁定表指定了分布式表的列表orA-02062: 分布式恢复收到 DBID ,预计为orA-02063: 紧接着(源于)orA-02064: 不支持分布式操作orA-02065: 非法的 Alter SYSTEM 选项orA-02066: DISPATCHERS 文本缺失或无效orA-02067: 要求事务处理或保存点回退orA-02068: 以下严重错误源于orA-02069: 此操作的global_names参数必须设置为 TRUE orA-02070: 数据库不支持此上下文中的orA-02071: 初始化远程数据库的功能时出错orA-02072: 分布式数据库网络协议匹配错误orA-02073: 远程更新中不支持序号orA-02074: 无法在分布式事务处理中orA-02075: 另一例程已更改事务处理的状态orA-02076: 序列与更新表或 long 列位于不同的地方orA-02077: 选择的 long 列必须来自于同一地方的表orA-02078: Alter SYSTEM FIXED_DATE 的设置无效orA-02079: 没有新的会话可与提交的分布式事务处理连接orA-02080: 数据库链接正在使用中orA-02081: 数据库链接未打开orA-02082: 回送数据库链接必须具有连结限定词orA-02083: 数据库名称含有非法字符 ''orA-02084: 数据库名不全orA-02085: 数据库链接与相连结orA-02086: 数据库 (链路) 名过长orA-02087: 对象被同一事务处理的另一进程锁定orA-02088: 未安装分布式数据库选项orA-02089: COMMIT 不允许在附属会话中orA-02090: 网络错误: 试图callback+passthruorA-02091: 事务处理已重算orA-02092: 超出分布式事务处理的事务处理表槽orA-02093: TRANSACTIONS_PER_ROLLBACK_SEGMENT() 大于最大的可能数 () orA-02094: 未安装复制选项orA-02095: 无法修改指定的初始化参数orA-02096: 此选项的指定初始化参数不可修改orA-02097: 无法修改参数,因为指定的值无效orA-02098: 对索引表引用 (: I) 进行语法分析时出错orA-02099: 内部使用,不得打印orA-02100: PCC: 内存不足 (如无法分配)orA-02101: PCC: 不一致的游标高速缓存 (uce/cuc不匹配)orA-02102: PCC: 不一致的游标高速缓存 (此uce无 cur 条目)orA-02103: PCC: 不一致的游标高速缓存 (超出cuc的引用范围)orA-02104: PCC: 不一致的主高速缓存 (cuc不可用)orA-02105: PCC: 不一致的游标高速缓存 (高速缓存中无cuc条目)orA-02106: PCC: 不一致的游标高速缓存 (OraCursor nr 已坏)orA-02107: PCC: 对运行时库来说此程序过旧: 请重新对其编译orA-02108: PCC: 无效的描述符传送给运行时库orA-02109: PCC: 不一致的主高速缓存 (超出位置引用范围)orA-02110: PCC: 不一致的主高速缓存 (无效的sqi类型)orA-02111: PCC: 堆栈 (Heap) 一致性错误orA-02112: PCC: Select..INTO返回过多行orA-02140: 无效的表空间名称orA-02141: 无效的 OFFLINE 选项orA-02142: 缺少或无效的 Alter TABLESPACE 选项orA-02143: 无效的 STORAGE 选项orA-02144: 未指定 Alter CLUSTER 的选项orA-02145: 缺少 STORAGE 选项orA-02146: SHARED 指定了多次orA-02147: 与 SHARED/EXCLUSIVE 选项冲突orA-02148: EXCLUSIVE 指定了多次orA-02149: 指定的分区不存在orA-02153: 无效的 VALUES 口令字符串orA-02155: 无效的 DEFAULT 表空间标识orA-02156: 无效的 TEMPORARY 表空间标识orA-02157: 未指定 Alter USER 的选项orA-02158: 无效的 Create INDEX 选项orA-02159: 安装的 DLM 不支持可释放锁定模式orA-02160: 索引编排表不能包含 LONG 类型的列orA-02161: MAXLOGFILES 值无效orA-02162: MAXDATAFILES 值无效orA-02163: FREELIST GROUPS 值无效orA-02164: DATAFILE 子句指定了多次orA-02165: 无效的 Create DATABASE 选项orA-02166: 已指定 ARCHIVELOG 和 NOARCHIVELOGorA-02167: LOGFILE 子句指定了多次orA-02168: FREELISTS 值无效orA-02169: 不允许的 FREELISTS 存储选项orA-02170: 不允许的 FREELIST GROUPS 存储选项orA-02171: MAXLOGHISTORY 值无效orA-02172: PUBLIC 关键字不适用于禁用线程orA-02173: 无效的 Drop TABLESPACE 选项orA-02174: 缺少要求的线程编号orA-02175: 无效的回退段名orA-02176: 无效的 CRATE ROLLBACK SEGMENG 选项orA-02177: 缺少要求的组号orA-02178: 正确的语法是: SET TRANSACTION READ { ONLY | WRITE }orA-02179: 有效选项: ISOLATION LEVEL { SERIALIZABLE | READ COMMITTED } orA-02180: 无效的 Create TABLESPACE 选项orA-02181: 无效的 ROLLBAC WORK 选项orA-02182: 需要保存点名称orA-02183: 有效选项: ISOLATION_LEVEL { SERIALIZABLE | READ COMMITTED }orA-02184: REVOKE 中不允许资源限量orA-02185: COMMIT 后面跟的标记不是 WORKorA-02186: 表空间资源权限不可与其它权限一起出现orA-02187: 无效的限量说明orA-02189: 需要 ON <表空间>orA-02190: 需要 TABLES 关键字orA-02191: 正确的语法是 ET TRANSACTION USE ROLLBACK SEGMENT <rbs> orA-02192: 回退段存储子句不允许 PCTINCREASEorA-02194: 事件说明语法错误 (非致命错误 ) 接近 ''orA-02195: 尝试创建的对象在表空间中orA-02196: 已经指定 PERMANENT/TEMPORARY 选项orA-02197: 已经指定文件列表orA-02198: 已经指定 ONLINE/OFFLINE 选项orA-02199: 丢失 DATAFILE/TEMPFILE 子句orA-02200: WITH GRANG OPTION 对 PUBLIC 不允许orA-02201: 此处不允许序列(号)orA-02202: 此群集中不允许添加其它表orA-02203: 不允许的 INITIAL 存储选项orA-02204: 不允许 Alter, INDEX 和 EXECUTE 用于视图orA-02205: 只有 Select 和 Alter 权限对序列有效orA-02206: 重复的 INITRANG 选项说明orA-02207: 无效的 INITRANS 选项值orA-02208: 重复的 MAXTRANS 选项说明orA-02209: 无效的 MAXTRANS 选项值orA-02210: 未指定 Alter TABLE 的选项orA-02211: 无效的 PCTFREE 或 PCTUSED 值orA-02212: 重复的 PCTFREE 选项说明orA-02213: 重复的 PCTUSED 选项说明orA-02214: 重复的 BACKUP 选项说明orA-02215: 重复的表空间名子句orA-02216: 需要表空间名orA-02217: 重复的存储选项说明orA-02218: 无效的 INITIAL 存储选项值orA-02219: 无效的 NEXT 存储选项值orA-02220: 无效的 MINEXTENTS 存储选项值orA-02221: 无效的 MAXEXTENTS 存储选项值orA-02222: 无效的 PCTINCREASE 存储选项值orA-02223: 无效的 OPTIMAL 存储选项值orA-02224: EXECUTE 权限对于表不允许orA-02225: 只有 EXECUTE 和 DEBUG 权限对过程有效orA-02226: 无效的 MAXEXTENTS 值(最大允许为: )orA-02227: 无效的群集名orA-02228: 重复的 SIZE 说明orA-02229: 无效的 SIZE 选项值orA-02230: 无效的 Alter CLUSTER 选项orA-02231: 缺少或无效的 Alter DATABASE 选项orA-02232: 无效的 MOUNT 模式orA-02233: 无效的 CLOSE 模式orA-02234: 已经记录对此表的更改orA-02235: 此表已将更改记录在另一表中orA-02236: 无效的文件名orA-02237: 无效的文件大小orA-02238: 文件名列表具有不同的文件数orA-02239: 存在引用此序列的对象orA-02240: 无效的 OBJNO 或 TABNO 值orA-02241: 必须是 EXTENTS (FILE <n> BLOCK <n> SIZE <n>,...) 格式orA-02242: 未指定 Alter INDEX 的选项orA-02243: Alter INDEX 或 Alter MATERIALIZED VIEW 选项无效orA-02244: 无效的 Alter ROLLBACK SEGMENT 选项orA-02245: 无效的 ROLLBACK SEGMENT 名orA-02246: 缺少 EVENTS 文本orA-02247: 未指定 Alter SESSION 的选项orA-02248: 无效的 Alter SESSION 选项orA-02249: 缺少或无效的 MAXLOGMEMBERS 值orA-02250: 缺少或无效的约束条件名orA-02251: 此处不允许子查询orA-02252: 检查未正确结束的约束条件orA-02253: 此处不允许约束条件说明orA-02254: 此处不允许 DEFAULT <表达式>orA-02255: obsolete 7.1.5orA-02256: 要引用的列数必须与已引用道感数匹配orA-02257: 超出最大列数orA-02258: 重复或冲突的 NULL 和(或)NOT NULL 说明orA-02259: 重复的 UNIQUE/PRIMARY KEY 说明orA-02260: 表只能具有一个主键orA-02261: 表中已存在这样的唯一关键字或主键orA-02262: 对列默认值表达式进行类型检查时, 出现orA- orA-02263: 需要指定此列的数据类型orA-02264: 名称已被一现有约束条件占用orA-02265: 无法推导引用列的数据类型orA-02266: 表中的唯一/主键被启用的外部关键字引用orA-02267: 列类型与引用的列类型不兼容orA-02268: 引用的表不具有主键orA-02269: 关键字列不能是 LONG 数据类型orA-02270: 此列列表的唯一或主键不匹配orA-02271: 表没有这样的约束条件orA-02272: 约束条件列不能是 LONG 数据类型orA-02273: 此唯一/主键已被某些外部关键字引用orA-02274: 重复的引用约束条件说明orA-02275: 此表中已经存在这样的引用约束条件orA-02276: 默认值类型与列类型不兼容orA-02277: 无效的序列名orA-02278: 重复或冲突的orDER/NOORDER 说明orA-02279: 重复或冲突的orDER/NOORDER 说明orA-02280: 重复或冲突的orDER/NOORDER 说明orA-02281: 重复或冲突的orDER/NOORDER 说明orA-02282: 重复或冲突的orDER/NOORDER 说明orA-02283: 无法改变起始序号orA-02284: 重复的 INCREMENT BY 说明orA-02285: 重复的 START WITH 说明orA-02286: 未指定 Alter SEQUENCE 的选项orA-02287: 此处不允许序号orA-02288: 无效的 OPEN 模式orA-02289: 序列(号)不存在orA-02290: 违反检查约束条件 (.)orA-02291: 违反完整约束条件 (.) - 未找到父项关键字orA-02292: 违反完整约束条件 (.) - 已找到子记录日志orA-02293: 无法验证 (.) - 违反检查约束条件orA-02294: 无法启用 (.) - 约束条件在验证过程中更改orA-02295: 找到约束条件的多个启用/禁用子句orA-02296: 无法启用 (.) - 找到空值orA-02297: 无法禁用约束条件 (.) - 存在依赖关系orA-02298: 无法验证 (.) - 未找到父项关键字orA-02299: 无法验证 (.) - 未找到重复关键字orA-02300: 无效的 OIDGENERATORS 值orA-02301: OIDGENERATORS 的最大数为 255orA-02302: 无效或缺少类型名orA-02303: 无法使用类型或表的相关性来删除或取代一个类型orA-02304: 无效的对象标识文字orA-02305: 只有 EXECUTE, DEBUG 和 UNDER权限对类型有效orA-02306: 无法创建已具有有效相关性的类型orA-02307: 无法使用 REPLACE 选项改变无效类型orA-02308: 无效的对象类型列选项orA-02309: 违反原子 NULLorA-02310: 超出表中允许的最大列数orA-02311: 无法使用 COMPILE 选项改变具有类型或表相关性的有效类型orA-02313: 对象类型包含不可查询的类型属性orA-02315: 默认构造符的参数个数错误orA-02320: 无法创建嵌套表列的存储表orA-02322: 无法访问嵌套表列的访问表orA-02324: THE 子查询的 Select 列表中存在多列orA-02327: 无法以数据类型的表达式创建索引orA-02329: 数据类型的列不能是唯一关键字或主键orA-02330: 不允许的数据类型说明orA-02331: 无法创建数据类型为的列的约束条件orA-02332: 无法对此列的属性创建索引orA-02333: 无法对此列的属性创建约束条件orA-02334: 无法推断列类型orA-02335: 无效的群集列数据类型orA-02336: 无法访问列属性orA-02337: 不是对象类型列orA-02338: 缺少或无效的列约束条件说明orA-02339: 无效的列说明orA-02340: 无效的列说明orA-02342: 取代类型具有编译错误orA-02344: 无法撤消执行具有表相关性的类型orA-02345: 无法创建具有基于 CURSOR 运算符的列的视图orA-02347: 无法授权给对象表列orA-02348: 无法创建具有嵌入 LOB 的 VARRAY 列orA-02349: 无效的用户自定义类型 - 类型不完整orA-02351: 记录: 被拒绝 - 表, 列上出错orA-02352: 直接路径连接必须在同类间进行orA-02353: 多字节字符错误orA-02354: 字段中出现转换初始化错误orA-02355: CONSTANT 字段中出现转换错误orA-02356: 数据库空间耗尽。
查看用户、权限、角色的命令和视图a1.查看所有用户:select * from dba_users;select * from all_users;select * from user_users;2.查看用户系统权限:select * from dba_sys_privs;select * from session_privs;select * from user_sys_privs;3.查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;4.查看所有角色:select * from dba_roles;5.查看用户所拥有的角色:select * from dba_role_privs;select * from user_role_privs;b概述与权限,角色相关的视图大概有下面这些:DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限USER_SYS_PRIVS: 查询当前用户所拥有的系统权限SESSION_PRIVS: 查询当前用户所拥有的全部权限ROLE_SYS_PRIVS:查询某个角色所拥有的系统权限注意: 要以SYS用户登陆查询这个视图,否则返回空.ROLE_ROLE_PRIVS: 当前角色被赋予的角色SESSION_ROLES: 当前用户被激活的角色USER_ROLE_PRIVS: 当前用户被授予的角色另外还有针对表的访问权限的视图:TABLE_PRIVILEGESALL_TAB_PRIVSROLE_TAB_PRIVS: 某个角色被赋予的相关表的权限oracle与用户角色权限相关的视图Oracle 本身的数据字典设计我个人觉得很合理, 因为DBA_xxx, ALL_xxx,USER_xxx 让人一看大概就知道这个视图是干什么用的. 本文简要总结了一下与权限,角色相关的视图.一. 概述与权限,角色相关的视图大概有下面这些:1、DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限。
一、权限分类:系统权限:系统规定用户使用数据库的权限。
(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。
(是针对表或视图而言的)。
二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
2、系统权限授权命令:[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。
]例:SQL> connect system/managerSQL> Create user user50 identified by user50;SQL> grant connect, resource to user50;查询用户拥有哪里权限:SQL> select * from dba_role_privs;SQL> select * from dba_sys_privs;SQL> select * from role_sys_privs;删除用户:SQL> drop user 用户名cascade; //加上cascade则将用户连同其创建的东西全部删除3、系统权限传递:增加WITH ADMIN OPTION选项,则得到的权限可以传递。