当前位置:首页 >> 工学 >>

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


iSQL*Plus URL:http://10.10.43.137:5560/isqlplus Enteprise Manager 10g Database Control URL: http://information:5500/em 不能启动, OracleDBConsoleorcl 不能启动,报错误码 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 38.25.63.10 rhino.acme.com x.acme.com # source server # x client host

127.0.0.1 10.10.43.137 解决策略二:

localhost 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.

# # for example: # # # 102.54.94.97 38.25.63.10 localhost rhino.acme.com x.acme.com # source server # x client host

127.0.0.1

192.168.1.104 wang-decjedi4h9 二 手工从 cmd 命令行启动: C:\Documents and Settings\wangnc>emctl start dbconsole Environment variable ORACLE_SID not defined. Please define it. 设置 Oracle_sid 环境变量: C:\Documents and Settings\wangnc>set oracle_sid=orcl C:\Documents and Settings\wangnc>emctl start dbconsole OC4J Configuration issue. C:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole_WWW-D79AC60CC61_orcl_orcl not found. 还 是 不 行 , 到 目 录 的目录 复制目录改成系统提示的文件夹名,再运行 emctl start dbconsole 又会报一个类似的错误提示,另一个目录,同样处理。重启后服务终于可以正常启动了。 访问 http://127.0.0.1:1158/em/ 三 OracleDBConsoleorcl 服务无法启动 C:>set oracle_sid=orcl C:>emctl start dbconsole Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved. http://JX02:1158/em/console/aboutApplication Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl 服务正在启动 . OracleDBConsoleorcl 服务无法启动。 系统出错。 系统发生 3 错误。 ok! C:\oracle\product\10.2.0\db_1\oc4j\j2ee 下 发 现 只 有

OC4J_DBConsole_localhost_orcl 目录,并没有 OC4J_DBConsole_sz- wangncD.cn.linecom.com_orcl 这样

系统找不到指定的路径。 系统找不到指定的路径。 ////以上是启动时的错误 ,我的数据库是 oracle10.2.0.1.0 的版本 解决方法: 在命令行输入 $ emca –config dbcontrol db 输入以下信息: SID:XXXX Listener port number: 1521 Sys 口令:****** …… 好了,再次 emctl start dbconsole EM 就可以正常运行了! 10gR2– Oracle 10gR2–EMCA 常用命令 在 10g 中,我们可能会经常遇到 OEM 不能正常使用的问题,但导致问题的原因不尽相同,最后绝大多数问题 可以通过 emca 这个命令来解决,详细的说明可以查看连机帮助,下面给出一些常用的命令,及实例步骤. 创建一个 EM 资料库 emca -repos create 重建一个 EM 资料库 emca -repos recreate 删除一个 EM 资料库 emca -repos drop 配置数据库的 Database Control emca -config dbcontrol db 删除数据库的 Database Control 配置 emca -deconfig dbcontrol db 重新配置 db control 的端口,默认端口在 1158 emca -reconfig ports emca -reconfig ports -dbcontrol_http_port 1160 emca -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 create emca -config dbcontrol db emctl start dbconsole 重新配置 dbconsole 的步骤 emca -repos drop emca -repos create emca -config dbcontrol db emctl start dbconsole Oracle 建立数据的方法 方法一:打开命令提示符,进入 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 进行关闭和启动操作。 在命令提示符下输入 sqlplus /noolog D:\oracle\product\10.1.0\db_1\NETWORK\ADMIN 用于查找不同数据库的 ERROR - ORA-12514: TNS: 监 ORA听程序当前无法识别连接描述符中请求的服务 的问题 解决方法(1) # listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.1.0\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME (GLOBAL_DBNAME =wangweijian)

(ORACLE_HOME (SID_NAME ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST =

=

D:\oracle\product\10.1.0\ D:\oracle\product\10.1.0\db_1)

=wangweijianID)

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = information)(PORT = 1521)) ) ) ) (2) # tnsnames.ora Network Configuration File:D:\oracle\product\10.1.0\db_1\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. //看看这个地方是否正确 WANGWEIJIAN= //看看这个地方是否正确 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = information)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =WANGWEIJIAN) //将小写改成了大写。 将小写改成了大写。 IAN) //将小写改成了大写 ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) 错误: 异常:The Netword Adapter could not establish the connection 错误:IO 异常 产生的原因:监听程序进程没有启动或输入了错误的网络服务名产生的错误提示。 ORAERROR - ORA-12541: TNS: 没有监听程序 产生的原因: 产生的原因:例程未打开

出现的错误提示:SP2缓冲区中无可运行的程序, 在使用 Oracle sql*plus 时,出现的错误提示:SP2-0103: SQL 缓冲区中无可运行的程序,在输入 sql 语 句时,如果出现这个错误提示则只需输入如下命令即可: 句时,如果出现这个错误提示则只需输入如下命令即可:set serveroutput on

语句: 为用户解锁的 sql 语句:alter user scott account unlock;

用户登录的时候出现的错误: 用 scott 用户登录的时候出现的错误:ORA-01017: invalid username/password; logon denied。 。 此时无法登录。 的密码错误的原因。 密码不正确的原因。 此时无法登录。这主要是因为 scott 的密码错误的原因。可能默认的 scott 密码不正确的原因。用下面的 两条语句即可解决。 两条语句即可解决。 alter user scott account unlock; alter user scott identified by wangweijian; 创建用户 create user wangweijian identified by wwj123 删除用户出现的问题: ERROR:ORA-01940: (ERROR connected) 删除用户出现的问题: ERROR:ORA-01940: cannot drop a user that is currently connected)当前 ( 用户的系统进程还存在,所以无法删除, 用户的系统进程还存在,所以无法删除,这时应该找到进程并 kill 掉。 1、查询此用户的会话进程, SQL〉SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='wangweijian'; SID 24 86 SERIAL# 25341 18117

---------- ----------

2、结束此用户的所有会话 SQL>ALTER SYSTEM KILL SESSION '24,25341'; System altered. SQL>ALTER SYSTEM KILL SESSION '86,18117'; System altered. 3、删除用户 SQL〉DROP USER USER1 CASCADE;

数据库的备份与恢复
1 数据库的脱机备份与恢复 备份文件的位置与清单:

*参数文件的位置 D:\oracle\product\10.1.0\db_1\database 中的三个 ora 文件 *查询数据字典视图 V$control 可以确认控制文件的位置与清单 Select status,name from V$controlfile;

STATUS

NAME D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\CONTROL01.CTL D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\CONTROL02.CTL D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\CONTROL03.CTL

*查询数据字典视图 dba_data_files 可以确认数据文件的位置与清单。 Select status,file_name from dba_data_files;

STATUS AVAILABLE AVAILABLE AVAILABLE AVAILABLE

FILE_NAME D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\USERS01.DBF D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\SYSAUX01.DBF D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\UNDOTBS01.DBF D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\SYSTEM01.DBF

*查询数据字典视图 V$logfile 可以确认联机重做日志文件的位置与清单

Select group#,status,member from v$logfile; GROUP # 3 2 1 脱机备份的步骤:
1) 2) 3)

STATUS

MEMBER D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\REDO03.LOG D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\REDO02.LOG D:\ORACLE\PRODUCT\10.1.0\ORADATA\AUST\REDO01.LOG

打开命令提示符,在命令提示符下输入 sqlplus /NOLOG 命令后按回车键,以不连接数 据库的方式启动 SQL*PLUS 以具有 sysDBA 或 SYSOPER 权限的数据库用户(如 system 或 sys) 、sysdba 的连接身份 连接到 oracle 以 immediate 方式关闭数据库,以便进行脱机备份。出现以下字样:

SQL>shutdown immediate 数据库已经关闭

已经卸载数据库 Oracle 例程已经关闭 4)使用操作系统命令或工具,按照备份文件清单备份所需要备份的文件,不得漏掉一个。 5)备份完成以后,以 open 方式启动数据库,以便用户可以继续使用数据库。

使用数据泵进行逻辑备份与恢复
Oracle10g 中引入了最新的数据泵(data pump)技术,即 expdp 和 imppd。在 oracle 以前的版本中,通常使用 exp 和 imp 实用程序进行导出导入数据。现在,除了可以继续使用 exp 和 imp 之外,还可以使用 expdp 和 imppd 来进行导入导出数据。由于 expdp 和 imppd 的 速度优于 exp 和 imp。所以 oracle 建议使用 expdp 和 imppd 进行导出导入数据。 注意:expdp 和 imppd 都是服务器端实用程序,只能在 oracle 服务器端使用。而 exp 和 imp 是客户端实用程序,既可以在客户端使用,也可以在服务器端使用。 导出数据是指将数据库中的数据导出到一个操作系统文件(即转储文件)中,导入数据 是指将转储文件中的数据导入到数据库中。 数据泵的作用 a 实现逻辑备份与恢复 b 可以在数据库方案之间传输数据 c 可以在数据 库之间传输数据 d 数据库应用软件的版本升级 e 消除磁盘碎片。 在使用 expdp 和 imppd 实用程序时,其转储文件只能存放在 DIRECTORY 对象指定的 OS 目录中,而不能直接指定 OS 目录。因此,使用时必须首先创建 DIRECTORY 对象,并且运行 expdp 和 imppd 实用程序的数据库用户授予使用 DIRECTORY 对象的权限。具体代码如下: SQL>connect sys/wangweijian as sysdba SQL>create directory dump_dir ad 'e:\dump'; SQL>grant read,write on directory dump_dir to system,scott; 使用 expdp 导出数据 一 估计转储文件的大小:导出之前估计一下转储文件的大小,以免发生空间不足的现 象。例子:C:\>expdp system/password fully=y estimate_only=y estimate=statistics nologfile=y 二 导出表 是指将一个或多个表的结构及其数据导出到转储文件中。 导出表时每次只能 导出一个方案中的表。 C:\>expdp scott/wangweijian directory=dump_dir dumpfile=scotttab.Dmp logfile=scottlog

三 导出方案 导出方案是指将一个或多个方案的所有对象结构及数据导出到转储文件 中。 C:\>expdp scott/wangweijian directory=dump_dir dumpfile=mysuer.Dmp logfile=myuser.Log schemas=myuser job_name=exp_myuser_schema 四:导出数据库,将数据库中的所有对象及数据导出到转储文件中。 热备份之前要做的修改: (只有归档才能热备份) a. b. c. d. e. f. g. h. 查看是否为归档:archive log list; 修改一下:alter system set log_archive_start=true scope=spfile 关掉数据库:shutdown immediate(关掉数据文件) 调用数据库的控制文件 start mount 修改:Alter database archivelog
注意这一步:archive log start;

启动数据库:alter database open 备份工作开始

这里还需要注意, 如果将归档模式改为非归档模式, 这时候应该改 alter database noarchivelog;
其他步骤同上。

五 在修改文档为归档模式时, shutdown immediate 关掉数据文件) 然后再 startup mount。 ( , 可是出现的错误提示 SP2-0310:无法打开文件"mount.sql"。这时,应该先 startup,然后再 shutdown abort,然后再 startup mount。 六,在命令提示符下 命令结束用‘;,往往不被认可。如 mkdir wangweijian; cd ’ wangwejian;如果用了分号就会出错的。 七 在命令提示符下,建立 sqlplus 的连接 。通过@E:\chuntian\bak.Sql 这样可以执行多条系统性的语句。这样也可以重复利用。如 bak.Sql 文件如下。 connect wangweijian/wangweijian as sysdba shutdown immediate host copy D:\oracle\product\10.1.0\oradata\aust\*.* e:\hotbackup\ host copy D:\oracle\product\10.1.0\db_1\dbs\initdw.ora e:\hotbackup\dbs host copy D:\oracle\product\10.1.0\db_1\database\PWDaustID.ora e:\hotbackup\database startup


相关文章:
oracle遇到的问题及答案.doc
oracle遇到的问题及答案_计算机软件及应用_IT/计算机_专业资料。oracle常见问题及答案 问题一:Oracle 11G 用 EXP 时,空表不能导 出解决方法第一 查询空表到底有...
Oracle经验分享-常用报错及解决办法.doc
Oracle经验分享-常用报错及解决办法_计算机软件及应用_IT/计算机_专业资料。问题一、 监听器未能启动专用的服务器进程 今天通信频道,在更新代码后,出现 WEB 或 PL...
ORACLE数据库常见问题诊断方法(常见错误篇)-20021224-A2.doc
ORACLE 数据库常见问题诊断方法 (常见错误) ORACLE 的这类错误在 ORALCE 的文档中有详细说明,但原因及措施说明不详细,本文 当着重说明如何解决这类错误。 1 ...
Oracle_性能问题一般解决思路及经验交流.ppt
Oracle 性能问题一般解决思路 附:经验交流 -参考高兴建资料 2008-0
oracle安装及使用常见问题及解决方案.doc
oracle安装及使用常见问题及解决方案_计算机软件及应用_IT/计算机_专业资料。oracle安装使用过程中的几个常见问题,如PLSQL中文乱码问题,PLSQL连接数据库失败问题,用户...
Oracle常见问题解决办法.doc
Oracle常见问题解决办法_计算机软件及应用_IT/计算机_专业资料。1. 怕修改 ...这个问题应该是出现在 10.1.0.3 版本上的, 主要原因是 kernel 参数没有按照...
Oracle11g常见故障处理_图文.ppt
常见oracle11g故障及处理方式~非常实用 2015/8/23 Security Level: Oracle ...然后重建库,再把数据imp进去,另外该种方法的恢复 在经验丰富的DBA的指导下进行...
oracle数据库常见问题处理.xls
oracle数据库常见问题处理_计算机软件及应用_IT/计算机_专业资料。oracle数据库...oracle 10g 用户 2016/1/28 是 处理跟踪汇总表解决方法 Oracle的sql*plus是与...
Oracle常见问题.doc
Oracle常见问题_计算机软件及应用_IT/计算机_专业资料。Oracle常见问题 Oracle 使用常见问题 /*本文档由 yhz 完成,我会不断完善该文档,出现难以解决问题时请发...
安装了oracle 11g之后遇到的问题及解决方法.doc
安装了 oracle 11g 之后遇到问题及解决方法之前电脑上安装的是 oracle 10g 的客户端,后来又安装了 oracle 11g 的客户端, 却发现原来的项目不能正常运行了,...
Oracle常见问题2007-10.doc
解决方法:将安装文件放在英文目录下。 3. 在安装 Oracle 的过程中出现下面的...oracle 常见问题解决 32页 免费 Oracle常见问题及解决方... 10页 2下载券 ...
Oracle P6应用常见问题及解答.doc
Oracle P6应用常见问题及解答_信息与通信_工程科技_...问题解答: 针对这个问题普遍适用的方法就是将目标...增强系统的图形化展示能力 过程中的经验和教训,也...
Win7安装Oracle 11g出现的问题与解决方法.doc
Win7安装Oracle 11g出现问题与解决方法_IT/计算机_专业资料。解决WIn 7下Oracle 11安装过程中遇到问题 Windows 7 在装 Oracle 11g 时,系统不兼容问题,Oracle...
oracle安装常见问题及解决方案.txt
有的时候甚至重装oracle数据库也没用,我在实践中总结了两点处理经验: 1、...(PORT = 1521)) ) ) 原来本机的ip发生改变后,就出现了上述问题,改变数据库...
oracle安装常见问题及解决方案.doc
oracle 安装常见问题及解决方案.txt39 人生旅程并不...我在实践中总结了两点处理的经验: 1、由于 IP ...无监听程序”错误解决方法 收藏 改变 oracle 数据库...
oracle编码问题.doc
这个问题解决方法很多。这里我只是记录自己遇到的现象和解决方法。在 Oracle字符集问题上我不是专家。 人生中遇到中文乱码的经历不超过一个手的次 数。请经验丰富...
Oracle监听器出现的6种连接问题及其解决方法.doc
Oracle监听器出现的6种连接问题及其解决方法_计算机软件及应用_IT/计算机_专业资料。Oracle监听器出现的6种连接问题及其解决方法 Oracle 监听器出现的 6 种连接问题...
oracle问题以及OEM使用.txt
这是个Oracle数据库服务器比较常见错误。有经验的用户几乎马上就能解决这个错误...用户可执行emctl status dbconsole命令获取实际的访问地址和端口)并回车,打开如图...
C++Builder与Oracle数据库连接的常见问题及解决方法.pdf
C++Builder与Oracle数据库连接的常见问题及解决方法_IT/计算机_专业资料。C++Builder与Oracle数据库连接的常见问题及解决方法 l 杜垤 J年 繁堪 一 维普资讯 http:...
oracle11g数据库常见故障处理_图文.ppt
? ORACLE 11g实例的常见问题故障; 这些问题故障的诊断分析和解决方法; ...然后重建库,再把数据imp进去,另外该种方法的恢复 在经验丰富的DBA的指导下进行...
更多相关标签: