Oracle企业管理器(Oracle Enterprise Manager,OEM)是Oracle提供的一个基于Web的图形化数据库管理工具。通过OEM,用户可以完成几乎所有的原来只能通过命令行方式完成的工作,包括数据库对象、用户权限、数据文件、定时任务的管理,数据库参数的配置,备份与恢复,性能的检查与调优等。
28.5.1 安装和使用OEM
如果要使用Oracle企业管理器,那么在创建数据库时需要选择【Enterprise Manager 资料档案库】复选框,如图28.57所示。
可执行如下命令查看OEM进程的状态。
$ emctl status dbconsole                                //查看OEM进程的状态
Oracle Enterprise Manager 11g Database Control Release 11.1.0.6.0
Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
demoserver:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is not running.              //OEM进程未启动
-
-----------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.1.0/db_1/dem-
oserver_orcl/sysman/log
ORA-01034错误的解决办法
--Oracle常见错误之一
事先说明,Oracle高手是不需要看本文的。
这是个Oracle数据库服务器比较常见的错误。有经验的用户几乎马上就能解决这个错误,再不济也能马上到Metalink(acle)去搜索一下。
不幸的是,大多的时候,都是初级用户遇到的这样的问题(对他们提Metalink也起不到什么作用--一般都没有上面的帐号:))。所以,这个小帖子可能还有一定的作用。
问题描述
=======
在试图启动数据库的时候,Oracle报告下列错误:
ERROR:
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available 
基本解释
=======
Error: ORA-27101
Text: shared memory realm does not exist 
-------------------------------------------
Cause: Unable to locate shared memory realm 
Action: Verify that the realm is accessible
如何解决 
=======
这个问题其实用一句话就可以说清楚:
ORACLE_HOME或者ORACLE_SID设置不正确。
在以前的版本中,如果ORACLE_SID不正确,一般都只提示ORA-01034。Oracle 8.1.7 给出一个额外的信息:ORA-27101。
->如果是Unix,在Shell里把ORACLE_SID设置正确即可(注意大小写敏感的问题)。
 此外,检查ORACLE_HOME环境变量。如何检查参考如下的命令:
% echo $ORACLE_SID       
% ps -ef |grep smon
->如果是Windows,一般都是因为系统中有多个实例造成的。
 可以在命令行下 C:\>set ORACLE_SID=DEMO
 把这里的DEMO换为你相应的实例名。
 如果还不行的话,检查注册表中的ORACLE_HOME。
 此外,在Windows环境下有的时候连接不上远程的数据库,会报告如此的错误。
 解决办法是把s
 SQLNET.AUTHENTICATION_SERVICES = (NTS) NTS换为NONE.
 现在应该没甚么问题了。什么?还不行?那么建议你Google
图28.57 安装OEM组件
如果没有启动,则执行如下命令启动OEM进程:
$ emctl start dbconsole                                    //启动OEM进程
Oracle Enterprise Manager 11g Database Control Release 11.1.0.6.0
Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
demoserver:1158/em/console/aboutApplication    //访问OEM的URL
Starting Oracle Enterprise Manager 11g
....... started.                                            //启动正常
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.1.0/db_1/dem-
oserver_orcl/sysman/log
确定OEM已经启动后,打开浏览器,在地址栏中输入demoserver:1158/em(不同主机上的数据库,其OEM的访问端口可能会有所不同,用户可执行emctl status dbconsole命令获取实际的访问地址和端口)并回车,打开如图28.58所示的OEM登录页面。
关于输入用户名和密码错误的问题:应该首先在 windows环境中进行设置:
控制面板--管理工具--本地安全策略--本地策略--用户权利指派--作为批处理登录--本地安全策略设置--添
加--选择用户或组中选择administrator,再单击确定就可以了。
在管理数据库和监听程序的时候输入的就是administrator和其密码。
(1)数据库控制台启动后,看到1)数据库实例无信息2)监听程序为状态为不可用3)到实例的代理连接状态为不可用。
问题分析:
此时服务刚启动,还没有到位
解决办法:
过会再刷新。此时可能会看到1)数据库实例有相关信息2)监听程序有信息但状态为关闭3)到实例的代理连接状态为失败,并提示ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)。原因可能是监听服务没启动。
(2)Io 异常: The Network Adapter could not establish the connection
问题分析:
在改变了ip或计算机名的情况下出现,一般是监听服务有问题。
解决办法:
第一步、用emca –config dbcontrol db命令从新配置一下em的database control;
第二步、在ie中输入oracl_hostname:5500/em/(是5500端口,而不是1158端口)看看是否运行正常,如不正常,接着按问题(3)的解决方法进行处理。
(3)对于多网卡,或改变ip的情况,控制台出现如下情况:
1)监听程序TNS-12541: TNS: 无监听程序
2)到实例的代理连接ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)
解决办法:
修改Network Configuration File: %ORACLE_HOME%\network\admin\下的a和a, 把其中的HOST=后的主机名或ip改为当
前的主机名或ip,并重新启动监听服务。之后刷新控制台页面,会看到监听程序已经启动,但可能会出
现下面的提示“ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID (DBD ERROR: OCIServerAttach)”,没关系,多刷新几次即可看到到实例的代理连接成功的信息。
(4)java.lang.Exception: IOException in sending Request :: Connection refused: connect
问题分析:
控制台上刷新的时候常见,原因不详,好像没有什么影响。
解决办法:
冷处理(^_^)。
(5)Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor The Connection descriptor used by the client was: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=LHL)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
问题分析:
可能是数据库实例没有启动;
解决办法:
查看数据库实例服务是否启动。
在安装完成后,发现不少问题,baidu了N下,都一一解决啦,现整理如下:
首先:用oracle用户登陆
1. sqlplus sys as sysdba
2. 提示输入密码(安装oracle时第一步设置的密码)
3. 启动数据库
SQL>startup
ORACLE instance started.
Total System Global Area  268435456 bytes
Fixed Size                  1218892 bytes
Variable Size              92276404 bytes
Database Buffers          171966464 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
若之前已启动,系统将提示:ORA-01081: cannot start already-running ORACLE - shut it down first
可用如下命令关闭数据库:
·shutdown normal  正常方式关闭数据库。
  ·shutdown immediate   立即方式关闭数据库。
  ·shutdown abort  直接关闭数据库,正在访问数据库的会话会被突然终止
4. SQL> conn scott/tiger
Connected
若scott用户在安装oracle时没被解锁,可通过以下方法解锁scott用户
首先以system帐户登陆sqlplus,密码为安装时设置的。
然后    alter user scott account unlock;
提示重输密码,OK了。 
5. SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
DEPT                          TABLE
EMP                            TABLE
BONUS                          TABLE
SALGRADE                      TABLE
哈哈,又看到久违的这几张表了,说明oracle服务端已正常启动。
以下测试通过远程登陆,判断监听是否正常:
首先:执行在linux下用oracle用户登陆,输入命令开启监听:lsnrctl start 
如果无法正常启动监听,
屏幕应该会有一些打印信息,不过,我没碰到,所以暂时就先不讨论异常情况啦!   
oracle我是在vm虚拟机上装的(ps:机子配置太低,一路上那个卡啊,还好我意志坚强,再卡都装起来了^_^),把虚拟机ip设为192.168.0.3(用setup命令里面有个关于网络配置功能),我的xp系统ip为192.168.0.1
默认网关都设为192.168.0.1    可通过ping命令判断局域网是否能通,哇,一ping就通了,先恭喜自己一下!
在保证了oracle的服务和监听都能起来,两台机也能ping通的前提下,接着在xp安装oracle客户端,我是
装9i的,选择好安装目录,其他的按默认就行了。装好后在安装目录ora92\network\admin下,用记事本编辑a文件,我的配置如下:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
如何连接oracle数据库#orcl 为oracle的sid    host为要oracle服务器地址
配置好之后可以cmd里面用tnsping orcl看看是不是能通,诶,延迟才0毫秒~~,成功啦~
之前有遇到过执行tnsping命令时提示不是内部或外部命令,这是因为环境变量的造成的,只要在path里面加一个oracle安装目录下的bin路径就可以啦,或者土一点,先cd到bin目录下,再执行tnsping~~~不过,还是不建议用这种土鳖的方法,配个环境变量可以一劳永逸嘛~~~~(ps:这里说的都是在xp里执行的,不是linux里哇,只是友情提醒一下,高手看了您别笑我~)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。