oracle出现EOF9,oracle 常见错误

一、怎样配置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要输入完整,  例如:

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_size2.启动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 172SQL> 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的历史信息而确定一个比较合理的值)。

一、乱码问题Redhat RHEL AS3下安装Oracle DB 10g中文乱码问题不少兄弟反映在rhel3下安装oracle10g时出现乱码,其实在安装和使用时出现乱码的地方有多个,可以分为三类:  1.安装时的乱码2.一些应用程序的乱码,比如dbca, netca  3.一些基于oc4j的web应用的乱码,比如isqlplus, em

造成这些问题的原因都是一个,就是这些程序都使用jdk,相应的jdk(或jre)使用的字体配置文件font.properties中的字体和操作系统的字体或者字体配置文件不匹配.解决的办法是把两者改成一致.

1.下载,解包ship.db.cpio.gz,生成目录 Disk1

2. cd Disk1/stage/Components/oracle.swd.jre/1.4.2.0.0/1/DataFiles/  unzip all_except_bin.jar (这时生成一个jre的目录)cd jre/1.4.2/lib/mv font.properties font.properties.bakcp font.properties.zh_CN.Redhat8.0 font.propertiescd ../../../zip -r all_except_bin.jar.new jre/mv all_except_bin.jar.new all_except_bin.jar  (其实就是把font.properties文件换掉.这样安装时汉字显示就没有问题了)

3.如法炮制,把Disk1/stage/Components/oracle.jdk/1.4.2.0.0/1/DataFiles/sol_bin.1.1.jar文件里面的font.properties文件换掉,创建数据库和执行网络配置时的乱码就没有了. isqlplus和em的乱码也解决了。

用IE登录Linux服务器上的em出现的乱码不知道大家有没有注意到,EM显示的中文翻译很是糟糕,up/down动不动就翻译成“向上”“向下”,让人哭笑不得.很多朋友都说,干脆给显示英文算了,可是怎么显示呢?

好了,现在我们有一种办法很容易的解决这个问题:

打开你的IE浏览器,选择'工具"-->Internet选项-->常规

选择“语言”,默认只有“中文”,选择“添加”,加入英语(美国),调整顺序,把”英语(美国)“放到最上面

OK ,确定。

打开你的

问题解决了。

二、10g如何更改归档模式1.对于初始化文件,只需要修改log_archive_dest_n这个参数.n=1,2,3,....10, Oracle缺省会使用log_archive_dest_10这个参数来使用flash recovery area里面存放的归档日志文件,大小由参数db_recovery_file_dest_size来决定.

修改:  log_archive_dest_1="location=c:\oracle\10g\...\archivelog quota_size=2G"如果归档使用flash recovery area,上面的参数不需要指定任何值,Oracle会自动使用db_recovery_file_dest这个参数所指定的路径。

2.启动sqlplus:startup mount pfile='....'alter database archivelog;  (如果启用flashback, alter database flashback on)

alter database open;  archive log list(查看是否运行在归档模式)  (如果前面的log_archive_dest_n没有设置,则会显示USE_DB_RECOVERY_FILE_DEST)

3.怎样变成noarchivelog模式步骤基本同上。

三、用dblink在10G中做create table ..as select * from ..varchar2()的column宽度变成3倍问题描述:例如:varchar2(255)==>varchar(765)

测试:1.环境:两台机器都装的10G的数据库2.测试步骤和结果:

SQL> connSQL> create database link link_server2

connect to test1 identified by test1

using 'db10G_server2'

SQL> connSQL> create table test1_t1 as select * from all_objects

where rownum<=3000;

SQL> desc test1_t1;

Name Null? Type

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

OWNER VARCHAR2(30)

OBJECT_NAME VARCHAR2(30)

SUBOBJECT_NAME VARCHAR2(30)

OBJECT_ID NUMBER

DATA_OBJECT_ID NUMBER

OBJECT_TYPE VARCHAR2(19)

CREATED DATE

LAST_DDL_TIME DATE

TIMESTAMP VARCHAR2(19)

STATUS VARCHAR2(7)

TEMPORARY VARCHAR2(1)

GENERATED VARCHAR2(1)

SECONDARY VARCHAR2(1)

SQL> connSQL> create table test1_linkt1 as

select * from;

SQL> desc test1_linkt1

Name Null? Type

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

OWNER VARCHAR2(60)

OBJECT_NAME VARCHAR2(60)

SUBOBJECT_NAME VARCHAR2(60)

OBJECT_ID NUMBER

DATA_OBJECT_ID NUMBER

OBJECT_TYPE VARCHAR2(38)

CREATED DATE

LAST_DDL_TIME DATE

TIMESTAMP VARCHAR2(38)

STATUS VARCHAR2(14)

TEMPORARY VARCHAR2(2)

GENERATED VARCHAR2(2)

SECONDARY VARCHAR2(2)

表结构一样,但是列的长度确实变了,通过dblink创建的表的varchar2列的长度是原表的两倍

再来看看字符集

1.Server1上的数据库字符集SQL> column value format A20

SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';

value

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

ZHS16GBK

2. Server2上的数据库字符集SQL> connSQL> column value format A20

SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';

value

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

AL32UTF8

四、在10g不支持的Linux发行版上安装10g的解决方法正常安装的10g只支持Red Hat Enterprise Linux 2.1 and 3, and on UnitedLinux 1.0。如果是其它的版本,比如fedora,rh9等,10g将会说不支持,而不允许安装,解决方法如下:

1.运行runInstaller -ignoreSysPrereqs,这样会跳过检查

2.修改/etc/redhat-release文件,让10g认为自己处于支持的操作系统中,运行下面的命令即可su - root

cp /etc/redhat-release /etc/redhat-release.backup

cat > /etc/redhat-release << EOF

Red Hat Enterprise Linux AS release 3 (Taroon)

EOF

安装完毕,再将那个文件还原:su - root

cp /etc/redhat-release.backup /etc/redhat-release

3.同样的思路,我们可以去修改Oracle的install/oraparam.ini文件:

[Certified Versions]

Linux=redhat-2.1,UnitedLinux-1.0,redhat-3

把这个屏蔽掉,或者是添加新的内容:[Certified Versions]

Linux=redhat-2.1,UnitedLinux-1.0,redhat-3

[Linux-redhat-2.1-optional]

TEMP_SPACE=80

SWAP_SPACE=150

MIN_DISPLAY_COLORS=256

[UnitedLinux-1.0-optional]

TEMP_SPACE=80

SWAP_SPACE=150

MIN_DISPLAY_COLORS=256

[Linux-redhat-3.0-optional]

TEMP_SPACE=80

SWAP_SPACE=150

MIN_DISPLAY_COLORS=256

对这个地方定制一下就可以了。注:有兴趣的朋友不妨测试一下,其实在这个地方可以定制很多东西的,但是不推荐在正式的应用中这么做

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值