当前位置:A5D软件园网络学院数 据 库Oracle → 网络学院内容

讲解Oracle数据库10g疑难问题的解决方法

订阅:
减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-8-13 22:10:58

一、怎样配置EM使其支持SSL 协议

10G EM 中的OMS, DBConsole,Agent 都支持SSL 协议.

 

具体操作:

 

◆1. 如果没有环境变量ORACLE_SID,请先配置,或者直接敲入set ORACLE_SID=xxx (UNIX环境下请根据不同的shell类型使用不同的语法:setenv, export...)

 

◆2. 键入 emctl secure ,可以看到全部的选项:

secure oms

 

[] [-reset]

secure agent

secure em

secure dbconsole

 

[]

secure setpwd

secure status [oms url]

secure lock | unlock

 

 

◆3. 以配置oms为例

 

◆3.1 先停掉所有与oms相关的 服务(opmnctl stopall)

 

◆3.2 敲入: emctl secure oms,会让你输入registration password,然后系统会产生相关的证书文件, 如果一切顺利的话,系统会有提示配置成功的信息

 

◆3.3 重新启动服务(opmnctl startall)

缺省情况下,7777和4889这两个端口是可用的, 配置成secure 模式后,4888端口是支持SSL协议的. 从$EM_HOME\sysman\config目录下的emoms.properties文件中可以看到配置信息.

 

◆3.4 检测oms是否已经运行在https协议下

emctl secure status oms url

 

注意: URL 要输入完整,

例如: https://myserver:4888/em/upload/

 

◆4. Agent, DBconsole的配置基本类似.

 

◆5. 启动浏览器运行时,IE会弹出一个安装安全证书的窗口,按"确认".

 

 

二、出现了问题,怎样解决

以DB Control为例, 大致的步骤是这样的:

 

◆1. emctl status dbconsole 查看db control 的状态

 

◆2.去 $ORACLE_HOME\hostname_sid\sysman\log目录下查看相关日志(emoms.log,emagent.log等)

 

◆3. 检查配置文件 emd.properties,emoms.properties

目录: $ORACLE_HOME\hostname_sid\sysman\config

 

◆4. 确保监听器工作正常: lsnrctl status

 

◆5. 10G EM 使用的是配置文件中定义的连接串,而不是直接访问tnsnames.ora .

目录: $ORACLE_HOME\hostname_sid\sysman\config

文件: emoms.properties.

参数: oracle.sysman.eml.mntr.emdRepConnectDescriptor

 

 

三、修改了监听端口, 怎样保证 DB Control 正常运行

◆1. 修改 listener.ora 和tnsnames.ora 这两个文件:

tnsnames.ora 中需要加入:

 

 

listener_1 =

(ADDRESS = (PROTOCOL = TCP)

(HOST = xxxx)(PORT = 新的端口))

 

 

然后启动数据库:

SQL> show parameter local_listener ;

SQL> alter system set local_listener='listener_1' scope=spfile;

 

重启数据库使得修改生效

 

◆2. 修改 $ORACLE_HOME\hostname_sid\sysman\config

下的emoms.properties文件:

oracle.sysman.eml.mntr.emdRepPort=新的端口

oracle.sysman.eml.mntr.emdRepConnectDescriptor=(DESCRIPTION\=(ADDRESS_LIST\=(ADDRESS\=(PROTOCOL\=TCP)(HOST\=xxx)(PORT\=新的端口)))(CONNECT_DATA\=(SERVICE_NAME\=xxx)))

 

 

◆3. 最后,还要修改 $ORACLE_HOME\hostname_sid\sysman\emd

下的targets.xml:

 

 

◆4. 重新启动监听器和dbconsole 服务.

 

◆5. 如果嫌上面的操作麻烦,可以用emca这个命令行工具:

emca -h 查看所有可用的命令

emca -r 跳过资料档案库的创建.

 

 

四、怎样修改 DB Control 的服务端口

缺省情况下, DB Control 的端口是5500, 可以参考下面的说明更改端口。

 

如果用户想改变oms端口,必须改变以下三个文件,然后重启db control以使得改变生效:

◆1.编辑$ORACLE_HOME/_/sysman/config/emoms.properties并改变以下参数:

oracle.sysman.emSDK.svlt.ConsoleServerPort

oracle.sysman.emSDK.svlt.ConsoleServerHTTPSPort

 

◆2.编辑$ORACLE_HOME/_/sysman/config/emd.properties并改变以下参数:

REPOSITORY_URL

emdWalletSrcUrl

 

◆3.编辑$ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole__/config/http-web-site.xml并改变以下参数:

web-site port

 

注:请在修改前备份。

 

◆五、如何使用"Automatic SGA Management"

Automatic SGA Management 是 10G 引入的新特性之一,将初始化参数文件中与内存管理密切有关的几个参数抽取出来,交由数据库去自行管理(由新增加的参数SGA_TARGET来管理),在一定程序上能减轻DBA的负担.

 

至于参数的合理性,还需要结合AWR Report 去验证.

SGA_TARGET = db_cache_size + db_nk_cache_size(n=2,4,...)

+ db_keep_cache_size + db_recycle_cache_size +

shared_pool_size + java_pool_size + large_pool_size + xxxx

 

xxx: 是一个保留值,从目前的实验来看,基本是4M

 

步骤:

◆1.

alter system set sga_target=300m scope=both

create pfile from spfile;

shutdown immediate;

 

 

修改init.ora 文件,将这些参数的值设成0:

db_cache_size, shared_pool_size, java_pool_size,large_pool_size

 

 

◆2. 启动SQLPLUS,以新的pfile文件启动数据库

SQL> startup pfile='....'

 

 

让我们来看看调整的结果:

SQL> select name, block_size, current_size from v$buffer_pool;

name block_size current_size

 

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

 

KEEP 8192 204

SQL> Select pool, sum(bytes)/1024/1024 as "M bytes" from v$SGASTAT

group by pool;

pool M bytes

 

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

 

java pool 4

 

large pool 4

 

shared pool 84

 

205.002403

205.002403=buffer cache + log buffer + fixed sga + all others ...

 

 

改动java pool的值

SQL> alter system set java_pool_size=20M;

 

SQL> select name, block_size, current_size,prev_size from v$buffer_pool;

name block_size current_size prev_size

 

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

 

KEEP 8192 188 204

SQL> Select pool, sum(bytes)/1024/1024 as "M bytes" from v$SGASTAT

group by pool;

pool M bytes

 

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

 

java pool 20

 

large pool 4

 

shared pool 84

 

189.002403

 

可以看出, db_cache_size的值已经被自动调小了.

 

再把java pool 的值改回去

SQL> alter system set java_

[1] [2] [3]  下一页

赞助商连接