oracle 10g常见问题精选
一、怎样配置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 | unlock3. 以配置oms为例
3.1 先停掉所有与oms相关的 服务(opmnctl stopall)
3.2 敲入: emctl secure oms,会让你输入registration password,然后系统会产生相关的证书文件, 如果一切顺利的话,系统会有提示配置成功的信息
3.3 重新启动服务(opmnctl startall)
缺省情况下,7777和4889这两个端口是可用的, 配置成secure 模式后,4888端口是支持SSL协议的. 从$EM_HOMEsysmanconfig目录下的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_HOMEhostname_sidsysmanlog目录下查看相关日志(emoms.log,emagent.log等)
3. 检查配置文件 emd.properties,emoms.properties
目录: $ORACLE_HOMEhostname_sidsysmanconfig
4. 确保监听器工作正常: lsnrctl status
5. 10G EM 使用的是配置文件中定义的连接串,而不是直接访问tnsnames.ora .
目录: $ORACLE_HOMEhostname_sidsysmanconfig
文件: 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_HOMEhostname_sidsysmanconfig
下的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_HOMEhostname_sidsysmanemd
下的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 + xxxxxxx: 是一个保留值,从目前的实验来看,基本是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_pool_size=8M;
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 name, block_size, current_size,prev_size from v$buffer_pool;
pool M bytes
-------------------------------------------------
java pool 20
large pool 4
shared pool 84
189.002403这一次, db_cache_size的值没有变化 , JAVA_POOL_SIZE的值也没有变化
修改large pool的值为16M
SQL> alter system set large_pool_size=16M;
System altered.
SQL> select name,block_size,current_size,prev_size from v$buffer_pool;
NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE
-------------------- ---------- ------------ ---------
DEFAULT 8192 176 188
SQL> Select pool, sum(bytes)/1024/1024 as "M bytes" from v$sgastat group by pool;
POOL M bytes
------------ ----------
java pool 20
large pool 16
shared pool 84
177.002403这次,db_cache_size和large_pool_size的值都变了
同样,调大shared_pool_size后, db_cache_size会自动减小.
虽然db_nk_cache_size的值不会随着workload 的改变而自动调整, 我们还是可以看看手工改动db_nk_block_size 的情况
SQL> alter system set db_2k_cache_size=4m;
System altered.
SQL> select name,block_size,current_size,prev_size from v$buffer_pool;
NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE
---------------- ----------------- ------------ ----------
DEFAULT 8192 172 176
DEFAULT 2048 4 0
SQL> alter system set db_2k_cache_size=0;
System altered.
SQL> select name,block_size,current_size,prev_size from v$buffer_pool;
NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE
----------------- ---------------- ------------------ --------------
DEFAULT 8192 176 172
SQL> alter system set db_2k_cache_size=8m;
System altered.
SQL> select name,block_size,current_size,prev_size from v$buffer_pool;
NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE
-------------------- ---------- ------------ ----------
DEFAULT 8192 168 176
DEFAULT 2048 8 0结论: 手工调整db_nk_cache_size确实会影响原有的参数.
最后说一点: SGA_TARGET参数与SGA_MAX_SIZE参数有密切关联,基本的原则就是前者的值不能大于后者的值.
总结:设置了SGA_TARGET参数后,数据库会在这个范围内自行调整;但许多情况下, 怎样合理地设置这个参数仍是DBA需要考虑的问题, 他们需要结合AWR Report等辅助的工具来分析.( 当然,我们可以根据Advisor的历史信息而确定一个比较合理的值)。
上一篇:Oracle 10G数据库软硬件环境的要求 下一篇:Oracle 8i中回滚段使用和ORA-1555
相关源码免费下载
相关文章
- 优化数据库大幅度提高Oracle的性能
- Oracle Spatial新驱动的添加记录实例
- Oracle数据库的常用函数列表快速查
- Oracle10g用RMAN恢复临时表空间增强
- Oracle 10G数据库自动内存管理分析
- Oracle数据库的ORA-00257故障解决过程
- Oracle基本知识及问题解决
- Oracle 9i数据库的配置参数
- 三方面描述Oracle优化R方法(Method R)
- Oracle数据库入门心得
- Oracle互联网文件系统达到信息共享
- 如何恢复只有完好数据文件的Oracle数据
- MYSQL,Oracle,SQL数据库在JSP中的驱动
- 一个通过Oracle8i存储过程,返回记录集的程序包(存储过程)
- Oracle9i RAC Archivelog方式修改
- 建立与Oracle服务器连接的两种模式
- Oracle专家调优秘密
- 如何利用oracle 10g的列值掩码技术隐藏敏感数据
- Oracle有关Linux常见问题的详细解答
- Oracle进程结构和内存结构的实例
站长推荐
- Linux内核源代码的阅读及相关工具介绍
- 笔记本双系统的grub系统引导恢复
- Linux操作系统内核编译详解(1)
- Linux内核分析方法谈(1)
- 详解Linux 2.6内核新变化(2)
- Linux内核如何从2.4升级到2.6
- 详解Linux 2.6内核新变化(1)
- Linux操作系统内核编译详解(2)
- 使用Debian Linux操作系统架设安全的网关
- 如何在Debian操作系统中安装和使用lvm2
- Debian系统下Latex+Dvipdfm中文解决方案
- Debian Linux系统下英文系统切换为中文
- Debian GNU/Linux的安装过程
- 如何挂载windows分区和U盘
- Linux中增加Swap分区文件的步骤方法
- Debian4(Etch)系统简要安装详细介绍
- Helix Server 流媒体服务器在Debian上的安装
- debian tips
- Debian Linux与 Ubuntu Linux的关系
- Debian学习 Linux系统服务器的搭建方法
最近更新
- 帮你解决Oracle 9i和Tomcat的端口冲突
- 利用UTL_FILE包实现文件I/O操作
- 脱机备份与恢复实战
- Oracle9i RAC Archivelog方式修改
- Oracle数据库中通过ADO数据存取分析
- 实战经验Oracle数据库基本操作步步详解
- Oracle 10G 中的"回收站"
- 如何在Oracle 10g中跟踪SQL
- 将Oracle的数据倒入EXCEL中的方法
- Oracle函数之常见单行字符串函数
- Oracle中有效的Drop一张大表
- Oracle数据库中分区表的操作方法简介
- Oracle开发之ASP调用oracle存储过程
- 关于Oracle存储过程测试
- Oracle数据库及应用程序优化
- 在.NET中如何使用Oracle数据库事务
- 分析Oracle8i/9i的重做日志和归档日志
- 移动Oracle数据库的表空间方法介绍
- Oracle新的Linux应用环境测试标准
- Oracle容灾复制解决方案SharePlex
