Oracle权限不足问题集锦

合集下载

oracle-存储过程提示ORA-01031:权限不足

oracle-存储过程提示ORA-01031:权限不足

oracle-存储过程提⽰ORA-01031:权限不⾜
⽤户具有dba权限,但在执⾏⼀个存储过程时提⽰“ORA-01031: 权限不⾜”,该过程中存在动态SQL“execute immediate。

”正是这⾥报的错误。

1、ORACLE默认为定义者权限,定义者权限在存储过程中ROLE⽆效,需要显⽰授权。

2、如果使⽤AUTHID CURRENT_USER关键字使⽤调⽤者权限,则编译时ROLE⽆效,运⾏时有效。

解决办法:
⽅法1:就这个存储过程来说,CREATE TABLE想使⽤CREATE ANY TABLE权限,⽽CREATE ANY TABLE权限来⾃DBA⾓⾊,默认情况下,虽然在会话环境中可见,但在存储过程中不可见(⽆效)。

所以根据上⾯的第⼀条规则,可以显⽰地将CREATE ANY TABLE权限授予cog就可以了,即
GRANT CREATE ANY TABLE TO COG;
⽅法2:采⽤调⽤者权限,由于过程中使⽤动态SQL,所以可以避开编译时的检查,但在运⾏时DBA⾓⾊⽣效,即
CREATE OR REPLACE PROCEDURE INSERT_DATA --插⼊user_客户ID,套餐表,客户宽表
(RTN_ID OUT NUMBER, --返回错误ID
RTN_STR OUT VARCHAR --返回错误叙述
) AUTHID CURRENT_USER IS
...................。

Oracle数据库视图与权限问题

Oracle数据库视图与权限问题
授权成功。
SQL> create table t1 as select * from all_objects;
表已创建。
SQL> grant select on t1 to test2;
授权成功。
用TEST2用户创建一个视图,视图的基表是TEST1.T1,并将查询权限授予TEST3:
SQL> create view v_t1 as select * from test1.t1;
SQL> grant select on t1 to test2 with grant option;
授权成功。
SQL> grant select on t1 to test2 with grant option;
授权成功。
对于视图的UPDATE,DELETE权限,同样是如此。
在测时,有一个现象,有点意思。就是如果用户TEST2没有显式地把V_T1的SELECT权限授予TEST3,而TEST3在有SELECT ANY TABLE或DBA权限时,则查询这个视图时不会报权限不足的错误。由于有SELECT ANY TABLE权限的存在,所有的用户表都可以被访问。但是显式授予表的权限时,似乎表的权限有更高的优先级,并且没有跟系统权限和角色权限进行结合。或者版本不同,表现得不一样,在我的测试中,是Oracle 9.2.0.8 for Windows。
视图已建立。
SQL> grant select on v_t1 to test3;
授权成功。
SQL> create view v_t1 as select * from test1.t1;
视图已建立。

oracle数据库中ora-报错原因及处理

oracle数据库中ora-报错原因及处理

ORA-00214 控制文件''版本与文件''版本不一致 ORA-00215 必须至少存在一个控制文件 ORA-00216 无法重新调整从8.0.2移植的控制文件大小 ORA-00217 从9.0.1进行移植无法重新调整控制文件的大小 ORA-00218 控制文件的块大小与DB_BLOCK_SIZE()不匹配 ORA-00219 要求的控制文件大小超出了允许的最大值 ORA-00220 第一个例程未安装控制文件,有关详情,请检查警告日志 ORA-00221 写入控制文件出错 ORA-00222 操作将重新使用当前已安装控制文件的名称 ORA-00223 转换文件无效或版本不正确 ORA-00224 控制文件重设大小尝试使用非法记录类型() ORA-00225 控制文件的预期大小与实际大小不同 ORA-00226 备用控制文件打开时不允许进行操作 ORA-00227 控制文件中检测到损坏的块:(块,#块) ORA-00228 备用控制文件名长度超出了最大长度 ORA-00229 操作不允许:已挂起快照控制文件入队 ORA-00230 操作不允许:无法使用快照控制文件入队 ORA-00231 快照控制文件未命名 ORA-00232 快照控制文件不存在,已损坏或无法读取 ORA-00233 控制文件副本已损坏或无法读取 ORA-00234 标识或打开快照或复制控制文件时出错 ORA-00235 控制文件固定表因并发更新而不一致 ORA-00236 快照操作不允许:挂上的控制文件为备份文件 ORA-00237 快照操作不允许:控制文件新近创建 ORA-00238 操作将重用属于数据库一部分的文件名 ORA-00250 未启动存档器 ORA-00251 LOG_ARCHIVE_DUPLEX_DEST不能是与字符串相同的目的地 ORA-00252 日志在线程上为空,无法存档 ORA-00253 字符限制在以内,归档目的字符串超出此限制 ORA-00254 存档控制字符串''时出错 ORA-00255 存档日志(线程,序列#)时出错 ORA-00256 无法翻译归档目的字符串 ORA-00257 存档器错误。在释放之前仅限于内部连接 ORA-00258 NOARCHIVELOG模式下的人工存档必须标识日志 ORA-00259 日志(打开线程)为当前日志,无法存档 ORA-00260 无法找到联机日志序列(线程) ORA-00261 正在存档或修改日志(线程)

Oracle-ora错误代码大全

Oracle-ora错误代码大全

Oracle-ora错误代码大全Oracle ORA 错误代码整理ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程;无法转换会话ORA-00022: 无效的会话 ID;访问被拒绝ORA-00023: 会话引用进程私用内存;无法分离会话ORA-00024: 单一进程模式下不允许从多个进程注册ORA-00025: 无法分配ORA-00026: 丢失或无效的会话 IDORA-00027: 无法删去当前会话ORA-00028: 您的会话己被删去ORA-00029: 会话不是用户会话ORA-00030: 用户会话 ID 不存在。

ORA-00031: 标记要删去的会话ORA-00032: 无效的会话移植口令ORA- 00033: 当前的会话具有空的移植口令ORA-00034: 无法在当前 PL/SQL 会话中ORA-00035: LICENSE_MAX_USERS 不能小于当前用户数ORA-00036: 超过递归SQL() 级的最大值ORA-00037: 无法转换到属于不同服务器组的会话ORA-00038: 无法创建会话: 服务器组属于其它用户ORA-00050: 获取入队时操作系统出错ORA-00051: 等待资源超时ORA-00052: 超出最大入队资源数 ()ORA-00053: 超出最大入队数ORA-00054: 资源正忙,要求指定 NOWAITORA-00055: 超出 DML 锁的最大数ORA-00056: 对象 '.' 上的 DDL 锁以不兼容模式挂起ORA-00057: 超出临时表锁的最大数ORA-00058: DB_BLOCK_SIZE 必须为才可安装此数据库(非 )ORA-00059: 超出 DB_FILES 的最大值ORA-00060: 等待资源时检测到死锁ORA-00061: 另一个例程设置了不同的 DML_LOCKSORA-00062: 无法获得 DML 全表锁定;DML_LOCKS 为 0ORA-00063: 超出 LOG_FILES 的最大数ORA-00064: 对象过大以至无法分配在此 O/S (,)ORA-00065: FIXED_DATE 的初始化失败ORA-00066: LOG_FILES 为但需要成为才可兼容ORA-00067: 值对参数无效;至少必须为ORA-00068: 值对参数无效,必须在和之间ORA-00069: 无法获得锁定 -- 禁用了表锁定ORA-00070: 命令无效ORA-00071: 进程号必须介于 1 和之间ORA-00072: 进程""不活动ORA-00073: 命令介于和个参数之间时使用ORA-00074: 未指定进程ORA-00075: 在此例程未找到进程 ""ORA-00076: 未找到转储ORA-00077: 转储无效ORA-00078: 无法按名称转储变量ORA-00079: 未找到变量ORA-00080: 层次指定的全局区域无效ORA-00081: 地址范围 [,) 不可读ORA-00082: 的内存大小不在有效集合[1], [2], [4] 之内ORA-00083: 警告: 可能损坏映射的 SGAORA-00084: 全局区域必须为 PGA, SGA 或 UGAORA-00085: 当前调用不存在ORA-00086: 用户调用不存在ORA-00087: 命令无法在远程例程上执行ORA-00088: 共享服务器无法执行命令ORA-00089: ORADEBUG 命令中无效的例程号ORA-00090: 未能将内存分配给群集数据库 ORADEBUG 命令ORA-00091: LARGE_POOL_SIZE 至少必须为ORA-00092: LARGE_POOL_SIZE 必须大于LARGE_POOL_MIN_ALLOC ORA-00093: 必须介于和之间ORA-00094: 要求整数值ORA-00096: 值对参数无效,它必须来自之间ORA-00097: 使用 Oracle SQL 特性不在 SQL92 级中ORA-00099: 等待资源时发生超时,可能是 PDML 死锁所致ORA-00100: 未找到数据ORA-00101: 系统参数 DISPATCHERSORA-00102: 调度程序无法使用网络协议ORA-00103: 无效的网络协议;供调度程序备用ORA-00104: 检测到死锁;全部公用服务器已锁定等待资源ORA-00105: 未配置网络协议的调度机制ORA-00106: 无法在连接到调度程序时启动/关闭数据库ORA-00107: 无法连接到 ORACLE 监听器进程ORA-00108: 无法设置调度程序以同步进行连接ORA-00111: 由于服务器数目限制在, 所以没有启动所有服务器ORA-00112: 仅能创建多达 (最多指定) 个调度程序ORA-00113: 协议名过长ORA-00114: 缺少系统参数 SERVICE_NAMES 的值ORA-00115: 连接被拒绝;调度程序连接表已满ORA-00116: SERVICE_NAMES 名过长ORA-00117: 系统参数 SERVICE_NAMES 的值超出范围ORA-00118: 系统参数 DISPATCHERS 的值超出范围ORA-00119: 系统参数的说明无效ORA-00120: 未启用或安装调度机制ORA-00121: 在缺少DISPATCHERS 的情况下指定了SHARED_SERVERS ORA-00122: 无法初始化网络配置ORA-00123: 空闲公用服务器终止ORA-00124: 在缺少MAX_SHARED_SERVERS 的情况下指定了DISPATCHERS ORA-00125: 连接被拒绝;无效的演示文稿ORA-00126: 连接被拒绝;无效的重复ORA-00127: 调度进程不存在ORA-00128: 此命令需要调度进程名ORA-00129: 监听程序地址验证失败 ''ORA-00130: 监听程序地址 '' 无效ORA-00131: 网络协议不支持注册 ''ORA-00132: 语法错误或无法解析的网络名称 ''ORA-00150: 重复的事务处理 IDORA-00151: 无效的事务处理 IDORA-00152: 当前会话与请求的会话不匹配ORA-00153: XA 库中的内部错误ORA-00154: 事务处理监视器中的协议错误ORA-00155: 无法在全局事务处理之外执行工作ORA-00160: 全局事务处理长度超出了最大值 ()ORA-00161: 事务处理的分支长度非法 (允许的最大长度为 )ORA-00162: 外部 dbid 的长度超出了最大值 ()ORA-00163: 内部数据库名长度超出了最大值 ()ORA-00164: 在分布式事务处理中不允许独立的事务处理ORA-00165: 不允许对远程操作进行可移植分布式自治转换ORA-00200: 无法创建控制文件ORA-00201: 控制文件版本与 ORACLE 版本不兼容ORA-00202: 控制文件: ''ORA-00203: 使用错误的控制文件ORA-00204: 读控制文件时出错 (块,# 块 )ORA-00205: 标识控制文件出错,有关详情,请检查警告日志ORA-00206: 写控制文件时出错 (块,# 块 )ORA-00207: 控制文件不能用于同一数据库ORA-00208: 控制文件的名称数超出限制ORA-00209: 控制文件块大小不匹配,有关详情,请检查警告日志ORA-00210: 无法打开指定的控制文件ORA-00211: 控制文件与先前的控制文件不匹配ORA-00212: 块大小低于要求的最小大小 ( 字节)ORA-00213: 不能重新使用控制文件;原文件大小为,还需ORA-00214: 控制文件 '' 版本与文件 '' 版本不一致ORA-00215: 必须至少存在一个控制文件ORA-00216: 无法重新调整从 8.0.2 移植的控制文件大小ORA-00217: 从 9.0.1 进行移植无法重新调整控制文件的大小ORA-00218: 控制文件的块大小与 DB_BLOCK_SIZE () 不匹配ORA-00219: 要求的控制文件大小超出了允许的最大值ORA-00220: 第一个例程未安装控制文件,有关详情,请检查警告日志ORA-00221: 写入控制文件出错ORA-00222: 操作将重新使用当前已安装控制文件的名称ORA-00223: 转换文件无效或版本不正确ORA-00224: 控制文件重设大小尝试使用非法记录类型 ()ORA-00225: 控制文件的预期大小与实际大小不同ORA-00226: 备用控制文件打开时不允许进行操作ORA-00227: 控制文件中检测到损坏的块: (块,# 块 )ORA-00228: 备用控制文件名长度超出了最大长度ORA-00229: 操作不允许: 已挂起快照控制文件入队ORA-00230: 操作不允许: 无法使用快照控制文件入队ORA-00231: 快照控制文件未命名ORA-00232: 快照控制文件不存在, 已损坏或无法读取ORA-00233: 控制文件副本已损坏或无法读取ORA-00234: 标识或打开快照或复制控制文件时出错ORA-00235: 控制文件固定表因并发更新而不一致ORA-00236: 快照操作不允许: 挂上的控制文件为备份文件ORA-00237: 快照操作不允许: 控制文件新近创建ORA-00238: 操作将重用属于数据库一部分的文件名ORA-00250: 未启动存档器ORA-00251: LOG_ARCHIVE_DUPLEX_DEST 不能是与字符串相同的目的地ORA-00252: 日志在线程上为空,无法存档ORA-00253: 字符限制在以内,归档目的字符串超出此限制ORA-00254: 存档控制字符串 '' 时出错ORA-00255: 存档日志 (线程 , 序列 # ) 时出错ORA-00256: 无法翻译归档目的字符串ORA-00257: 存档器错误。

Oracle常见错误及解决方案

Oracle常见错误及解决方案

O r a c l e常见错误及解决方案问题1:Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initialization or shutdown in progress 错误提示,应用系统无法连接Oracle服务。

解决方法如下:⑴进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID;⑵运行sqlplus "/as sysdba"SQL>shutdown immediate停止服务SQL>startup启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号SQL>shutdown immediate再次停止服务SQL>startup mountSQL> recover datafile 2恢复出错的数据文件SQL>shutdown immediate再次停止服务SQL>startup启动服务,此次正常。

⑶进入PL/SQL Developer检查,没有再提示错误。

问题2:Oracle密码忘记了怎么办?解决方法有很多种,这里讲述以下三种:⑴打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”。

注意:新密码最好以字母开头,否则可能出现错误Ora-00988。

有了这个方法后,只要自己对oracle 服务器有管理员权限,Oracle密码忘记了也不用着急,可以随意修改密码。

⑵在命令行执行如下命令:sqlplus "/@服务名as sysdba"然后在sqlplus中运行以上命令即可修改密码:alter user sys identified by 新密码;alter user system identified by 新密码;⑶运行到C盘根目录输入:SET ORACLE_SID = 你的SID名称输入:sqlplus/nolog输入:connect/as sysdba输入:alert user sys identified by sys输入:alert user system identified by system完成以上5步,则密码更改完成,密码是Oracle数据库的初始密码。

Oracle错误一览表2

Oracle错误一览表2

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: 数据库空间耗尽。

oracle数据库闪回目录空间不足导致drop user cascade报错

oracle数据库闪回目录空间不足导致drop user cascade报错

闪回目录空间不足导致drop user cascade报错imp数据的过程中出错,所有drop user gspx cascade,但一直无法执行完毕,无奈的关闭终端,重新连接数据库后,再次执行drop user gspx cascade ,这次报错如下:第1 行出现错误:ORA-01940: cannot drop a user that is currently connected从v$session中查看,没有与gspx用户相关的sessionconn gspx/gspx 又报错如下:普通连接报错:ORA-00257: archiver error. Connect internal only,until freed系统不能进行归档:SQL> select * from v$log;GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS---------- ---------- ---------- ---------- ---------- --- ----------------FIRST_CHANGE# FIRST_TIME------------- ---------------1 1 10 52428800 1 NO INACTIVE15711794 31-MAY-072 1 11 52428800 1 NO CURRENT15730194 31-MAY-073 1 9 52428800 1 NO INACTIVEARC字段的值都是NO,表明数据库无法自动归档。

检查归档空间使用情况:SQL> select * from v$flash_recovery_area_usage;FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES------------ ------------------ ------------------------- ---------------CONTROLFILE 0 0 0ONLINELOG 0 0 0ARCHIVELOG 99.99 0 527BACKUPPIECE 0 0 0IMAGECOPY 0 0 0FLASHBACKLOG 0查看闪回目录的路径以及空间配额SQL> show parameter db_recovery_file_destNAME TYPE V ALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string /opt/oracle/flash_recovery_areadb_recovery_file_dest_size big integer 2G最终确认,因为归档日志的路径是在闪回区目录内,而闪回目录安装时默认2G大小,而归档日志一直都没有备份删除,导致当drop user 时,新增的日志无法归档,这样数据库就会自动挂起,无法执行命令。

ORACLE 数据库故障解决方案

ORACLE 数据库故障解决方案

ORACLE 数据库故障解决方案一、引言ORACLE 数据库是一种常用的关系型数据库管理系统,用于存储和管理大量的结构化数据。

然而,在数据库运行过程中,可能会遇到各种故障,如数据库崩溃、数据丢失、性能下降等。

本文将介绍一些常见的ORACLE数据库故障解决方案,以匡助管理员快速恢复数据库的正常运行。

二、数据库崩溃的解决方案1. 数据库崩溃可能由于硬件故障、软件错误、人为操作等原因引起。

当数据库崩溃时,管理员应采取以下步骤进行故障排查和修复:a. 检查数据库日志文件,查找崩溃前的异常信息;b. 尝试重启数据库实例,使用备份恢复数据;c. 如果无法恢复数据,可以考虑使用数据库恢复工具进行修复。

2. 数据丢失的解决方案数据丢失可能由于误删除、磁盘损坏等原因导致。

为了防止数据丢失,管理员应采取以下预防措施:a. 定期备份数据库,并将备份文件存储在安全的位置;b. 使用数据库的日志文件功能,可以实现数据的增量备份;c. 配置RAID技术,提高数据库的容错能力。

3. 性能下降的解决方案当数据库性能下降时,可能会导致用户访问延迟、查询速度变慢等问题。

管理员可以采取以下措施来提高数据库性能:a. 优化数据库的查询语句,使用索引、视图等技术来加速查询;b. 增加硬件资源,如CPU、内存等,提升数据库的处理能力;c. 定期清理数据库,删除不必要的数据和索引,减少数据库的负载。

4. 数据库安全的解决方案数据库安全是保护数据库免受未经授权的访问和数据泄露的重要任务。

管理员应采取以下安全措施来保护数据库:a. 设置强密码策略,要求用户使用复杂的密码,并定期更换密码;b. 限制数据库用户的权限,只赋予其必要的访问权限;c. 定期更新数据库软件和补丁,以修复已知的安全漏洞;d. 使用防火墙和入侵检测系统,监控数据库的网络访问。

三、总结本文介绍了ORACLE数据库常见故障的解决方案,包括数据库崩溃、数据丢失、性能下降和数据库安全等方面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 权限。

我建议你先使用有这些权限的账户去登陆一下数据库。

如果这个账户需要添加这些权限,那么视图的拥有者就必须向你的账户授予SELECT 权限。

在V$视图情况下,它是由SYS 拥有的。

让SYS 授权的方法如下:GRANT SELECT ON v_$version TO your_account;注意其中的下划线,这是必须要加上的,因为真正的视图名有这个下划线字符,V$VERSION 则是这个视图的公有同义词。

(作者:Brian Peasland 译者:孙瑞 来源:TT 中国)TechTarget 中国《Oracle 电子书》5在不同的模式下执行SQL 语句问:我现在想从我的存储过程中使用其他schema 表来执行SQL 语句。

存储过程是一个Schema ,表是在另一个Schema 。

但是这样做的结果是出现了“ORA-01031: insufficientprivileges ”错误。

请告诉我如何才能实现我想要达到的目的?现在两个用户都是在同一个Oracle 实例中,数据库是Oracle 10g 。

答:你的两个Schema 是在同一个Oracle 实例中:Schema A 和Schema B 。

Schema A 有一个过程叫做proc1,Schema B中有一个表emp ,你想要从前一个模式中读取它。

因此可以进行下面的两步操作:步骤一:登录Schema B ,然后Grant references ,如下所示:grant references, select on emp to schemaA;步骤二:创建一个公共同义词:create PUBLIC synonym emp for emp;现在登录Schema A 然后创建proc1,如下所示:create or replace procedure proc1asv_emp_no number;begin select emp_no intov_emp_no from empwhere emp_no = 1;end;(作者:Brian Peasland 译者:孙瑞来源:TT中国) TechTarget 中国《Oracle电子书》 6创建数据库时“Insufficientprivileges”的解决方法问:在使用自定义脚本来“创建数据库”的时候,Oracle提Array示出现“Insufficient privileges”错误。

我系统中的数据库安装的是Oracle 9i,其中用户名“Oracle”有管理员权限,我试图用这个用户名来创建数据库。

请问问题出在哪里?如何解决?谢谢!答:当你创建一个数据库的时候,你必须满足以下两个条件:1、以SYSDBA的身份登录到实例;2、要以NOMOUNT模式启动数据库。

在满足上述条件之后,你才可以使用CREATE DATABASE命令。

(作者:Brian Peasland 译者:孙瑞来源:TT中国)TechTarget 中国《Oracle电子书》7TechTarget 中国《Oracle 电子书》8避免EBS 安装时的insufficient privileges 问题问:我刚刚在Windows 2003 Server 操作系统的服务器上安装了Oracle E-business Suite 11.5.10软件。

当使用SYSADMIN用户名和密码登录Oracle 时,遇到了错误,说当前操作的权限不足。

这个在之前从未发生过,请问您知道这个错误的原因吗?谢谢!答:Oracle EBS 我并不太熟悉,但是我觉得错误信息给出的提示已经很明显了,这就是问题所在。

你可以重新检查安装日志,并确认所有必要的安装步骤都已经完成,直到安装日志不再出现任何错误。

(作者:Brian Peasland 译者:孙瑞 来源:TT 中国)TechTarget 中国《Oracle 电子书》9以sysdba 登录时的Insufficient privileges 错误问:我目前在做生产环境的SAP 数据库容灾测试。

我恢复数据文件和redo 日志文件到Windows 2000 Server 和Oracle 9.2.0.6,输入如下:Sqlplus /nolog Connect / as sysdba但是发生了如下ORA-01031错误ERROR: ORA-01031: insufficient privilegesWindows 用户ORA_SID_DBA , ORA_SID_OPER 权限存在。

所有的环境变量都没有出问题。

这个参数设置为true 了:remote_os_authent = true。

请问我该如何解决上述问题呢?答:在服务器端,创建一个叫做ORA_DBA 的组,添加你的用户到这个组当中。

这样的话你就能够CONNECT / AS SYSDBA ,应该不会再出现ERROR: ORA-01031: insufficient privileges 错误。

(作者:Brian Peasland 译者:孙瑞 来源:TT 中国)TechTarget 中国《Oracle 电子书》10ORA-01031: 数据库恢复时的insufficient privileges 错误问:我是一个Oracle 新手,但学的还算比较快。

公司的系统中安装了Oracle 9.2.0.1.0,运行在Windows 2000 SP4上。

我以SYSDBA 的身份登录到数据库,然后运行一个数据库恢复操作。

当进行备份管理的时候,出现了下面的错误:Using preferred credentials, the following error occurred:ORA-01031:insufficient privileges.请问我该如何解决这个问题,才能够正常完成数据库恢复?答:根据你给出的信息,造成这个错误的最常见原因是你的密码文件丢失或者损坏。

使用ORAPWD 工具来重新创建一个密码文件,然后确保参数文件设定为REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE 值。

然后你就可以以SYSDBA 身份连接到SYS 进行数据库恢复操作了。

(作者:Brian Peasland 译者:孙瑞 来源:TT 中国)TechTarget 中国《Oracle 电子书》11解决RHEL4上安装Oracle 9i 时的Insufficient privileges 问题问:我在红帽Linux 系统RHEL4上安装Oracle 9i 数据库,在安装到93%时出现了以下的错误提示:“You don't havesufficient privileges to write to the specified configurationassistant 9.2.0.1.0 ...”,即没有足够权限写入指定的配置助手9.2.0.1.0。

请问有没有可以参考的资料或者链接?谢谢!答:我之前看到过一个类似的问题,当时是要在Linux 上安装Oracle 9.2.0.4。

出现这个错误的原因很简单,你在视图安装Oracle 数据库之前,没有定义$ORACLE_BASE 环境变量。

$ORACLE_BASE 它需要指向一个有效的目录,其权限需要与进行安装操作的用户以及组相匹配。

如下举例:mkdir /oraclechown oracle oraclechgrp dba oracleexport ORACLE_BASE=/oracle你可以根据我的建议来重新尝试安装,先定义ORACLE_BASE然后重启会话。

(作者:Maria Anderson译者:孙瑞来源:TT中国) TechTarget 中国《Oracle电子书》12TechTarget 中国《Oracle 电子书》13Windows 集群下的ORA-12638和ORA-01031错误问:我们有一个双节点微软集群运行了Windows 2000 SP4,集群存储是SAN 附加使用双HBA 。

EMC PowerPath 管理双通路。

在这个集群之中,最为重要的资源就是我们的Oracle 数据库。

相关文档
最新文档