oracle 10g em、isqlplus访问不了的问题解决

来源:互联网 发布:gta5叛乱分子知乎 编辑:程序博客网 时间:2024/04/30 13:11

如果web方式的em,isqlplus访问不了。

1. 检查主机名/IP、端口是否正确
安装时的主机名/IP、端口记录在$ORACLE_HOME/install/portlist.ini 文件中。
缺省是:

一般用户                    http://ip:5560/isqlplus
DBA用户                    http://ip:5560/isqlplus/dba
EM DatabaseControl   http://ip:1158/em/


2. 看em, isqlplus服务是否起启动,状态是否正常
当然Oracle安装时,要选择安装了“Oracle Enterprise Manager配置数据库”


其它问题:

 

3. 换了ip需要重建em,以下是em的相关命令:

 

创建一个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

 

PS1:

 

Oracle10G的EM采用了web方式,并且分成了2个产品,database control和gridcontrol。Gridcontrol需要下载单独的光盘安装。在用DBCA建库的时候,可以选择是否启用dbcontrol,启用的话需要在数据库中建立一个sysman的schema,用于保存EM的一些数据,这个就是EM的资料库(repository)。使用命令行工具emca可以创建,修改,重建或者删除dbcontrol的配置。

 

由于要在数据库中建EM资料库,数据库和监听都必须已经启动并正常工作。


emca -repos create         创建一个EM资料库
emca -repos recreate      重建一个EM资料库
emca -repos drop            删除一个EM资料库


emca -config dbcontrol db
配置数据库的 Database Control


emca -deconfig dbcontrol db
删除数据库的 Database Control配置


emca -reconfig ports
重新配置db control和agent的端口


emctl start console
启动EM console服务,使用前需要先


设置ORACLE_SID环境变量
emctl stop console 停止EM console服务,


使用前需要先设置ORACLE_SID环境变量

注:通过查看$ORACLE_HOME/install/portlist.ini文件可以知道当前dbcontrol正在使用的端口,
默认dbcontrol http端口1158,agent端口3938。


如果要重新配置端口,可以使用如下命令:
emca -reconfig ports -dbcontrol_http_port 1159
emca -reconfig ports -agent_port 3939 月落网

 

使用命令行工具emctl可以启动/停止console服务,察看服务状态等。

 

PS2:

 

eygle的几篇关于oem的文章:

如何在Oracle10g中启动和关闭OEM--->http://www.eygle.com/archives/2005/10/howto_control_10goem.html

oracle 10gem乱码之快速解决--->http://hi.baidu.com/terry%5Fsky/blog/item/79d6d7881ea0a491a5c2725c.html

 

PS3:

 

在linux 下


$ lsnrctl start; $ emctl start dbconsole ; $ isqlplusctl start ;startup 数据库Oracle10g OEM , isqlplus管理默认端口等一些信息放在$ORACLE_HOME/install/portlist.ini

 

[oracle@localhost install]$ more portlist.ini

Enterprise Manager Console HTTP Port (whitney) = 1158
Enterprise Manager Agent Port (whitney) = 3938
Enterprise Manager Console HTTP Port (whitney) = 1158
Enterprise Manager Agent Port (whitney) = 3938

 

windows下找了一下没找到,下次找到了放到ps3中:)

 

创建em资料库


C:Documents and Settings>emca -repos create
EMCA 开始于 2007-5-31 9:57:04
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。

输入以下信息:
数据库 SID: ora10g
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:

是否继续? [yes(Y)/no(N)]: Y
2007-5-31 10:03:31 oracle.sysman.emcp.EMConfig perform


信息: 正在将此操作记录到H:oracle10gcfgtoollogsemcaora10gemca_2007-05-31_09-57-03-上午.log。

2007-5-31 10:03:31 oracle.sysman.emcp.EMReposConfigcreateRepository


信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2007-5-31 10:06:18 oracle.sysman.emcp.EMReposConfig invoke


信息: 已成功创建资料档案库
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2007-5-31 10:06:18

 


5. 修改EM的端口


我现在的Enterprise Management的地址是:http://localhost:1158/em,我想把端口改成5500,请问如何修改(操作系统是WindowsServer 2003)?

 

修改ORACLE_HOME/INSTALL/PORTLIST.INI


内容如下:
iSQL*Plus HTTP 端口号 =5560
Enterprise Manager Console HTTP 端口 (test) =1158   :5500
Enterprise Manager 代理端口 (test) = 3938


如果建立数据库时,忘了记下oem 的url,可以在postlist.ini中得到


6. Oracle10g:如何以DBA身份登陆iSQL*Plus


导读:

  一般用户登陆isqlplus的网址http://ip:port/isqlplus,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。
  DBA用户登陆isqlpus的网址http://ip:port/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*PlusDBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。
  要以DBA身份登陆isqlplus,必须先配置好oc4j用户。oc4j可以使用两种身份认证方式:
  基于xml配置文件(jazn-data.xml)
  基于LDAP(Oracle Internet Directory)
  本文只涉及第一种方式,也就是采用xml配置文件认证的方式。该配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config。
  但 是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(JavaAuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication andAuthorization Service)工具,java的东西我不太懂,所幸这里只要照着文档一步步操作就ok。
  通过JAZN,可以完成以下任务
  Create users
  List users
  Grant the webDba role
  Remove users
  Revoke the webDba role
  Change user passwords
以上任务,可以先进入JAZN命令环境后再执行,也可以直接通过一条完整的命令行实现。完整的命令行其实就是在进入JAZN的命令后面直接加上对应的任务选项即可,本文只以JAZN命令环境为例。

  如何进入JAZN命令环境
  1.进入到目录$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/
  2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于$ORACLE_HOME/jdk
  3.执行以下命令
  java-Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider-jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*PlusDBA/admin" -password welcome -shell
  其中realm=iSQL*PlusDBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus。
  注意该命令一定要先进入第一步的目录后再执行,否则会报错
  oracle.security.jazn.JAZNRuntimeException: Configuration file"configjazn.xml" does not exist. Check your JAAS configurationsettings.
  或者
  Realm [iSQL*Plus DBA] does not exist in system.
  如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录完全一致。
  进入JAZN命令环境后,可以执行所有的任务:
  1.新建用户ning,密码pass
  JAZN:> adduser "iSQL*Plus DBA" ning pass
  2.列出用户
  JAZN:> listusers
  iSQL*Plus DBA/admin
  iSQL*Plus DBA/ning
  JAZN:> listusers "iSQL*Plus DBA"
  admin
  ning
  3.授予用户登陆isqlplus DBA的权限
  JAZN:> grantrole webDba "iSQL*Plus DBA" ning
  4.撤销用户登陆isqlplus DBA的权限
  JAZN:> revokerole webDba "iSQL*Plus DBA"ning
  5.删除用户
  JAZN:> remuser "iSQL*Plus DBA" ning
  6.修改用户密码
  JAZN:> setpasswd "iSQL*Plus DBA" ning passnewpass
  7.退出JAZN命令环境
  JAZN:> exit
  假设上面我们创建了一个用户ning,密码为pass,并且已经授予webDba权限。
  接下来重新启动isqlplus应用服务器
  isqlplusctl stop
  isqlplusctl start
  再进入网址http://ip:port/isqlplus/dba,在弹出的对话框中输入ning和pass,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。

 

 

  参考文章
  Oracle10g如何启用isqlplus :http://ningoo.itpub.net/post/2149/200372
Oracle官方文档中关于如何启用dba身份登陆isqlplus:http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14357/ch2.htm#CIHDEFBA

 

 

7. 如何以DBA身份登陆iSQL*Plus


*注意:如果DB主机名或IP变了,其相应的配置有一个比较简便的方法可以改变。


官方站点:
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14357/ch2.htm#CIHDEFBA
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19276-01/toc.htm
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19277-01/ch2.html#4136

grep hostname然后置换,当然hostname_%sid%文件夹名要改成相应的名字, 一般来说在
%ORACLE_HOME%/hostname_%sid%/config  目录下


emagentlogging.properties
emd.properties
emomslogging.properties
emoms.properties 端口号对应文件 1158 5560

Oracle10g中已经从之前的Java的OEM变成web的方式来管理数据库,当我们想以dba access从isqlplus来存取时。不论输入什么account和password都不能以sysoper或sysdba的权限来logon这是因为在defualt安装的时候,没有授权导致的。下面有在windows平台上的解决方案,相关metalink上请参考Note:287252.1

 

一般用户                    http://ip:5560/isqlplus


DBA用户                    http://ip:5560/isqlplus/dba


EM DatabaseControl   http://ip:1158/em/console

 

一般用户登陆isqlplus的网址http://ip:5560/isqlplus,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。


DBA用户登陆isqlpus的网址http://ip:5560/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*PlusDBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。
要以DBA身份登陆isqlplus,必须先配置好oc4j用户。


采用xml配置文件认证的方式。该配置文件位于%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config
但是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(JavaAuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication andAuthorization Service)工具.
通过JAZN,可以完成以下任务
如何进入JAZN命令环境
1.进入到目录%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/
2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于%ORACLE_HOME%/jdk
3.执行以下命令
java-Djava.security.properties=%ORACLE_HOME%/sqlplus/admin/iplus/provider-jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*PlusDBA/admin" -password welcome -shell

注意:以上是windows环境下的命令行,如果是linux、unix可以将其中的%ORACLE_HOME%修改为$ORACLE_HOME即可,其它无需修改。

其中realm=iSQL*PlusDBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus。

注意该命令一定要先进入第一步的目录后再执行,否则会报错
oracle.security.jazn.JAZNRuntimeException: Configuration file"configjazn.xml" does not exist. Check your JAAS configurationsettings.
或者
Realm [iSQL*Plus DBA] does not exist in system.
如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录完全一致 。

进入JAZN命令环境后,可以执行所有的任务:
1.新建用户isqluser ,密码pass
JAZN:> adduser "iSQL*Plus DBA" isqluser pass

2.列出用户
JAZN:> listusers
iSQL*Plus DBA/admin
iSQL*Plus DBA/isqluser
JAZN:> listusers "iSQL*Plus DBA"
admin

4.撤销用户登陆isqlplus DBA的权限
JAZN:> revokerole webDba "iSQL*Plus DBA"isqluser

5.删除用户
JAZN:> remuser "iSQL*Plus DBA" isqluser

6.修改用户密码
JAZN:> setpasswd "iSQL*Plus DBA" isqluser passnewpass

7.退出JAZN命令环境
JAZN:> exit

8.在JAZN中看命令帮助
JAZN:> man setpasswd
NAME
       setpasswd - sets a password for user
SYNOPSIS
       setpasswd <realm><user><old_pwd><new_pwd>
DESCRIPTION
       The setpasswd command sets a new password for the
       specified user. Using a -null flag for new_pwd will result
       in an empty passwd.

假设上面我们创建了一个用户isqluser,密码为pass,并且已经授予webDba权限。
接下来重新启动isqlplus应用服务器:
isqlplusctl stop
isqlplusctl start
再进入网址http://ip:5560/isqlplus/dba,在弹出的对话框中输入isqluser和pass即相应的sid,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。

8. Oracle10g EM乱码之快速解决

一直没怎么用10g的EM工具,今天打开来看看,发现也有相传已久的乱码问题.网上也流传着N种解决方案,仔细看一下,其实这个问题很好解决.

如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择.

在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/目录下都有多种字符集字体配置文件:

[oracle@danaly ~]$ cd $ORACLE_HOME/jdk/jre/lib[oracle@danalylib]$ ls font*zh_CN*font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1 font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun
[oracle@danaly lib]$ cd $ORACLE_HOME/jre/1.4.2/lib/[oracle@danalylib]$ ls font*zh_CN*font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1 font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun


我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件:

[oracle@danaly lib]$ cp font.properties.zh_CN.Redhatfont.properties


替换之后需要清理一下Cache,重启EM即可.

Cache路径通常位于:

$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs


清除所有gif文件即可.然后重新启动EM:

[oracle@danaly zhs]$ emctl stop dbconsoleTZ set to PRCoracleEnterprise Manager 10g Database Control Release10.2.0.1.0  Copyright (c) 1996, 2005 oracleCorporation.  All rightsreserved.http://danaly.hurrray.com.cn:1158/em/console/aboutApplicationStoppingoracle Enterprise Manager 10g Database Control...  ...  Stopped. [oracle@danalyzhs]$ emctl start dbconsoleTZ set to PRCoracle Enterprise Manager10g Database Control Release 10.2.0.1.0  Copyright(c) 1996, 2005 oracle Corporation.  All rightsreserved.http://danaly.hurrray.com.cn:1158/em/console/aboutApplicationStartingoracle Enterprise Manager 10g Database Control ..............started.------------------------------------------------------------------Logsare generated in directory/opt/oracle/product/10.2.0/danaly.hurrray.com.cn_danaly/sysman/log


现在登陆Web页面,EM显示就可以正常显示中文了

 

原创粉丝点击