Oracle常见问题及其解决方法(doc 10页)

合集下载

oracle常见故障处理手册

oracle常见故障处理手册

oracle常见故障处理手册一、数据库启动与关闭故障1.数据库启动失败原因:可能是由于Oracle数据库配置不正确、系统环境变量设置不正确、初始化参数设置不正确等原因导致。

解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。

2.数据库关闭失败原因:可能是由于数据库事务未完成、数据库锁未释放等原因导致。

解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。

二、连接故障1.连接不成功原因:可能是由于网络连接问题、数据库用户名或密码错误、数据库实例名错误等原因导致。

解决方法:检查网络连接是否正常,检查数据库用户名和密码是否正确,检查数据库实例名是否正确。

2.连接断开原因:可能是由于网络不稳定、数据库服务器异常等原因导致。

解决方法:检查网络连接是否正常,检查数据库服务器是否正常。

三、数据恢复故障1.数据丢失原因:可能是由于数据库损坏、磁盘故障等原因导致。

解决方法:根据数据丢失的原因,选择相应的恢复方法,如使用备份恢复数据或使用日志文件恢复数据。

2.数据不一致原因:可能是由于数据修改不一致、数据复制不一致等原因导致。

解决方法:检查数据修改和复制的日志文件,找到不一致的数据并修复。

四、性能优化故障1.性能下降原因:可能是由于CPU占用过高、内存占用过高、磁盘IO过大等原因导致。

解决方法:优化数据库配置参数,如增加内存、优化磁盘IO等。

2.查询速度慢原因:可能是由于查询语句不优化、表没有建立索引等原因导致。

解决方法:优化查询语句,为表建立索引等。

五、存储管理故障1.存储空间不足原因:可能是由于磁盘空间不足、表空间不足等原因导致。

解决方法:清理磁盘空间,增加磁盘空间,调整表空间大小等。

2.数据文件丢失或损坏原因:可能是由于磁盘故障、人为误删除或修改等原因导致。

解决方法:使用备份恢复数据文件或修复损坏的数据文件。

六、网络连接故障1.网络连接中断原因:可能是由于网络设备故障、网络连接线故障等原因导致。

ORACLE 数据库故障解决方案

ORACLE 数据库故障解决方案

ORACLE 数据库故障解决方案一、引言在使用ORACLE数据库的过程中,难免会遇到各种故障,这些故障可能导致数据库无法正常运行,影响业务的连续性和数据的完整性。

因此,本文将介绍一些常见的ORACLE数据库故障,并提供相应的解决方案,以帮助管理员和开发人员快速恢复数据库运行。

二、故障类型及解决方案1. 数据库无法启动故障现象:尝试启动数据库时,遇到错误提示,无法成功启动。

解决方案:1) 检查数据库实例是否正常关闭,如果没有正常关闭,使用SHUTDOWN命令关闭数据库实例。

2) 检查数据库参数文件是否正确配置,确保参数文件路径正确,参数设置正确。

3) 检查数据库控制文件是否损坏,如果损坏,可以尝试恢复备份的控制文件。

4) 检查数据库日志文件是否损坏,如果损坏,可以尝试恢复备份的日志文件。

5) 检查数据库文件是否损坏,如果损坏,可以尝试恢复备份的数据文件。

2. 数据库性能下降故障现象:数据库查询响应时间延长,业务处理变慢。

解决方案:1) 分析数据库性能指标,如CPU利用率、内存利用率、磁盘IO等,找出性能瓶颈。

2) 优化SQL语句,如添加索引、重写查询语句等,提高查询效率。

3) 调整数据库参数,如增加SGA大小、调整PGA大小等,优化内存使用。

4) 分析数据库锁等待情况,解决锁冲突问题,提高并发处理能力。

5) 定期收集数据库统计信息,重新生成优化器统计信息,提高查询计划的准确性。

3. 数据库备份恢复故障现象:数据库数据丢失或损坏,需要进行数据恢复。

解决方案:1) 检查数据库备份情况,如果有可用的备份,可以尝试进行恢复操作。

2) 使用RMAN工具进行数据库备份和恢复操作,可以选择完全恢复或部分恢复。

3) 如果没有备份,可以尝试使用闪回技术进行数据恢复,还原到历史状态。

4) 如果数据文件损坏,可以尝试使用数据文件的备份进行恢复,或者使用RMAN进行数据文件的恢复。

5) 恢复完成后,进行数据一致性检查,确保数据库的完整性。

ORACLE 数据库故障解决方案

ORACLE 数据库故障解决方案

ORACLE 数据库故障解决方案一、引言在进行数据库管理和维护过程中,不可避免地会遇到各种故障和问题。

本文将介绍针对ORACLE数据库常见故障的解决方案,包括数据库无法启动、数据丢失、性能下降等问题的解决方法。

二、数据库无法启动的解决方案1. 检查数据库实例是否正常运行。

可以使用SQL*Plus或者Oracle Enterprise Manager来连接数据库实例,确认实例是否处于正常运行状态。

如果实例没有启动,可以使用启动命令来启动实例。

2. 检查数据库监听器是否正常运行。

监听器负责接收客户端的连接请求并将其转发给数据库实例。

如果监听器没有启动,可以使用监听器启动命令来启动监听器。

3. 检查数据库参数设置是否正确。

可以通过查看数据库参数文件或者使用SQL*Plus连接数据库实例并执行"show parameter"命令来查看数据库参数设置。

如果参数设置不正确,可以使用ALTER SYSTEM命令来修改参数设置。

4. 检查数据库日志文件。

数据库日志文件中记录了数据库的运行状态和错误信息。

可以通过查看数据库日志文件来了解数据库启动失败的原因,并根据错误信息采取相应的解决措施。

三、数据丢失的解决方案1. 恢复备份数据。

如果数据库存在备份,可以使用备份数据来恢复丢失的数据。

可以使用Oracle Recovery Manager(RMAN)工具来进行备份和恢复操作。

2. 使用闪回技术。

ORACLE数据库提供了闪回技术,可以将数据库恢复到指定的时间点或者指定的事务之前的状态。

可以使用闪回查询(Flashback Query)或者闪回表(Flashback Table)来恢复丢失的数据。

3. 使用日志文件进行恢复。

ORACLE数据库的日志文件中记录了数据库的所有操作,可以使用日志文件进行数据恢复。

可以使用日志文件恢复(Redo Log Recovery)或者逻辑恢复(Logical Recovery)来恢复丢失的数据。

Oracle的常见错误及解决办法

Oracle的常见错误及解决办法

Oracle的常见错误及解决办法ORA-12528:TNS:listener: all appropriate instances are blocking new connectionsORA-12528问题是因为监听中的服务使⽤了动态服务,实例虽然启动,但没有注册到监听。

实例是通过PMON进程注册到监听上的,⽽PMON进程需要在MOUNT状态下才会启动。

所以造成了上⾯的错误。

解决这个问题,有三种⽅法:1、把监听设置为静态;2、在tnsnames.ora中追加(UR=A);3、重新启动服务;⽅法1、通过修改listener.ora的参数,把listener.ora动态注册设置为静态注册,然后重新启动监听# listener.ora Network Configuration File: $ORACLE_HOME\network\admin\listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = [DBNAME])(ORACLE_HOME = [$ORACLE_HOME])(SID_NAME = [SID])))静态注册的风险:如果在instance运⾏中,lisener重新启动,就找不到instance了。

静态注册需要先启动lisener,再启动instance。

且静态模式下,lisener status显⽰的是unknown⽅法2、启动到nomount状态,通过修改tnsnames.ora的参数# tnsnames.ora Network Configuration File: $ORACLE_HOME\network\admin\tnsnames.ora# Generated by Oracle configuration tools.SYK =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = SYK)(UR=A)))然后连接上数据库SQL>alter database mount;SQL>alter database open;⽅法3、重启ORACLE或者重启ORACLE服务在oracle帐户下依序执⾏如下命令:sqlplus / as sysdba;//在其它帐户(如root)下执⾏可能会报错(ORA-01031)因为这些帐户没有在dba组中shutdown immediate;startup;oracle实例名: error while loading shared libraries: libskgxp10.so: cannot open shared object file: No such file or directory是环境变量LD_LIBRARY_PATH的问题。

oracle常见故障处理

oracle常见故障处理

oracle常见故障处理
--1.语句级故障,通常为DML ,DQL,DCL,DDL等等
⽆效数据 -->使⽤数据符合相关约束,满⾜值域的数据
缺少权限 -->给予⽤户所需的权限
空间分配问题 -->使⽤alter session enable resumable,增加⽤户配额,增加表空间⼤⼩
应⽤程序逻辑错误 -->修正逻辑错误
--2.⽤户进程故障
⽤户⾮登出的异常退出
⽤户会话异常终⽌
程序错误导致会话结束
对于上述错误,实例后台进程PMON会⾃动回滚未提交的事务,并释放相关锁资源
--3.⽹络故障
侦听器故障 -->配置⼀个备份的侦听器,connect-time故障转移
⽹络接⼝卡故障 -->使⽤多个⽹络接⼝卡
⽹络连接故障(路由) -->配置⼀个备份的⽹络连接
--4.⽤户错误
⽤户意外删除或修改数据 -->回滚或使⽤闪回查询来恢复
⽤户删除表 -->从回收站闪回删除
--5.介质故障
磁盘故障
磁盘控制器故障
删除或损坏数据⽂件
可能的解决⽅案,使⽤联机事务⽇志从备份恢复受影响的⽂件或恢复数据⽂件到新的物理位置
--6.实例故障
电源负载故障
硬件故障
后台进程失败
异常关闭数据库
解决⽅案,使⽤startup 重新启动实例。

实例实现⾃动恢复,根据联机⽇志⽂件前滚提交的事务,回滚未提交的事务查看告警⽇志、跟踪⽇志等找出出现故障的原因。

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常见错误及解决办法

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数据库故障解决方案

ORACLE数据库故障解决方案Oracle数据库是当前世界上应用最广泛的关系型数据库之一,但在日常运维中,难免会遇到各种故障,如数据损坏、数据库停机等。

因此,能够迅速、准确地解决数据库故障至关重要。

本文将介绍几种常见的Oracle数据库故障解决方案。

1.数据库无法启动当Oracle数据库无法启动时,往往是由于以下原因导致的:数据库实例未启动、数据库文件损坏或不完整、数据库连接问题等。

我们可以采取以下步骤来解决这个问题:- 检查错误日志:查看数据库的错误日志文件(alert.log)以获取详细的错误信息,确定故障原因。

- 检查数据库实例:在Oracle数据库中,数据库实例由后台进程(如后台进程和前台进程)组成。

如果实例未启动,可以使用SQL*Plus 工具来手动启动实例,并确保每个后台进程正常运行。

- 恢复数据库文件:如果数据库文件损坏或不完整,可以使用Oracle提供的RMAN工具来恢复文件,或者使用备份文件进行恢复。

- 检查数据库连接:使用SQL*Plus工具检查数据库连接是否正常,如果存在连接问题,可以尝试重新配置网络服务或重启数据库监听器。

2.数据损坏数据损坏是Oracle数据库常见的故障之一,可能由硬件故障、软件错误、人为操作错误等原因引起。

当发生数据损坏时,可以使用以下方案进行修复:-恢复备份数据:如果有备份数据,则可以通过将备份数据恢复到故障数据库来解决数据损坏问题。

尽量选择最新的备份数据,以尽可能减少数据丢失。

- 利用日志文件:如果无法恢复备份数据,可以使用Oracle的恢复管理工具RMAN来利用归档日志文件进行恢复。

RMAN可以将日志文件中的变更应用到数据库中,避免数据丢失。

-手动修复:在一些情况下,可能需要手动修复数据。

具体操作方法取决于数据损坏的程度和类型,需要根据具体的情况采取相应的措施。

3.性能问题Oracle数据库性能问题常常涉及到数据库的优化、调整和配置。

下面是解决性能问题的一些常见方法:-查询优化:通过优化SQL查询语句,可以提高查询的性能。

Oracle常见死锁发生的原因以及解决方法

Oracle常见死锁发生的原因以及解决方法

Oracle常见死锁发生的原因以及解决方法死锁是指在并发程序中,两个或多个进程因为争夺系统资源而陷入无限等待的状态,从而无法继续执行下去。

在Oracle数据库中,死锁是一个非常常见的问题,它会导致系统性能下降,甚至造成系统崩溃。

本文将详细介绍Oracle常见死锁发生的原因以及解决方法。

一、死锁发生的原因1.竞争资源:当多个进程同时请求相同的资源时,可能会导致死锁的发生。

例如,如果两个进程同时请求一个表的写锁,那么它们就会陷入死锁状态。

2.锁的顺序:当多个进程按照不同的顺序请求锁时,可能会导致死锁的发生。

例如,如果进程A先请求资源X,再请求资源Y,而进程B先请求资源Y,再请求资源X,那么它们就会陷入死锁状态。

3.锁的持有时间:当一个进程持有一个锁,并且在等待其他资源时继续保持该锁,可能会导致死锁的发生。

例如,如果进程A持有资源X的锁,并且在等待资源Y时继续保持该锁,而进程B持有资源Y的锁,并且在等待资源X时继续保持该锁,那么它们就会陷入死锁状态。

二、死锁的解决方法1. 死锁检测和解除:Oracle数据库提供了死锁检测和解除的机制。

当一个进程请求一个资源时,数据库会检查是否存在死锁。

如果存在死锁,数据库会选择一个进程进行回滚,解除死锁状态,并且通知其他进程重新尝试获取资源。

2.超时设置:为了避免死锁的发生,可以设置超时时间。

当一个进程请求一个资源时,如果在指定的超时时间内无法获取资源,那么就放弃该请求,并且释放已经持有的资源。

这样可以防止死锁的发生,但是会增加系统的开销。

3.锁的顺序:为了避免死锁的发生,可以规定所有进程按照相同的顺序请求锁。

例如,可以规定所有进程按照资源的名称进行排序,然后按照顺序请求锁。

这样可以避免死锁的发生,但是可能会影响系统的性能。

4.锁的粒度:为了避免死锁的发生,可以尽量减小锁的粒度。

例如,可以将一个大的锁分解成多个小的锁,这样可以减少锁的冲突,降低死锁的概率。

但是需要注意的是,锁的粒度过小可能会导致系统的性能下降。

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

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常见问题及解决方法(个人遇到问题解决经验)

Oracle常见问题及解决方法(个人遇到问题解决经验)

iSQL*Plus URL:http://10.10.43.137:5560/isqlplusEnteprise Manager 10g Database Control URL:http://information:5500/emOracleDBConsoleorcl不能启动,报错误码2解决策略解决策略一:修改你的主机参数文件修改一下:C:\WINDOWS\system32\drivers\etc下的host文件.如果没有的话就自己加一个IP和你的计算机名对应,如果已有了就把你的IP地址和你的计算机名对应起来.如:# copyright (c) 1993-1999 microsoft corp.## this is a sample hosts file used by microsoft tcp/ip for windows.## this file contains the mappings of ip addresses to host names. each# entry should be kept on an individual line. the ip address should# be placed in the first column followed by the corresponding host name.# the ip address and the host name should be separated by at least one# space.## additionally, comments (such as these) may be inserted on individual# lines or following the machine name denoted by a '#' symbol.## for example:## 102.54.94.97 # source server# 38.25.63.10 # x client host127.0.0.1 localhost10.10.43.137 information解决策略二:启动电脑,到登陆界面,电脑报有个服务启动失败,电脑没有新装软件,周六还没有问题,怎么突然报这个错误?于是到事件查看器中看看什么问题,显示是OracleDBConsoleorcl启动失败,到服务里一看,确实没有启动。

oracle安装及使用常见问题及解决方案

oracle安装及使用常见问题及解决方案

第一部分:1、win7_oracle11g_64位连接32位PLSQL_Developer解决思路:1)下载instantclient-basic-win32-11.2.0.1.0文件并解压。

复制到数据库安装的文件夹下的product文件夹下。

2)然后找到两个文件listener.ora和tnsnames.ora。

在…\product\11.2.0\dbhome_1\NETWORK\ADMIN里面。

都复制到…\product\instantclient_11_2的下面。

注意!!!以后使用的listener.ora和tnsnames.ora文件都是instantclient_11_2路径下的。

3)然后找到PLSQL_Developer安装的目录,在里面新建一个记事本,写入以下类似代码:@echo offset path=E:\app\Administrator\product\instantclient_11_2setORACLE_HOME=E:\app\Administrator\product\instantclient_11_2setTNS_ADMIN=E:\app\Administrator\product\instantclient_11_2set NLS_LANG=AMERICAN_AMERICA.AL32UTF8start plsqldev.exe注意!!!!我的instantclient_11_2地址是:E:\app\Administrator\product\instantclient_11_2而你的跟我的可能不一样,所以要修改成你的instantclient_11_2的路径!写好后,将你的记事本名称改为start.bat然后点击运行。

如果PLSQL Developer没有打开,请仔细检查你上面的步骤和代码是否正确,然后在运行start.bat。

4)打开PLSQL_Developer后,取消登陆,进入主界面。

Oracle数据库操作常见错误及解决方案

Oracle数据库操作常见错误及解决方案

Oracle数据库操作常见错误及解决方案这个错误通常发生在尝试查询一个表或视图但该表或视图不存在时。

解决方案是确保表或视图存在,并且用正确的名称引用它们。

使用DESCRIBE命令或查询SYS.ALL_TABLES视图来验证表或视图是否存在。

另外,确保用户有足够的权限来访问表或视图。

这个错误发生在使用无效的用户名或密码来连接到Oracle数据库时。

解决方案是确保提供了正确的用户名和密码,并且用户在数据库中存在且密码正确。

可以通过使用SQL*Plus或Oracle SQL Developer来验证用户名和密码是否正确。

这个错误通常发生在尝试使用无效的数字进行数值计算时,例如将一个字符串转换为数字时。

解决方案是确保提供的值是有效的数字。

可以使用TO_NUMBER函数将字符串转换为数字,并使用TO_CHAR函数将数字转换为字符串。

这个错误通常发生在尝试向一个非空列插入NULL值时。

解决方案是确保插入的值不为NULL,并与列的数据类型匹配。

如果希望列允许NULL 值,可以修改表定义以允许NULL值。

这个错误通常发生在使用无效的列名或对象名称时。

解决方案是确保引用的列名或对象名称存在且正确。

可以使用DESCRIBE命令或查询SYS.ALL_TAB_COLUMNS视图来验证列名或对象名称是否正确。

这个错误通常发生在使用不存在的函数、过程或包体时。

解决方案是确保引用的函数、过程或包体存在且正确。

可以使用DESCRIBE命令或查询SYS.ALL_PROCEDURES和SYS.ALL_PACKAGES视图来验证对象是否存在。

这个错误通常发生在无法解析TNS服务名称时。

解决方案是确保TNS 服务名称正确,并且TNS配置文件(tnsnames.ora)中包含了正确的服务定义。

可以使用lsnrctl命令来验证TNS服务是否可用。

这个错误通常发生在无法连接到Oracle数据库时。

解决方案是确保Oracle数据库监听程序正在运行,并且可以通过网络访问。

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安装常见问题及解决方案
)
)
原来本机的ip发生改变后,就出现了上述问题,改变数据库的监听ip地址:
把(ADDRESS = (PROTOCOL = TCP)(HOST = 0.5.0.5)(PORT = 1521))
改成
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
在用PL/SQL Developer连接数据库时出现
“ORA-12541:TNS:无监听程序”错误。
1、检查listener.log日志
发现下面错误:
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:25:26
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
解决方案 --> 1 :
ORACLE10G数据库TNS链接不上(TNS无法解释)
我们常遇到由于网络断开或者机器IP变化或其他原因造成oracle数据库TNS链接不上的情况。有的时候甚至重装oracle数据库也没用,我在实践中总结了两点处理的经验:
1、由于IP变化造成的,那么重新配置一下监听就可以了
==》问题2:
创建数据库实例时报:
无法在指定的范围内为以下进程分配端口: JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938> 1:
==》问题3:
(PROGRAM = extproc)

oracle安装及使用常见问题及解决方案

oracle安装及使用常见问题及解决方案

oracle安装及使用常见问题及解决方案第一部分:1、win7_oracle11g_64位连接32位PLSQL_Developer解决思路:1)下载instantclient-basic-win32-11.2.0.1.0文件并解压。

复制到数据库安装的文件夹下的product文件夹下。

2)然后找到两个文件listener.ora和tnsnames.ora。

在…\product\11.2.0\dbhome_1\NETWORK\ADMIN里面。

都复制到…\product\instantclient_11_2的下面。

注意以后使用的listener.ora和tnsnames.ora文件都是instantclient_11_2路径下的。

3)然后找到PLSQL_Developer安装的目录,在里面新建一个记事本,写入以下类似代码:@echo offset path=E:\app\Administrator\product\instantclient_11_2 setORACLE_HOME=E:\app\Administrator\product\instantclient _11_2setTNS_ADMIN=E:\app\Administrator\product\instantclient_1 1_2set NLS_LANG=AMERICAN_AMERICA.AL32UTF8start plsqldev.exe注意我的instantclient_11_2地址是:E:\app\Administrator\product\instantclient_11_2而你的跟我的可能不一样,所以要修改成你的instantclient_11_2的路径!写好后,将你的记事本名称改为start.bat然后点击运行。

如果PLSQL Developer没有打开,请仔细检查你上面的步骤和代码是否正确,然后在运行start.bat。

4)打开PLSQL_Developer后,取消登陆,进入主界面。

oracle中常出现的错误信息及解决方案

oracle中常出现的错误信息及解决方案

oracle中常出现的错误信息及解决方案Oracle中常出现的错误信息及解决方案错误信息一:ORA-00001 违反唯一约束条件最常见的问题原因是:主键序列化问题,即ORACLE表主键ID突然从已经存在的ID值开始自动生成,导致违反主键唯一性约束;解决方案,修改序列值,将序列最小值值设置的大一些。

如果在修改的时候出现违反唯一约束,说明你对主键值进行修改时出现重复,或者没加where条件。

错误信息二:oracle ORA-01745: 无效的主机/绑定变量名最常见的原因:sql语句中语法错误太多,例:多写了一个冒号或逗号,或者变量名称使用了oracle关键字解决方案:审查sql语句,更改为正确的sql语句。

错误信息三:ORA-01460: 转换请求无法实现或不合理常见原因有一下几种:1.读入到数据库中的字符过长无法实现。

解决方案:将字符串(只有4000)类型改为clob类型2.客户端和服务端字符集不一致。

解决方案:step1、通过执行select * from V$NLS_PARAMETERS查看服务端字符集PARAMETER VALUENLS_LANGUAGE AMERICANNLS_TERRITORY AMERICANLS_CURRENCY $NLS_ISO_CURRENCY AMERICANLS_NUMERIC_CHARACTERS .,NLS_CALENDAR GREGORIANNLS_DATE_FORMAT DD-MON-RRNLS_DATE_LANGUAGE AMERICANNLS_CHARACTERSET ZHS32GB18030NLS_SORT BINARYNLS_TIME_FORMAT HH.MI.SSXFF AMNLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZRNLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZRNLS_DUAL_CURRENCY $NLS_NCHAR_CHARACTERSET UTF8NLS_COMP BINARYNLS_LENGTH_SEMANTICS BYTENLS_NCHAR_CONV_EXCP FALSEstep2、通过regedit修改注册表(仅讨论windows版)进行客户端的字符集,位置\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS _LANG修改为[NLS_LANGUAGE ]_[NLS_ISO_CURRENCY]_[NLS_CHARAC TERSET],如上面的的服务器,应该修改为:AMERICAN_AMERICA.ZHS32GB18030。

oracle安装及使用中出现的问题及解决

oracle安装及使用中出现的问题及解决

系统默认选项值取自于:E:\ProgramFiles\ora92\precomp\admin\pcscfg.cfgPCC-F-02101, 无法打开输入文件:"E:\precomp_main_nt_011204\oracle\precomp\demo\proc\samp Le.pc"一种情况是你COMILE之前,没有保存解决办法是先保存另一种情况可能是你的PC文件可能不能用了,解决办法是'删除重新生成除此之外有可能是你的PC文件放的位置不正确哈1、在ORACLE 10g 安装准备的过程中:缺少libXp.so.6依赖上网搜过不少文章,但是都不是很好的解决我自己摸索出一个解决方法:在RHEL5的安装盘中找到libXp-1.0.0-8.i386.rpm,进行安装后,便可解决。

2、在ORACLE 10g 安装过程中Xlib: connection to ":0.0" refused by serverXlib: connection to ":0.0" refused by serverXlib: No protocol specifiedError: Can't open display: :0.0以root用户登陆,在shell中运行[root@brady ~]# xhost local:oraclenon-network local connections being added to access control list 然后oracle身份就可以运行X程序了。

man xhost中有这样一段A complete name has the syntax ‘‘family:name’’ where the families are as follows:inet Internet host (IPv4)inet6 Internet host (IPv6)dnet DECnet hostnis Secure RPC network namekrb Kerberos V5 principallocal contains only one name, the empty stringsi Server Interpreted其中local那个是用来解决同一台机器的不同用户访问X的问题的。

orcel常见问题解决方法

orcel常见问题解决方法

Orcel学习——常见问题解决方法1、登录oracle过程报错:ORA-12526:TNS:listener:all appropriate instances are in restricted mode。

问题原因:数据库维护时执行了下面的语句限制用户登陆:Sql代码ALTER SYSTEM ENABLE <strong style="background-color: #886800; color: white;">RESTRICTED</strong> SESSION;解决办法:Sql代码ALTER SYSTEM DISABLE <strong style="background-color: #886800;color: white;">RESTRICTED</strong> SESSION;2、设置sga_target非正常值导致ORA-00093新装了一台oracle服务器装好后修改参数,结果一不小心SQL> alter system set sga_target = 1320 scope = spfile;System alteredsga_target漏了内存单位M结果shutdown immediate再startupSQL> startup;ORA-00093: _shared_pool_reserved_min_alloc must be between 4000 and 0解决办法SQL> create pfile = '/oracle/tmp_init.ora' from spfile;File created.SQL> !echo '*.sga_target=200m' >> '/oracle/tmp_init.ora';SQL> create spfile from pfile = '/oracle/tmp_init.ora';File created.SQL> startup;ORA-00093: _shared_pool_reserved_min_alloc must be between 4000 and 0SQL> startupORA-00093: _shared_pool_reserved_min_alloc must be between 4000 and 0SQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining options[oracle@CallCenter-Data tmp]$ sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production。

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

Oracle常见问题及其解决方法(doc 10页)iSQL*Plus URL:http://10.10.43.137:5560/isqlplusEnteprise Manager 10g Database Control URL:http://information:5500/emOracleDBConsoleorcl不能启动,报错误码2解决策略解决策略一:修改你的主机参数文件修改一下:C:\WINDOWS\system32\drivers\etc下的host文件.如果没有的话就自己加一个IP和你的计算机名对应,如果已有了就把你的IP地址和你的计算机名对应起来.如:# copyright (c) 1993-1999 microsoft corp.## this is a sample hosts file used by microsoft tcp/ip for windows.## this file contains the mappings of ip addresses to host names. each# entry should be kept on an individual line. the ip address should# be placed in the first column followed by the corresponding host name.# the ip address and the host name should be separated by at least one# space.## additionally, comments (such as these) may be inserted on individual# lines or following the machine name denoted by a '#' symbol.## for example:## 102.54.94.97 # source server# 38.25.63.10 # x client host127.0.0.1 localhost10.10.43.137 information解决策略二:启动电脑,到登陆界面,电脑报有个服务启动失败,电脑没有新装软件,周六还没有问题,怎么突然报这个错误?于是到事件查看器中看看什么问题,显示是OracleDBConsoleorcl启动失败,到服务里一看,确实没有启动。

手动启动一下,报错误码2我装的是10g,于是到ORACLEproduct10.2.0db_1test_orclsysmanlog目录看一下log里写了什么,打开OracleDBConsoleorclsrvc.log.log最后记录的是:日志让看emdbconsole.nohup文件,目录里没有这个文件呀。

手动执行一下emctl.bat,于是启动控制台,执行emctl.bat istart dbconsole,报错,ORACLE_SID 没有定义,打开emctl.bat看看,这里是定义环境变量的地方,其中已经设置了这些:if not defined REMOTE_EMDROOT (set ORACLE_HOME=Ec:oracleproduct10.2.0db_1)if not defined REMOTE_EMDROOT (set EMDROOT=%ORACLE_HOME%)if defined REMOTE_EMDROOT (set ORACLE_HOME=%REMOTE_EMDROOT%)if defined REMOTE_EMDROOT (set EMDROOT=%ORACLE_HOME%)if defined REMOTE_EMDROOT (set LOCAL_EMDROOT=c:oracleproduct10.2.0db_1)……后边还有一条设置:if not defined DBCONSOLE_SERVICE_NAME (set DBCONSOLE_SERVICE_NAME=OracleDBConsole%ORACLE_SID%),用到了ORACLE_SID,但没有看到前面设置,只能手动设置ORACLE_SID试试,于是加了一条设置:if defined REMOTE_EMDROOT (set ORACLE_SID=orcl) orcl是我的数据库实例名到服务中启动OracleDBConsoleorcl,ok,没有报错;重新启动计算机,也没有报错,OracleDBConsoleorcl服务也启动了。

系统出错的解决今天机器死机了,然后OracleDBConsoleORCL服务就起不来了,在一阵瞎搞后,还终于被我找到了解决办法,方法如下:运行Database Configuration Assistant程序,选择“配置数据库选项”重新配置Database Control 配置工具,配置完后端口号会变(我原来是1158,后来被改为5500),可以在.\oracle\product\10.2.0\db_1 \cfgtoollogs\emca\orcl\文件夹下,最后生成的一个日志文件下找到新的Database Control 的URL;运行即可。

原来经常改IP会导致OracleDBConsoleORCL无法启动,一下是正规的解决方案:修改你的主机参数文件修改一下:C:\WINDOWS\system32\drivers\etc下的host文件.如果没有的话就自己加一个IP和你的计算机名对应,如果已有了就把你的IP地址和你的计算机名对应起来.如:# copyright (c) 1993-1999 microsoft corp.## this is a sample hosts file used by microsoft tcp/ip for windows.## this file contains the mappings of ip addresses to host names. each# entry should be kept on an individual line. the ip address should# be placed in the first column followed by the corresponding host name.# the ip address and the host name should be separated by at least one# space.## additionally, comments (such as these) may be inserted on individual# lines or following the machine name denoted by a '#' symbol.系统找不到指定的路径。

////以上是启动时的错误,我的数据库是oracle10.2.0.1.0 的版本解决方法:在命令行输入$ emca –config dbcontrol db输入以下信息:SID:XXXXListener port number: 1521Sys 口令:******……好了,再次emctl start dbconsole EM就可以正常运行了!Oracle 10gR2–EMCA常用命令在10g 中,我们可能会经常遇到OEM不能正常使用的问题,但导致问题的原因不尽相同,最后绝大多数问题可以通过emca 这个命令来解决,详细的说明可以查看连机帮助,下面给出一些常用的命令,及实例步骤.创建一个EM资料库emca -repos create重建一个EM资料库emca -repos recreate删除一个EM资料库emca -repos drop配置数据库的 Database Controlemca -config dbcontrol db删除数据库的 Database Control配置emca -deconfig dbcontrol db重新配置db control的端口,默认端口在1158emca -reconfig portsemca -reconfig ports -dbcontrol_http_port 1160emca -reconfig ports -agent_port 3940先设置ORACLE_SID环境变量后,启动EM console服务emctl start dbconsole先设置ORACLE_SID环境变量后,停止EM console服务emctl stop dbconsole先设置ORACLE_SID环境变量后,查看EM console服务的状态emctl status dbconsole配置dbconsole的步骤emca -repos createemca -config dbcontrol dbemctl start dbconsole重新配置dbconsole的步骤emca -repos dropemca -repos createemca -config dbcontrol dbemctl start dbconsoleOracle建立数据的方法方法一:打开命令提示符,进入DOS后输入dgmgrl方法二:SQL*Plus命令行方式方法三:数据库配置助手(DBCA,database configuation assistant)图形方式方法四:网络配置助手(ONCA,Oracle net configuration Assistant)与网络管理器(ONM,Oracle Net Manager)图形方式方法五:企业管理器(OEM)图形方式启动和关闭数据库数据库的启动与关闭与例程(instance)的启动和关闭是有区别的,它们并不是一回事。

严格地讲,后者是前者的一个步骤,而不是全部。

但由于它们是紧密相连的,所以在实际中往往将它们等同起来。

在启动数据库之前应该启动监听程序,否则就不能利用命令行方式来管理数据库,包括启动和关闭数据库。

虽然数据库正常运行,但如果没有启动监听程序,客户端就不能连接到数据库,在服务器端就不能使用OEM和iSQL*Plus工具。

启动和关闭监听程序可以使用命令行方式,也可以在windows服务中启动和关闭,结果一样。

例如可以在命令提示符下,输入 lsnrctl start 来启动用lsnrctl stop来关闭。

也可以在计算机管理服务中对OracleOraDb10g_home1TNSListener进行关闭和启动操作。

相关文档
最新文档