oracle 错误

合集下载

Oracle ORA-12541:TNS:nolistener错误解决方法

Oracle ORA-12541:TNS:nolistener错误解决方法

Oracle ORA-12541:TNS:nolistener错误解决⽅法之前装好的Oracle,今天重启电脑之后突然不好⽤了,从Oracle的错误提⽰来看,是说TNS:no listener ,估计是某种服务没有启动,打开windows管理⼯具->服务,⼀看,有⼀个OracleOraHome90TNSListener这样的服务,和错误信息题是⼀致,基本就可以肯定是这个服务所引发的问题。

再⼀看,该服务没有启动,遂⼿⼯启动,刷新后⼀看,该服务居然马上就⾃动关闭了。

重试N次,结果⼀样。

到Google搜索看看,没想到这还是⼀个普遍的问题,有⼀个⼈提出,把安装⽬录下的listener.ora打开察看。

如:d:/oracle/ora90/network/admin/listener.ora。

打开该配置⽂件后发现如下⼀段配置信息:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = IBMThinkPad)(PORT = 1521)))))当看到这⼀⾏HOST=IBMThinkPad的时候,问题解决了。

 关机前把计算机属性的名字改掉了,⽽这个配置⽂件中记录的监听主机名还是原来的名称,这也就怪不得,OracleOraHome90TNSListener服务⽆法启动了,马上修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功,PL/SQL Developer连接Oracle数据库成功,不能登陆故障排除。

operation generated oracle error 12154

operation generated oracle error 12154

operation generated oracle error 12154 “operationgeneratedoracleerror12154”,这是Oracle数据库中常见的错误代码。

它表示数据库连接失败,无法访问数据库。

当我们在使用Oracle数据库时,如果遇到这个错误,应该如何处理呢?
首先,我们需要了解这个错误的原因。

一般来说,这个错误是由于连接参数设置不正确造成的。

这些参数包括数据库的名称、主机名、端口号、用户名和密码等。

如果其中任何一个参数不正确,都会导致连接失败。

其次,我们需要检查连接参数是否正确。

我们可以在连接数据库时,检查连接参数是否正确或者我们可以在Oracle Net Manager中查看连接参数是否正确。

如果连接参数正确,我们还需要检查网络是否正常,确认网络连接是否畅通。

如果以上两种情况都没有问题,我们还需要检查数据库是否正常运行。

我们可以查看数据库的状态,如果数据库出现异常,我们需要重启数据库或者采取其他措施来解决问题。

最后,我们可以通过更新Oracle客户端软件,或者重新安装Oracle客户端软件来解决这个错误。

如果这些方法都不能解决问题,我们可以联系Oracle技术支持人员,寻求帮助。

总之,“operation generated oracle error 12154”是Oracle 数据库中常见的错误代码,它表示数据库连接失败,无法访问数据库。

在遇到这个错误时,我们需要仔细检查连接参数、网络连接和数据库状态等,采取相应的措施来解决问题。

如果需要,我们还可以联系
Oracle技术支持人员,寻求帮助。

Oracle错误——ORA-03113:在通信信道文件的末尾解决方案

Oracle错误——ORA-03113:在通信信道文件的末尾解决方案

Oracle错误——ORA-03113:在通信信道⽂件的末尾解决⽅案起源今天跟往常⼀样,登陆PL/SQL,确登陆失败,出现⼀个错误“ORA-01034”和“ORA-27101”如图:然后就就通过命令提⽰符去登陆Oracle,去查看怎么回事,然后问题进⼀步出现。

错误“ORA-03113:通信通道的⽂件结尾进程 ID:6320 回话 ID :191 序列号:3”。

问题根源Oracle出现错误。

于是去错误⽇志⾥去找问题根源:在 e:\app\kang\diag\rdbms\oracle\oracle\trace\⽬录下找到oracle_ora_6320.trc⽂件。

打开显⽰错误⽇志:Trace filee:\app\kang\diag\rdbms\oracle\oracle\trace\oracle_ora_6320.trcOracle Database 11gEnterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith thePartitioning, OLAP, Data Mining and Real Application Testing optionsWindows NT VersionV6.1 Service Pack 1CPU : 4 - type 8664, 2 PhysicalCoresProcess Affinity : 0x0x0000000000000000Memory (Avail/Total):Ph:2805M/6087M, Ph+PgF:6761M/12173MInstance name: oracleRedo thread mountedby this instance: 1Oracle processnumber: 19Windows thread id:6320, image: ORACLE.EXE (SHAD)*** 2014-08-1608:18:55.461*** SESSIONID:(191.3) 2014-08-16 08:18:55.461*** CLIENT ID:()2014-08-16 08:18:55.461*** SERVICE NAME:()2014-08-16 08:18:55.461*** MODULENAME:(sqlplus.exe) 2014-08-16 08:18:55.461*** ACTION NAME:()2014-08-16 08:18:55.461ORA-19815: 警告:db_recovery_file_dest_size 字节 (共 4102029312 字节) 已使⽤ 100.00%, 尚有 0 字节可⽤。

oracle server session terminated by fatal error

oracle server session terminated by fatal error

oracle server session terminated byfatal error“Oracle server session terminated by fatal error”是Oracle数据库系统出现的一种错误提示,该错误通常表明,在对数据库进行读取、写入、更新等操作时,系统发生了严重的故障。

以下是围绕这一错误提示的详细分步骤阐述:1. 确认错误提示当系统发生“oracle server session terminated by fatal error”错误时,系统会自动弹出一个错误提示框,告诉您出现了一个严重的故障。

首先,您需要确认这个错误提示。

2. 记录错误编号在错误提示框中,系统会为错误分配一个唯一的错误编号。

这个编号是您解决问题的关键。

请务必记录下此编号,以便迅速查找有关解决此错误的文档和论坛帖子。

3. 关闭应用程序当您确认错误提示后,请关闭运行此应用程序的计算机。

在某些情况下,应用程序的某些进程可能会继续运行,进一步破坏数据库。

为了避免进一步的损害,请关闭应用程序。

4. 检查网络连接在某些情况下,出现“orac le server session terminated by fatal error”错误可能是由于网络连接问题造成的。

请检查您的网络连接是否正常。

如果您发现网络出现了问题,请解决这些问题以恢复连接。

5. 恢复数据库如果您确认出现了“oracle server session terminated by fatal error”错误是由于数据库故障造成的,请恢复数据库。

有几种方法可以恢复数据库:a. 运行Oracle Repair命令。

此命令将检查数据库并尝试恢复任何受损的表格和索引。

b. 使用Oracle RMAN备份和恢复工具。

这个工具可以从备份映像中恢复数据库。

c. 如果上述方法都无法恢复数据库,请联系Oracle技术支持。

6. 避免未来的错误为了避免未来的“oracle server session terminated byfatal error”错误,请执行以下操作:a. 对数据库进行定期维护。

oracle以nomal方式连接出错解决方法

oracle以nomal方式连接出错解决方法

出现的问题:链接为normal时,提示错误:ORA-01017,用户名/口令无效,登陆被拒绝。

但是链接为sysdba时,可以正常链接上去。

可能的原因:可能normal用户的密码已经过期,或者用户权限没有开通,可重新设置一下。

怎么查看dba相关的用户信息?Select * from dba_users; 通过这条语句可以查看用户信息,包括权限,创建时间,过期时间,表空间等等信息…那么normal用户的密码为什么会过期呢?先看一下我创建用户是的SQL语句:CREATE USER "AAA" PROFILE "DEFAULT"IDENTIFIED BY "AAA" DEFAULT TABLESPACE "USER"TEMPORARY TABLESPACE "TEMP" QUOTA UNLIMITED ON "USER"ACCOUNT UNLOCK;GRANT "CONNECT" TO "AAA";GRANT "RESOURCE" TO "AAA";GRANT "DBA" TO "AAA";注意看Oracle里面在创建用户时我使用的是Default Profile,而这个默认的配置里面,密码的过期策略是180天过期。

【原因/触发因素】确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。

【影响和风险】影响密码过期后,业务进程连接数据库异常,影响业务使用。

问题发生频率数据库密码过期后,业务进程一旦重启会提示连接失败。

【解决方案】按照如下步骤进行操作:1、查看用户的proifle是哪个,一般是default:sql>SELECT username,PROFILE FROM dba_users;2、查看指定概要文件(如default)的密码有效期设置:sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' ANDresource_name='PASSWORD_LIFE_TIME';3、将密码有效期由默认的180天修改成“无限制”:sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;修改之后不需要重启动数据库,会立即生效。

Oracle连接错误故障排除讲解

Oracle连接错误故障排除讲解

Oracle 连接错误故障排除产品:Tableau Desktop, Tableau Server版本:All上次修改日期:24 Aug 2015Oracle 驱动程序需要具有唯一格式的特定连接语句。

然而,可能并不总是需要TNSNames.ora 文件。

例如,如果仅安装了 Tableau 提供的 Oracle 文件,且不具有独立的 Oracle 客户端。

Oracle 错误消息涉及 TNSNames.ora 文件。

通常,纠正“高级 Oracle 连接”对话框中的路由或命名语法,或者使用 .WORLD 数据库全名,即可解决大部分 Oracle 连接问题。

如果连接错误需要进一步进行故障排除,请参阅下面列出的 4 种常见连接错误。

•ORA-03113:通信信道上的文件结尾•ORA-12154:TNS:无法解决指定的连接标识符 HOST 值不正确或者全局名称不正确或未知的问题•ORA-12514:TNS 侦听器当前无法识别连接描述符中请求的服务SERVICE 值不正确•ORA-12541:TNS:无侦听器PORT 值不正确•ORA-00932:数据类型不一致ORA-03113:通信信道上的文件结尾ORA-03113 是任何干扰 Oracle 会话的问题的全捕获类型错误。

造成该错误的原因可能有很多。

请参阅下表,了解故障排除指南。

•请参阅特定于此错误的 Oracle 文档:我的 Oracle 支持。

o请参阅 Oracle 的 B 常见错误故障排除页面。

•Oracle 建议您检查网络问题并审查 SQL*Net 设置。

•如果连接到 Oracle 9.2.0.5,则在很多情况下,造成此错误的主要原因是 Oracle 错误 3010227。

请要求 Oracle 数据库管理员应用 Oracle修补程序 9.2.0.6 或适合您服务器的另一个修补程序。

•将 Oracle 初始化参数“STAR_TRANSFORMATION_ENABLED”设置为FALSE。

Oracle常见错误及解决办法

Oracle常见错误及解决办法Ø简介本⽂主要记录 Oracle 常见错误及解决办法,包括以下内容:1.ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效2.ORA-01034: ORACLE not available3.ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated(启动数据库报错)4.ORA-12154: TNS: ⽆法解析指定的连接标识符5.ORA-12514: TNS:listener does not currently know of service requested in connect descriptor6.ORA-12541: TNS:no listener7.ORA-12560: TNS: 协议适配器错误8.ORA-27125: unable to create shared memory segment(启动数据库报错)9.ORA-28040: 没有匹配的验证协议((11g dblink 连接 12c 时)1.ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效n错误原因由于其他 Session 已经对⽬标表做了操作,并且已经有排他锁在表上了,所以新的 Session ⽆法再对表进⾏DDL操作。

n解决办法以 system ⽤户登录:1)查询被锁的会话IDselect session_id from v$locked_object;2)查询 sid, serial# 字段SELECT sid, serial#, username, osuser FROM v$session where sid = 9;3)将锁定的会话关闭ALTER SYSTEM KILL SESSION '9,99';2.ORA-01034: ORACLE not available1)检查当前数据库实例是否启动3.ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated(启动数据库报错)n错误描述SQL> startupORA-01261: Parameter db_recovery_file_dest destination string cannot be translatedORA-01262: Stat failed on a file destination directoryLinux-x86_64 Error: 2: No such file or directoryn解决办法(没有效果)不知道是什么原因,导致 $ORACLE_BASE/fast_recovery_area 少了这个⽬录,⽽导致了这个错误。

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 为 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_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: 存档器错误。

oracle vba run time error 3706 引用

oracle vba run time error 3706 引用错误3706是Oracle数据库中的一个常见错误。

在VBA中运行Oracle 数据库时,如果出现此错误,通常表示无法识别或引用所需的对象或变量。

本文将逐步解释此错误的原因,并给出一些可能的解决方法,并提供一些相关的背景知识和示例代码。

第一步:了解错误3706的常见原因在VBA中运行Oracle数据库时,遇到错误3706通常是由以下原因之一引起的:1. 未正确引用Oracle对象库:在使用Oracle数据库之前,需要在VBA 中引用Oracle对象库。

如果未正确引用库,将无法识别Oracle对象,从而导致错误3706。

2. 对象或变量名称拼写错误:在VBA代码中,对象和变量的名称必须正确拼写,否则会出现错误3706。

确保在代码中正确引用和拼写Oracle对象和变量。

3. 对象或变量不存在:如果引用的对象或变量在Oracle数据库中不存在,那么在执行相关操作时将导致错误3706。

确保引用的对象或变量在Oracle数据库中存在。

第二步:解决错误3706的方法一旦了解了错误3706的常见原因,接下来可以尝试以下解决方法:1. 引用正确的Oracle对象库:在VBA中引用正确的Oracle对象库非常重要。

要在VBA中引用Oracle对象库,可以按照以下步骤进行操作:a. 在VBA编辑器中,点击"工具"菜单,然后选择"引用"。

b. 在"引用"对话框中,找到并勾选"Oracle Objects for OLE"选项。

c. 点击"确定"按钮保存更改。

这样,VBA将能够正确识别和引用Oracle对象。

2. 检查对象和变量的拼写:确保在VBA代码中正确引用和拼写Oracle 对象和变量的名称。

可以通过检查代码并与数据库中的对象和变量进行对比来确定是否存在拼写错误。

Oracle实例启动时报错:ORA-32004的解决方法

Oracle实例启动时报错:ORA-32004的解决⽅法
前⾔
前段时间,早上刚到公司,打开电脑就发现启动Oracle实例的时候报了下⾯的错误:
SQL> startup nomount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-16032: parameter LOG_ARCHIVE_DEST destination string cannot be translated
ORA-07286: sksagdi: cannot obtain device information.
Linux-x86_64 Error: 2: No such file or directory
哎呀,⼀下⼦就着急了,原来还好好地怎么突然就这样了呢?我回忆了⼀下,原来是我之前修改过参数⽂件spfile,本来是不需要修改的被我动了,估计问题就出在这⾥了。

下⾯我把报错贴出来,并附上解决⽅案,⼤家遇到这个问题就这么解决就可以了。

解决⽅案:
①先⽤静态参数⽂件pfile启动数据库
②利⽤静态参数⽂件重建动态参数⽂件spfile并重启数据库
由上⾯两个步骤,即解决了数据库实例启动报错的问题!
怎么样?是不是很简单呢?
好了,快去练习⼀下吧!
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。

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

ORA-01078 failure in processing system parameters LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initshanghai

cp /u01/app/oracle/product/admin/spfile/init.ora. /u01/app/oracle/product/10.2.0/db_1/dbs/initshanghai.ora ORA-01102 cannot mount database in EXCLUSIVE mode

出现1102错误可能有以下几种可能: 一、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;

二、说明Oracle被异常关闭时,有资源没有被释放,一般有以下几种可能, 1、 Oracle的共享内存段或信号量没有被释放; 2、 Oracle的后台进程(如SMON、PMON、DBWn等)没有被关闭; 3、 用于锁内存的文件lk和sgadef.dbf文件没有被删除。

首先,虽然我们的系统是HA系统,但是备节点的实例始终处在关闭状态,这点通过在备节点上查数据库状态可以证实。 其次、是因系统掉电引起数据库宕机的,系统在接电后被重启,因此我们排除了第二种可能种的1、2点。最可疑的就是第3点了。 查$ORACLE_HOME/dbs目录: $ cd $ORACLE_HOME/dbs $ ls sgadef* sgadef* not found $ ls lk* lkORA92

果然,lk文件没有被删除。将它删除掉 $ rm lk*

再启动数据库,成功。

如果怀疑是共享内存没有被释放,可以用以下命令查看: $ipcs -mop IPC status from /dev/kmem as of Thu Jul 6 14:41:43 2006 T ID KEY MODE OWNER GROUP NATTCH CPID LPID Shared Memory: m 0 0x411c29d6 --rw-rw-rw- root root 0 899 899 m 1 0x4e0c0002 --rw-rw-rw- root root 2 899 901 m 2 0x4120007a --rw-rw-rw- root root 2 899 901 m 458755 0x0c6629c9 --rw-r----- root sys 2 9113 17065 m 4 0x06347849 --rw-rw-rw- root root 1 1661 9150 m 65541 0xffffffff --rw-r--r-- root root 0 1659 1659 m 524294 0x5e100011 --rw------- root root 1 1811 1811 m 851975 0x5fe48aa4 --rw-r----- oracle oinstall 66 2017 25076

然后它ID号清除共享内存段: $ipcrm –m 851975

对于信号量,可以用以下命令查看: $ ipcs -sop IPC status from /dev/kmem as of Thu Jul 6 14:44:16 2006 T ID KEY MODE OWNER GROUP Semaphores: s 0 0x4f1c0139 --ra------- root root ... ... s 14 0x6c200ad8 --ra-ra-ra- root root s 15 0x6d200ad8 --ra-ra-ra- root root s 16 0x6f200ad8 --ra-ra-ra- root root s 17 0xffffffff --ra-r--r-- root root s 18 0x410c05c7 --ra-ra-ra- root root s 19 0x00446f6e --ra-r--r-- root root s 20 0x00446f6d --ra-r--r-- root root s 21 0x00000001 --ra-ra-ra- root root s 45078 0x67e72b58 --ra-r----- oracle oinstall

根据信号量ID,用以下命令清除信号量: $ipcrm -s 45078

如果是Oracle进程没有关闭,用以下命令查出存在的oracle进程: $ ps -ef|grep ora oracle 29976 1 0 Jun 22 ? 0:52 ora_dbw0_ora92 oracle 29978 1 0 Jun 22 ? 0:51 ora_dbw1_ora92 oracle 5128 1 0 Jul 5 ? 0:00 oracleora92 (LOCAL=NO) ... ...

然后用kill -9命令杀掉进程 $kill -9

总结: 当发生1102错误时,可以按照以下流程检查、排错: 1.如果是HA系统,检查其他节点是否已经启动实例; 2.检查Oracle进程是否存在,如果存在则杀掉进程; 3.检查信号量是否存在,如果存在,则清除信号量; 4.检查共享内存段是否存在,如果存在,则清除共享内存段; 5.检查锁内存文件lk和sgadef.dbf是否存在,如果存在,则删除。 解决办法 ORA-01138 RMAN-03009 The error was due to the database being open on another instance. ORA-01138: database must either be open in this instance or not at all

When I shut down the other instance on another node 2 and mounted the instance on node 1 the backup worked.

Thanks for the reply anyway. Just to mention it explicitly (as rac is only mentioned in the file paths): The error is due to another instance of the same RAC beeing open. That is not allowed for an offline backup. The easiest is probably to stop all other instances using srvctl. 在rac下 我把实例2关闭了就可以了srvctl stop instance -d ora -i ora2 关闭实例 DataGuard 利用Rman创建standby的时候出错

ORA-19600 ORA-19601 备库创建完成以后要记得加上redo Crs每次重启后状态变成unknow 在linux环境下装过很多次rac,总是遇到重启节点后crs服务unknow的状态,需要手工重启crs服务才行。有没有大侠指导下,怎么解决这个问题。重启后使服务都为online状态。

./crs_stop 停掉UNKONW的资源,再./crs_start重启,保证每个资源都是ONLINE,下次重启就会是ONLINE。每次我都是这样搞的。 另外,我以前在公司时,除了三个最基本的资源(VIP、ONS、GSD),其他资源都不加入资源列表。全部手动启动。 每次重启,CRS启动成功后,手动启ASM、数据库、监听。这样管理上简单些。 Crs_stop –all停掉所有的资源后 还需要手动停止掉gsd ons vip srvctl stop nodeapps –n rac1 srvctl stop nodeapps –n rac2 然后再启动资源就可以了

Sqlplus远程连接 ORA-01031 Sqlplus sys/oracle@ shanghai

最后发现是密码文件写错了 密码文件的格式是 orapwSID SID是你的SID(文件名字例如orapwshanghai sid是上海 千万不要写成orapwdshanghai [oracle@shanghai dbs]$ orapwd file=orapwracdb password=oracle entries=3; 搞定..

sqlplus "/ as sysdba" 连不上,报ora-01031:insufficient privileges解决方法

注意多个数据库实例时候,set ORACLE_SID='', 1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上

2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。 3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE . 4. 看看是否需要使用orapassw生成口令文件 .

一种解决方法案例: 1、检查系统参数: SQL> show parameter password NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_login_passwordfile string EXCLUSIVE 2、 select * from v$pwfile_users; SQL> 为空 3、 SQL> grant sysdba to sys; grant sysdba to sys * ERROR at line 1: ORA-01994: GRANT failed: password file missing or disabled 4、建立password文件 D:/>orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp oswong entries=10 5、 SQL> select * from v$pwfile_users; USERNAME SYSDB SYSOP ------------------------------ ----- ----- SYS TRUE TRUE SYS正常显示出来。 6、重新在远程以SYSDBA登录,可正常使用。

相关文档
最新文档