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数据库常见故障的解决方案,包括数据库崩溃、数据丢失、性能下降和数据库安全等方面。

执行存储过程报错——ora-01031:权限不足

执行存储过程报错——ora-01031:权限不足

执⾏存储过程报错——ora-01031:权限不⾜1. 执⾏DDL报错在oracle存储过程中,默认是可以直接执⾏DML和DQL的,但是执⾏CREATE这种的DDL则需要借助EXECUTE IMMEDIATE ···了,如下备份表语句--抄表表备份SELECT TO_CHAR(SYSDATE,'YYMMDD') INTO V_DQRQ FROM DUAL;V_CREATESQL :='CREATE TABLE SF_EBZCB'||V_DQRQ||'_T AS SELECT * FROM SF_EBZCB_T';EXECUTE IMMEDIATE V_CREATESQL;当执⾏该语句时,提⽰ORA-01031: 权限不⾜。

该⽤户已赋予DBA权限。

原因:CREATE TABLE想使⽤CREATE ANY TABLE权限,⽽CREATE ANY TABLE权限来⾃DBA⾓⾊,默认情况下,虽然在会话环境中可见,但在存储过程中不可见(⽆效)。

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

GRANT CREATE ANY TABLE TO charge_liny;执⾏上⾯sql显式授权后,在该⽤户下通过 EXECUTE IMMEDIATE 执⾏CREATE语句即可成功创建表。

2. 授权当前⽤户查询其他⽤户下的表查询另⼀⽤户下的中间库某表中的数据并更新到当前⽤户中的某个表中,当调⽤其他⽤户的表时,需要使⽤⽤户.表名的格式来区分该表是否是当前⽤户下的表,这⾥也需要在被调⽤的⽤户下显式的授权给当前⽤户查询权限。

INSERT INTO SF_EBZCB_T(YHBH, CNQ, JLBBH, SCBS, BCBS, YL, JSYL)SELECT YHBH, CNQ, RBXH, QCBL, JZBL, BJYL, SJYLFROM USER_INFO.RB_INFOWHERE SYNCSTATE =0AND CNQ = SF_DQCNQ_F;授权语句(在USER_INFO⽤户下)GRANT SELECT ANY TABLE TO CHARGE_LINY;授权其他DML权限GRANT INSERT ANY TABLE TO CHARGE_LINY;GRANT UPDATE ANY TABLE TO CHARGE_LINY;GRANT DELETE ANY TABLE TO CHARGE_LINY;。

oracle最全面的错误疑难解决方案和总结文档

oracle最全面的错误疑难解决方案和总结文档
D:\xiaoqiang\oracle\product\instantclient_11_2目录下的sqlnet。ora文件
通过配置sqlnet。ora文件,可以修改oracle登录认证方式:
SQLNET。AUTHENTICATION_SERVICES=(NTS)是基于操作系统验证
SQLNET。AUTHENTICATION_SERVICES=(NONE)是基于Oracle验证
update;insert;delete;select

预定义角色:把常用的权限集中起来,形成角色(套餐)
比如dba connect resource三种角色
自定义角色:自己定义套餐

在一个数据库实例下:
当一个用户,创建好后,如果该用户创建了任意一个数据对象(表或触发器等),这时我们的DBMS就会创建一个对应的方案与该用户对应,并且该方案名字和用户名一致。
启动oraclehome92TNSlistener服务
2.database instance没有启动:services。msc或开始—〉程序—>管理工具—〉服务启动oralceserviceXXX,XXX就是你databaseSID如zhulin
3。注册表问题:
regedit。msc
进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
(2)oradim–startup–sid数据库实例名
linux下:
(1)lsnrctl start(启动监听)
(2)sqlplus sys/chang_on_install as sysdba(以sysdba身份登录)
sqlplus /nolog
conn sys/chang_on_install as sysdba

解决ORACLE数据库提示insufficientprivileges问题

解决ORACLE数据库提示insufficientprivileges问题

解决ORACLE数据库提示insufficientprivileges问题
sys用户使用@连接符提示无效权限的错误ORA-01031:
问题:有同事反映,新安装的数据库使用 conn sys/oracle@xxxx as sysdba登录不上去,提示ORA-01031: insufficient privileges,而用户名密码都是完全正确的,不使用@xxx连接符conn / as sysdba 登录正常。

过程:首先判断当前系统采用的是操作系统认证,再使用system/manager@xxxx登录时没有问题,只有使用sysdba权限的用户登录才会报这种错误。

接下来进行 grant sysdba to scott; 报错,ORA-01994: GRANT failed: password file missing or disabled。

注意,问题就在这里,系统提示密码文件问题。

查找$ORACLE_HOME/dbs下的orapwSID文件,发现存在。

原因:orapwdorcl不正确,应该为orapwORCL,实例名应大写,安装时输入的实例名为小写造成。

oracle遇到的问题及答案

oracle遇到的问题及答案

oracle遇到的问题及答案问题⼀:Oracle 11G⽤EXP时,空表不能导出解决⽅法第⼀查询空表到底有多少张,也就是查询为分配分配segment的表有多少张SQL> select table_name from user_tables where NUM_ROWS=0;TABLE_NAME------------------------------DATA_BACKUPEQUIPMENTFEEDBACK_ACCESSORIESSPECIALPICTASK_THIRDTASK_THIRDBATCHTASK_THIRD_DATATASK_THIRD_FEEDBACKTESTDATA_THIRDTHIRD_ACCESSORIES已选择10⾏。

第⼆查询在当前⽤户下有总的有多少张表SQL> select count(*) FROM USER_TABLES;COUNT(*)----------32第三导出当前⽤户下的数据C:\Users\Administrator>exp lcpt/lcpt file=E:\0702bj\lcpt.dmp wner=lcpt log=E 702bj\lcpt.logExport: Release 11.2.0.1.0 - Production on 星期⼀ 7⽉ 2 10:42:07 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Productio With the Partitioning, OLAP, Data Mining and Real Application Testing options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的⽤户.... 正在导出 pre-schema 过程对象和操作. 正在导出⽤户 LCPT 的外部函数库名. 导出 PUBLIC 类型同义词. 正在导出专⽤类型同义词. 正在导出⽤户 LCPT 的对象类型定义即将导出 LCPT 的对象.... 正在导出数据库链接. 正在导出序号. 正在导出簇定义. 即将导出 LCPT 的表通过常规路径.... . 正在导出表 ACCESSORIES导出了 18 ⾏. . 正在导出表 AUTH导出了 240 ⾏. . 正在导出表 DATA_TEMP导出了 1 ⾏. . 正在导出表 FEEDBACK导出了 1 ⾏. . 正在导出表 FUNCTION导出了 112 ⾏. . 正在导出表 LIMIT导出了 1 ⾏. . 正在导出表MODULE导出了 37 ⾏. . 正在导出表 READ_ACCESSORIES导出了 2 ⾏. . 正在导出表 REGIONINFO导出了 19 ⾏. . 正在导出表 REPORT_EVENT导出了 8 ⾏. . 正在导出表 ROLE导出了 5 ⾏. . 正在导出表 ROLEAUTH导出了 606 ⾏. . 正在导出表STAFFLOG导出了 512 ⾏. . 正在导出表 STAFFROLE导出了 56 ⾏. . 正在导出表 STAFFS导出了 7 ⾏. . 正在导出表TASKINFO导出了 51 ⾏. . 正在导出表 TASK_FILIALE导出了 2 ⾏. . 正在导出表 TASK_FILIALE_FEEDBACK导出了 2 ⾏. . 正在导出表 TASK_SWARAJ_READ导出了 49 ⾏. . 正在导出表 TESTDATA导出了 407 ⾏. . 正在导出表 THIRDFACTURER导出了 3 ⾏. . 正在导出表 USESSION导出了 1 ⾏. 正在导出同义词. 正在导出视图. 正在导出存储过程. 正在导出运算符. 正在导出引⽤完整性约束条件. 正在导出触发器. 正在导出索引类型. 正在导出位图, 功能性索引和可扩展索引. 正在导出后期表活动. 正在导出实体化视图. 正在导出快照⽇志. 正在导出作业队列. 正在导出刷新组和⼦组. 正在导出维. 正在导出 post-schema 过程对象和操作. 正在导出统计信息成功终⽌导出, 没有出现警告。

oracle错误报告

oracle错误报告

oracle错误报告ORA-00910:指定的长度太长,它的数据类型原因:数据类型为CHAR和RAW,指定的长度> 2000,否则,指定的长度> 4000。

动作:使用更短的长度,或者切换到数据类型允许更长的长度,例如一个VARCHAR2,LONG CHAR或LONG RAWORA-00911:无效字符原因:标识符可能无法启动比字母和数字以外的任何ASCII字符。

$#_的第一个字符后也是允许的。

通过的双引号包围的标识符可以包含除双引号以外的任何字符。

另一种引号(Q'#...#')不能使用空格,制表符或回车符作为分隔符。

对于其他情况,请参阅SQL语言参考手册。

操作:无ORA-00912:输入参数过长原因:你输入的字符串之一太长动作:缩短输入参数的长度ORA-00953:缺少或无效的索引名称原因:格式为[的索引名称。

] 预期,但不存在。

如果OIDINDEX子句,索引名称必须操作:输入适当的索引名称。

ORA-00956:缺少或无效审计选项原因: AUDIT或NOAUDIT语句包含无效的审计选项。

操作:使用有效的选项。

ORA-00960:在选择列表中不明确的列命名原因:列名的顺序逐个列表匹配多个选择列表列。

操作:在选择列表中删除重复的列命名。

ORA-00962:太多的分组依据/订单由表达式原因:该组按顺序或按列列表包含1000个以上的表达式。

动作:使用1000以下表达式组by或order-by列表中。

ORA-00964:表不在FROM列表名称原因:在选择列表中提到的表名没有在从列表中指定的。

操作:请确保该名称正确指定和匹配的名称之一的从列表中。

ORA-00965:不允许'*'列别名原因:该语句试图别名*表示在选择列表中这是不合法的。

操作:删除别名。

ORA-00972:标识符过长原因:指定超过30个字符的标识符。

动作:指定最多30个字符。

ORA-00976:指定虚列或操作这里不允许的。

Oracle数据库应用_模拟题

Oracle数据库应用_模拟题

《Oracle数据库应用》模拟题一、单项选择题1.Oracle数据库中.修改数据时,需要一个()的独占锁.锁定行,直到修改被提交或者撤销为止.A.混合B.显式C.隐式D.持续的[答案]:C2.数据文件特点:一个数据文件不能与一个以上的表空间().A.相混合B.相关联C.相交D.以上均错误[答案]:B3.PLSQL程序段中有三种程序结构:条件结构.循环结构和().A.顺序结构B.数据结构C.程序结构D.序列结构[答案]:A4.0RA-1034:TNS:ORACLE不可用,原因:ORACLE的数据库服务正确启动,但是()没有打开.A.文件库B.管理库C.数据库D.实验库[答案]:C5.监听配置中的参数主要包括:监听程序名.协议和().A.端口号B.软件号C.程序号D.以上均错误[答案]:A6.显示当前环境变量的值:().A.ShowallB.shiftC.ctrlD.Fn[答案]:A7.Oracle数据库的体系结构1.Oracle体系结构概述2.Oracle服务器实例的介绍3.数据库的物理.逻辑结构4.管理数据库5.().A.服务器结构B.数据库结构C.数据表空间D.管理表空间[答案]:D8.事务的特性:原子性;一致性;隔离性;().A.相同性B.混合性C.持久性D.永久性[答案]:C9.()是指隐含执行的存储过程procedure,是一种特殊的存储过程.A.触发器B.存储器C.数据器D.程序器[答案]:A10.关系型数据库优势:();可进行复杂的join查询;存在很多实际成果.A.方便B.简单C.数据一致性D.运行速度快[答案]:C11.由于序列属于可(),所以允许多个用户访问.一般情况下,序列用于创建主键值.A.共享对象B.不可共享对象C.混合对象D.管理对象[答案]:A12.表格的管理:创建表;修改表;().A.设计表B.管理表C.删除表D.更改表[答案]:C13.索引在()和物理形式上都独立于索引基于的表.A.逻辑B.数据C.程序D.指针[答案]:A14.数据控制语言DCL这类语言用于实现用户权限授予或者取消,保证数据().A.安全性B.全面性C.管理性D.权限性[答案]:A15.数据库实例:()用来管理数据库的一个实体.A.ShowallB.oracleC.DBCAD.shift[答案]:B16.数据库类型:();数据仓库.A.事务处理B.软件管理C.电脑管理D.数据管理[答案]:A17.()是一系列权限的集合.A.角色B.用户C.前端D.以上均错误[答案]:A18.UNION运算符返回两个表中的所有行,但会()重复项.A.复制B.重复C.标明D.清除[答案]:D19.OracleServer索引是一个方案对象,它使用()来加速对行的检索.A.时间B.程序C.数据D.指针[答案]:D20.Oracle服务器是一种访问()的方法.A.DBCA数据库B.Startup数据库C.管理数据库D.Oracle数据库[答案]:D21.输入无效数据,权限不足应用程序逻辑错误,发生().A.语句故障B.用户进程故障C.实例故障D.介质故障[答案]:A22.配置Oraclel1G环境常用工具:(),SQL*Plus,SQLDeveloper.A.卸载管理B.操作管理C.企业管理中心D.数据管理[答案]:C23.解锁HR用户,拷贝employees表的所有数据到empCopy表中.编写函数(),输入雇员的雇佣日期Hire_date:A.NEXTVAlB.CURRVALC.f_empLeverD.以上均错误[答案]:C24.():将一个查询语句嵌套在另一个查询语句的Where或Having中的查询A.嵌套查询B.Where查询C.Having查询D.汇合查询[答案]:A25.OUT:该值由()生成,并传递回调用应用程序.A.存储过程B.删除过程C.消除过程D.混合过程[答案]:A26.()定义:也叫方案,是一组逻辑对象的所有者.A.用户B.逻辑C.规划D.以上均错误[答案]:A27.变量可以作为子程序的()也可以获取子程序的输出值.A.数据B.参数C.程序D.网络环境[答案]:B28.Oracle数据库服务器体系:数据库用户;连接到Oracle的服务器;建立一个用户连接;().A.创建一个会话B.创建一个数据C.创建一个管理D.创建一个空间[答案]:A29.()是一个SELECT语句,它嵌入到另一个SELECT语句的子句中.A.SELECT查询B.嵌入查询C.子查询D.语句查询[答案]:C30.()定义:PL/SQL用游标管理Select语句,它是为处理这些语句分配的一大块内存.B.分配C.数据D.管理[答案]:A31.概要文件方法:设置预定义资源参数,这些参数包含在概要文件中,如果没有为用户指定概要文件,则使用().A.管理概要文件B.Default概要文件C.Connect概要文件D.以上均错误[答案]:B32.甲骨文股份有限公司()年超越IBM,成为全球第二大软件公司.A.2013B.2014C.2015D.2017[答案]:AMIT:发出COMNIT语句后,当前事务处理结束,所有待定更改变为()更改.A.半永久性B.时间性C.永久性D.瞬时性[答案]:C34.百分比(%)和下划线(-)这两个符号称为().A.数字符号B.标点符号C.符号D.通配符[答案]:D35.()将两个或两个以上的表格,按照一定的关系连接起来进行查询.A.多表格查询B.单表格查询C.关系表格查询D.以上均错误[答案]:A36.存储过程和函数的调用都是通过()来调用的.A.语句B.数据C.程序D.游标[答案]:A37.Oracle服务器由内存和()进程组成.A.前端B.后台D.空间[答案]:B38.使用NOTNULL约束条件定义的列要求,对于表中输入的每一行,该列必须有().A.三个值B.两个值C.一个值D.多个值[答案]:C39.TO_CHAR(x[,fmt,):x是一个date.或number数据类型,函数将x转换成fmt指定格式的()数据类型.A.charB.zharC.aharD.ehar[答案]:A40.重启服务器实例,执行过程:先关闭(),再执行正常启动数据库命令A.管理B.程序C.数据库D.软件[答案]:C41.用户权限管理:用户管理;();角色管理;概要文件.A.管理权限B.权限管理C.用户权限D.管理文件[答案]:B42.数据删除-().A.DeleteB.删除C.backspaceD.ESC[答案]:A43.游标分类:显式游标和().A.隐式游标B.重复游标C.混合游标D.存储游标[答案]:A44.冷备份:数据库要暂时关闭,或者配合()配合使用.A.热备份B.逻辑备份C.数据备份D.系统备份45.有三种控制结构:();CASE;循环.A.CIB.ITC.LID.IF[答案]:D46.Oracle10G的安全卸载:1.停止所有与ORACLE相关的服务.2.使用OUI3.刑除注册表内容.4.().A.重启操作系统B.关机C.重启D.删除程序[答案]:A47.数据文件功能:()数据库数据.A.消除B.存储C.删除D.管理[答案]:B48.PL/SQL提供()结构来实现重复执行语句块.A.三种B.两种C.一种D.多种[答案]:A二、判断题1.不能在WHERE子句中使用组函数.[答案]:正确2.由触发器所调用的过程或函数也不能使用控制语句.[答案]:正确3.ROLLBACKT0SAVEP0INT:允许用户将当前事务处理回退到指定的保存点.[答案]:正确4.数据文件DataFiles[答案]:正确5.冷备份的优点:备份和恢复迅速,容易达到低维护.高安全,执行效率高.[答案]:正确6.Oracle10G的安装注意事项:确保安装盘有3G的硬盘空间,建议安装C盘以外的盘,修改默认安装文件夹时只修改盘符,不要修改其他,安装文件夹不要有中文名.[答案]:正确7.用户进程异常断开连接数较高等发生用户进程故障.8.创建表时要把较小的不为空的字段放在前面,可能为空的字段放在后面.[答案]:正确9.触发器中不能定义LONG和LONGRAW变量.[答案]:正确10.MINUS运算符返回一个表中存在.另一个表中不存在的所有行.[答案]:正确11.取值:将游标中的数据取出一行,放入指定的输出变量.[答案]:正确12.实验目的:熟练搭建项目组的数据库服务器环境.[答案]:正确13.在DML语句中不能使用控制语句COMMIT,ROLLBACK语句.[答案]:正确14.锁出现在数据共享场合用于保证数据一致性.[答案]:正确15.Oracle数据库是世界领先.性能优异的数据库系统.[答案]:正确16.DML触发器是定义在表上的触发器,由DML事件引发.[答案]:正确17.DBCA方式:创建.删除.修改数据库的图形工具10G;选择模板创建数据库.[答案]:正确18.热备份:联机备份数据库处于运行状态时对数据库进行备份,数据库必须处于归档状态Archivelog下.[答案]:正确19.验证方式:数据库验证和操作系统验证.[答案]:正确20.在循环的一开始就检查循环条件,如果条件为false,则可以不执行循环体.[答案]:正确三、填空题1.Connect(###).[答案]:登录执行基本函数;2.数据库的物理结构:操作系统文件的(###).[答案]:集合;3.HASH分区通过(###)编号将数据均匀分布在磁盘设备上.[答案]:指定分区;4.命名惯例对于表和其它数据库对象,最好使用(###)的名称.5.EXPDP和IMPDP是(###)的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用. [答案]:服务端;6.数据操纵分成数据查询和(###)两类.[答案]:数据更新;7.FOREIGNKEY约束条件也称为"(###)"约束条件.[答案]:引用完整性;8.回滚提示完成,表empTest依然在数据库中,数据也没有刪除.因为系统在执行(###)时候已经提交.[答案]:Create命令;9.损坏多个控制文件,或者人为的删除了所有的控制文件,通过控制文件的复制已经不能解决问题,这个时候需要重新建立(###).[答案]:控制文件;四、问答题1.权限是什么?[答案]:权限定义:控制用户在数据库中所能进行的操作权限.2.触发器由什么才能触发?触发器的触发时间分为哪几类?[答案]:触发器必须由事件才能触发.触发器的触发时间分为3类,分别是DML事件.DDL事件和数据库事件.3.什么是完全恢复?[答案]:指将数据库恢复到发生故障的时间点,不丢失任何数据.4.对应多用户数据库系统会产生什么?数据库系统会怎么做?[答案]:对应多用户数据库系统来说,当多用户并发,操作时候会产生多个事务同时操作同一数据情况.数据库系统必须提供并发控制机制,防止发生读取或者写入不正确的情况.5.监听程序是怎样的?[答案]:监听程序配置在服务器端,负责监视客户端的连接请求.6.expdp使用的准备工作是什么?[答案]:expdp使用的准备工作:首先以系统管理员身份建立DIRECTOR对象;数据库用户授予使用DIRECTORY对象权限;查看管理员目录.7.冷备份的步骤是?[答案]:步骤:1)关闭数据库:Shutdownimmediate2)拷贝所有数据库文件到备份目录3)启动数据库:Startup8.如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是哪两步?[答案]:1)0RADIM-DELETE-SIDoradb删除数据库服务项2)0RADIM-NEW-SIDoradb新增数据库服务项.9.编译触发器[答案]:编译触发器:创建成功自动编译,状态为有效;创建有错误,状态为无效;与触发器有关的表.存储过程.函数被删;除或修改,状态为无效;重新编译:Altertriggertr_namecompile.10.创建新表时要遵循下列有关表名和列名的规则是什么?[答案]:必须以字母开头;长度必须在1到30个字符之间;只能包含A-Z.a-z.0-9._(下划线).$和#;不能与同一用户拥有的其它对象重名;不能是OracleServer的保留字.。

oracl 遇到的问题及解决方法

oracl 遇到的问题及解决方法

ORA-0131:Insufficient privileges.Note:Debugging requires the DEBUG CONNECT SESSION systemprivileges.后经查找,是缺失 DEBUG CONNECT SESSION 系统权限所致。

解决办法:以SYS用户登录数据库,执行赋权操作:1 SQL> grant DEBUG CONNECT SESSION to user_name;本文总结了一些Oracle数据库操作中常见错误及其解决方案,供参考。

包括ORA-01650、ORA-01652、ORA-01578、ORA-01628、ORA-00600、ORA-03113、ORA-00942、ORA-1636、ORA-01688以下将详细列出这些ora错误引起的原因及应对办法:第一个:ORA-01650:unable to extend rollback segment NAME by NUM intablespace NAME 产生原因:上述ORACLE错误为回滚段表空间不足引起的,这也是ORACLE数据管理员最常见的ORACLE错误信息。

当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。

解决方式:使用"ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file"命令向指定的数据增加表空间,根据具体的情况可以增加一个或多个表空间。

当然这与还与你主机上的裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议你不要轻意的增加回滚段表空间的大小,可使用下列的语句先查询一下剩余的tablespace空间有多少:Select user_name,sql_text from V$open_cursor where user_name='<user_name>';如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。

oracle,创建用户,授予用户各种权限;ORA-01939错误;ORA-01950错误;。。。

oracle,创建用户,授予用户各种权限;ORA-01939错误;ORA-01950错误;。。。

oracle,创建⽤户,授予⽤户各种权限;ORA-01939错误;ORA-01950错误;。

...3个默认的⽤户:sys orcl [as sysdba]system orclscott tiger创建⽤户:create user gis /*⽤户名*/ identified by gis /*密码*/ ;PRIVILEGE:权限系统权限:grant(revoke) create session to(from) gis;grant(revoke) create table to(from) gis;grant(revoke) unlimited tablespace to(from) gis;grant create seesion to public; #将权限授予所有⽤户。

select * from user_sys_privs; 查看当前⽤户的系统权限。

对象权限:grant(revoke) select on mytable to(from) gis;grant(revoke) all on mytable to(from) gis;select * from user_tab_privs; #查看当前⽤户的表的对象权限:对象权限可以控制到列(只能插⼊和更新控制到列):select * from user_col_privs; #查看当前⽤户的列的对象权限:1) grant update(name) on mytable to sagittys; #在gis⽤户上将mytable表的name列更新权限给sagittys⽤户update gis.mytable set name='laowang' where id=1;commit;2) grant insert(id) on mytable to sagittys;insert into gis.mytable(id) values(7);GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRA HIE----- ------------------------------ ------------------------------ --GIS SAGITTYS SA SAGITTYS FLASHBACK NO NOGIS SAGITTYS SA SAGITTYS DEBUG NO NOGIS SAGITTYS SA SAGITTYS QUERY REWRITE NO NOGIS SAGITTYS SA SAGITTYS ON COMMIT REFRESH NO NOGIS SAGITTYS SA SAGITTYS REFERENCES NO NOGIS SAGITTYS SA SAGITTYS UPDATE #更新 NO NOGIS SAGITTYS SA SAGITTYS SELECT #查询 NO NOGIS SAGITTYS SA SAGITTYS INSERT #插⼊ NO NOGIS SAGITTYS SA SAGITTYS INDEX #索引 NO NOGIS SAGITTYS SA SAGITTYS DELETE #删除 NO NOGIS SAGITTYS SA SAGITTYS ALTER #修改 NO NO(在CMD中默认宽度到头了则不会规则的显⽰,此时将宽度设为400,set linesize 400,就ok了)语⾔分类:1、 DLL,数据定义语⾔CREATE,CREATE TABLE abc(a varchar(10),b char(10));ALTER,ALTER TABLE abc ADD c NUMBER; 加⼀个c的字段,数据符为NUMBER。

oracle-00031原理

oracle-00031原理

Oracle是世界上领先的企业级数据库管理系统,被广泛应用于企业的信息管理和数据处理中。

其中,Oracle-00031错误是一个常见的数据库错误,本文将深入探讨Oracle-00031错误的产生原理及解决方法。

一、Oracle-00031错误的产生原因1.1 表空间不足Oracle数据库中的表空间是用来存储表和索引数据的逻辑结构,如果表空间不足,数据库就无法正常存储数据,从而导致Oracle-00031错误的产生。

1.2 数据库连接失败当数据库连接失败时,用户无法正常访问数据库中的数据,这也可能导致Oracle-00031错误的出现。

1.3 数据文件损坏数据文件是Oracle数据库中用来存储实际数据的物理文件,如果数据文件损坏或丢失,数据库将无法正常读取数据,从而引发Oracle-00031错误。

1.4 日志文件满数据库的日志文件用来记录数据库的操作日志,当日志文件满时,数据库就无法继续记录新的操作日志,从而导致Oracle-00031错误的产生。

二、解决Oracle-00031错误的方法2.1 扩充表空间当出现表空间不足的情况时,可以通过扩充表空间的方式解决这一问题。

可以通过 ALTER TABLESPACE 命令来扩充表空间的大小,使其能够满足数据库存储数据的需求。

2.2 修复数据文件如果数据文件损坏或丢失,可以通过使用 RMAN 或者恢复数据库备份文件的方式来修复数据文件,保障数据库的正常运行。

2.3 清理日志文件当日志文件满时,可以通过定期清理日志文件的方式来避免日志文件满的情况发生。

可以通过设置自动日志文件清理策略,定期清理过期日志文件,保证数据库的正常运行。

2.4 重新连接数据库当数据库连接失败时,可以尝试重新连接数据库,或者检查网络连接,确保数据库可以正常访问。

三、结论通过以上分析可以看出,Oracle-00031错误通常是由于表空间不足、数据库连接失败、数据文件损坏、日志文件满等原因引起的。

ORACLE_错误列表

ORACLE_错误列表

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 为 0 ORA-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_ALLOCORA-00093: 必须介于和之间ORA-00094: 要求整数值ORA-00096: 值对参数无效,它必须来自之间ORA-00097: 使用 Oracle SQL 特性不在 SQL92 级中ORA-00099: 等待资源时发生超时,可能是 PDML 死锁所致ORA-00100: 未找到数据ORA-00101: 系统参数 DISPATCHERS 的说明无效ORA-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: 存档器错误。

oracleORA-12899错误的解决方法

oracleORA-12899错误的解决方法

oracleORA-12899错误的解决⽅法在使⽤ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导⼊到我本地机器上的时候⼀直出现的问题.不过还好已经解决了这个问题,现在分享⼀下,解决⽅案;出现ORA-12899,是字符集引起的,中⽂在UTF-8中占3个字节,ZHS16GBK中占2个字节,⽽源dmp⽂件字符集是ZHS16GBK库⾥倒出来的数据,现在要导⼊到⽬标字符集为UTF-8的库⾥,所以会出现ORA-12899其实只要修改⼀下ORACLE 的字符集就可以很好的解决这个问题;但是在修改字符集的时候,我发现,我把sys账户的密码给忘记了,这就悲剧了,所以我只好先修改sys⽤户的密码咯.修改密码也是分好⼏种情况的,下⾯我就⼀⼀列举吧:⼀、忘记除SYS、SYSTEM⽤户之外的⽤户的登录密码。

⽤SYS (或SYSTEM)⽤户登录。

CONN SYS/PASS_WORD AS SYSDBA;使⽤如下语句修改⽤户的密码。

ALTER USER user_name IDENTIFIED BY newpass;注意:密码不能全是数字。

并且不能是数字开头。

否则会出现:ORA-00988: ⼝令缺失或⽆效⼆、忘记SYS⽤户,或者是SYSTEM⽤户的密码。

如果是忘记SYSTEM⽤户的密码,可以⽤SYS⽤户登录。

然后⽤ALTER USER 密令修改密码。

CONN SYS//PASS_WORD AS SYSDBA;ALTER USER SYSTEM IDENTIFIED BY newpass;如果是忘记SYS⽤户的密码,可以⽤SYSTEM⽤户登录。

然后⽤ALTER USER 密令修改密码。

CONN SYSTEM//PASS_WORD ;ALTER USER SYSTEM IDENTIFIED BY newpass;三、如果SYS,SYSTEM⽤户的密码都忘记或是丢失。

这⼀项尤其重要。

  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 数据库。

相关文档
最新文档