oracle 10g常见问题精选(1)

2016-02-19 16:44 9 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享oracle 10g常见问题精选(1)的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

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

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

具体操作:

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

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

secure oms sysman password registration password

[hostname] [-reset]
secure agent registration password
secure em
secure dbconsole sysman password registration password

[hostname]
secure setpwd sysman password registration password
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_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:

Property NAME="Port" VALUE="新的端口"/

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

DEFAULT 8192 168 176

DEFAULT 2048 8 0

   结论: 手工调整db_nk_cache_size确实会影响原有的参数.

   最后说一点: SGA_TARGET参数与SGA_MAX_SIZE参数有密切关联,基本的原则就是前者的值不能大于后者的值.

   总结:设置了SGA_TARGET参数后,数据库会在这个范围内自行调整;但许多情况下, 怎样合理地设置这个参数仍是DBA需要考虑的问题, 他们需要结合AWR Report等辅助的工具来分析.( 当然,我们可以根据Advisor的历史信息而确定一个比较合理的值)。

(待续...)

来源:https://www.tulaoshi.com/n/20160219/1612956.html

延伸阅读
目标 数据库恢复 恢复控制文件 不完全恢复的原因 使用EM完成不完全恢复 使用RMAN完成不完全恢复 使用SQL完成不完全恢复 在RESETLOGS操作之后完成数据库恢复 10g有三种方法恢复:1.传统的用户管理恢复过程2.RMAN 3.使用EM 理解Restore(重建)和Recovery(恢复)过程 重建:包括复制必...
近日,为了适应新的形式,响应ORACLE 公司号召,体验ORACLE 公司的新产品的功能,决定对其中一个数据库由8i 迁移到10g ,但作业过程中,出现了一些问题,现在给大家共享一下 迁移对象: SUN SOLARIS8 ORACLE8.1.7.4 NLS_CHARACTERSET ZHS16GBK 接受对象: IBM AIX 5.2 ORACLE10.1.0.5 NLS_CHARACTERSET...
我在安装ORACLE 10g过程中遇到了两个主要问题:如何彻底删除旧版本和如何配制MS Loopback Adapter。现把解决办法贴出来,供大家参考。 一,如何彻底删除旧版本的oracle 1,在cmd里运行DBCA,在这里删除oracle实例,有多少删多少; 2,在开始程序中找到oracle子目录下的Universal Installer,运行以卸载oracle软件; 3...
     在前面的文章,我为大家介绍了如何使用Oracle 10g的虚拟私有数据库特征(VPD)掩藏某列数据TechRepublic的成员BrooklynPennyPincher建议我写一篇关于VPD与关系视图的比较文章。      前面文章中小技巧的任务是假如department_id的值等于60,那么掩藏报告中的salary和commission_pct列。因为谓词...
    Oracle 10g的最优秀功能之一是顾问框架(Advisory Framework),它是一个优化顾问集合,可帮助您充分利用数据库。其中的一个顾问——SQL访问顾问(Access Advisor)——建议对模式中的索引和物化视图进行改变来提高性能。      但是,由于顾问框架(Advisory Framework)被一般化,以支持各种不同的顾...

经验教程

783

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部