`

oracle在linux下安装遇到的所有的问题总结说明(3)

阅读更多
大部分内容为已经遇到过的问题解决方案,基本都是谷歌出来的,留下给自己查询用。
采用OFA的时候需要手动创建一些文件夹,/u01/app/oracle/oraInventory 记得为每一级路径添加写的权限,否则会报错 ,弹出错误对话框“'S_OWNER_SYSTEM_EPERM”

derek@derek-desktop:/$ sudo chmod -R 777 /u01/app/

derek@derek-desktop:/$ sudo chmod -R 777 /u01/app/oracle/

derek@derek-desktop:/$ sudo chmod -R 777 /u01/app/oracle/oraInventory/


修改内核参数,sudo gedit /etc/sysctl.conf,添加如下内容: kernel.shmmax = 3147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem    = 250 32000 100 128

fs.file-max  = 65536

net.ipv4.ip_local_port_range = 1024 65000

注:shmmax(最大共享内存)是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的话,在创建数据库到约86%的时候就会挂掉。

修改limits.conf

添加下面的行到/etc/security/limits.conf以修改你的资源限制:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

让修改生效

修改了以上文件后,必须让其生效,重启系统,或者切换到root用户下用以下的方式改变内核运行参数:

#sysctl -p

添加下列行到~/.bashrc:

# oracle 10g

export ORACLE_BASE=/home/derek/oracle

export ORACLE_HOME=$ORACLE/product/10.2.0/db_1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export ORACLE_OWNER=derek

export ORACLE_TERM=xterm

如果你的操作系统是中文的,运行安装的时候会出现乱码,解决办法:进入java的安装路径

$ cd /usr/lib/j2se/1.4/lib

$ sudo cp font.properties.zh_CN_UTF8.Sun font.properties

将最下面的一行改为如下:

filename.-misc-fzsongti-medium-r-normal--*-%d-*-*-p-*-iso10646- 1=/usr/share/fonts/VeraSansYuanTi/VeraSansYuanTi-Regular.ttf

appendedfontpath=/usr/share/fonts/VeraSansYuanTi

java就支持中文显示了。

运行安行是使用系统jre:方法如下:./runInstaller  -jreLoc /usr/lib/j2se/1.4/jre

接着一直安默认选项装下去就可以了.在安装过程中记得要将创建的数据库的isqlplus和em的url保存在某个文件中,以后登录数据库进行数据库的管理是通过浏览器使用那个url来进行登录的,oracle 10g采用B/S架构.


Oracle安装完成之后,默认状态下oracle的服务不会在系统启动的时候自动启动,我们可以在终端输入命令isqlplus start/emctl start/dbstart 来启动oracle的服务,,但是更简单的方式是设置这些服务在系统启动时自动启动,,需要创建一个脚本. /etc/init.d/./oracledb,脚本的内容如下:

#!/bin/bash

#

# /etc/init.d/oracledb

#

# Run-level Startup script for the Oracle Instance, Listener, and

# Web Interface

export ORACLE_HOME=/home/derek/oracle/product/10.2.0/db_2

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

ORA_OWNR="derek"

# if the executables do not exist -- display error

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannot start"

exit 1

fi

# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display

case "$1" in

start)

# Oracle listener and instance startup

echo -n "Starting Oracle: "

su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"

su $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"

touch /var/lock/oracle

su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"

echo "OK"

;;

stop)

# Oracle listener and instance shutdown

echo -n "Shutdown Oracle: "

su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"

su $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"

rm -f /var/lock/oracle

su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"

echo "OK"

;;

reload|restart)

$0 stop

$0 start

;;

*)

echo "Usage: `basename $0` start|stop|restart|reload"

exit 1

esac

exit 0

脚本创建完成之后,为该脚本添加执行的权限sudo chmod +x /etc/init.d/./oracledb

这样我们在系统启动的时候只要输入命令sudo /etc/init.d/./oracledb start/stop/reload来对数据库对oracle的服务进行操作


Oracle10g由于修改主机名数据库实例崩溃,且出现ORA-600(keltnfy-ldmInit)错误。




同事在升级一个测试库的过程中碰到了这个问题,由于通过hostname命令修改了主机名称,导致Oracle 10201 for Linux X86-64环境出现实例崩溃,在alert文件中出现了ORA-600(keltnfy-ldmInit)错误。
在alert文件中出现下面的错误信息:
Errors in file /opt/ora10g/admin/testzj/udump/testzj_ora_4109.trc:
xu&|}K$^0ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
U6~tFI G(t0USER: terminating instance due to error 600ITPUB个人空间#{ i)}|.ZZ-q
Instance terminated by USER, pid = 4109
对应的trace文件中,详细信息如下:
ksedmp: internal or fatal errorITPUB个人空间 e9\3m"HYI'M:h7f_^
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
9T?y5M ZGbx L0Current SQL information unavailable - no session.
[3WVsW3Gx'\?0----- Call Stack Trace -----ITPUB个人空间PT"N5Rq6@7O4pEH
calling              call     entry                argument values in hex     ITPUB个人空间,mrbR/ct$W
location             type     point                (? means dubious value)   
5U5h-W(R\E!X'V^|0-------------------- -------- -------------------- ----------------------------
8l@Dz1I1i1Hv0ksedst()+31          call     ksedst1()            000000000 ? 000000001 ?ITPUB个人空间)X ql\2I
                                                   000000000 ? 000000000 ?ITPUB个人空间j0[)a,j(pD'a
                                                   000000000 ? 000000001 ?
*Y-D1P"?*K l B%^.C0ksedmp()+610         call     ksedst()             000000000 ? 000000001 ?ITPUB个人空间:R&U~qH1?'E
                                                   000000000 ? 000000000 ?ITPUB个人空间!F;lTY N~9H|
                                                   000000000 ? 000000001 ?ITPUB个人空间Y|rs%ZB
ksfdmp()+21          call     ksedmp()             000000003 ? 000000001 ?ITPUB个人空间!q&j0\ Zy!CGe
                                                   000000000 ? 000000000 ?
3]-x._9T }"dU({_Hn0                                                   000000000 ? 000000001 ?
Rp'B:ViBD0kgerinv()+161        call     ksfdmp()             000000003 ? 000000001 ?
M!E2O1T+Ed,}"t9T m5z0                                                   000000000 ? 000000000 ?ITPUB个人空间,am&U.o0Vd\"z
                                                   000000000 ? 000000001 ?
2WL$cw e0kgeasnmierr()+163    call     kgerinv()            006579D40 ? 2AAAACA10118 ?
^N:w^vVK:Y0                                                   000000000 ? 000000000 ?
%O4N,um!q-B L\!t0                                                   000000001 ? 000000001 ?ITPUB个人空间L;l d M6y
keltnfy()+286        call     kgeasnmierr()        006579D40 ? 2AAAACA10118 ?
q LQVc.o0                                                   000000000 ? 000000000 ?
Oracle的meatlink上文档Doc ID: Note:5486074.8的描述:当Oracle无法确定主机名或者网络地址的时候,会出现这个错误信息。
Oracle在10.2.0.4和11.1.0.6中解决了这个bug。Oracle的metalink上指出在10.2.0.4以前的都可能导致这个错误的产生。
不过测试发现Oracle9i并不会由于修改hostname而导致错误的产生。



是由于 hostname 和  /etc/hosts 配置不一直导致,修改/etc/hosts 就可以了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics