如何编写自动启动orcale的启动脚本? (200分)

  • 主题发起人 主题发起人 刘芳
  • 开始时间 开始时间

刘芳

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在Linux7.3上安装Oracle817请高人指教!
另:IBMJava118-SD.-1.1.8-5.0.i386.rpm哪里有下载?
搞定,不知到各位老大是不懈回答如此简单的问题还是为什么!

重新问个问题吧:如何编写自动启动orcale的启动较本?
环境Linux7.2 Oracle8.17 组dba 用户oracle 口令zhaqiong123
 
还有glibc-2.1.3-stubs.tar.gz哪里有下载的?
 
我有,可怎么给你呢?
 
东西都找到,oracle817已经安装到RedHat7.2上
但有一事不明白:
服务器端简体中文
客户端简体中文
但为何中文确显示不了呢?
 
哪里找到的?
 
查看字符集合是否一致
zhs16cgb231280
zhs16gbk
两种字符集合是不一样的
 
服务器端我选择 简体中文安装 到后来就再net8 配置后不动了,我只有选英文后再.bash_profile中
配置环境变量NLS_LANG=NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
客户端我安装简体中文时注册表中NLS_LANG等于NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
或者安装英文客户端设置注册表中NLS_LANG=NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
中文都出不来!
 
我在turbolinux 6.5上安装Oracle8.1.0.6.0,数据库oracle字符集用的是
american_america.zhs16cgb231280,client端也是用的这个,用BDE访问,显示正常,
没有问题啊。
 
由于许多原因必须在RedHat7.2安装817
 
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=1354567
关注一下吧没有人提起来呀!用MODEM打电话利用PC机的耳机和麦克风,自己编程如何实现?
(我知道有现成的软件可以用,但是我想自己实现这个上东西)
QQ:65466700
MAIL: along@b2sun.com
TEL :13802785865
http://b2sun.com
请各位大侠多多指教!
 
看你说的配置,客户端应该没有问题
现在的问题是你的数据库用的是什么字符集创建的,你的中文是怎么保存到数据库的?
从导出文件导入还是在客户端新增加的记录?
如果是导入的,有没有注意到导入时有没有进行字符集转换的字样?
所以,关键还是在于你的数据库的字符集。
 
搞定,不知到各位老大是不懈回答如此简单的问题还是为什么!
重新问个问题吧:如何编写自动启动orcale的启动较本?
环境Linux7.2 Oracle8.17 组dba 用户oracle 口令zhaqiong123
 
加上
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1353436
的533分!
有人会吗?
 
* 编辑修改 /etc/oratab文件:
找到Oracle-SID指示行如:
$BROS:/u0/Oracle:N
修改为:
$BROS:/u0/Oracle:Y
----
以允许Oracle服务器自启动。
* 修改TNS相关的文件权限:
chown oracle.dba $ORACLE_HOME/bin/tnslsnr
chmod 750 $ORACLE_HOME/bin/tnslsnr
chown oracle.dba $ORACLE_HOME/network/log
chmod 775 $ORACLE_HOME/network/log
chown root.dba $ORACLE_HOME/network/log/listener.log
chmod 664 $ORACLE_HOME/network/log/listener.log

6. 自动启动及停止
6.1 dbstart 及 dbstop
Oracle 资料库的自动启动及停止可籍 Oracle 提供的 dbstart 及 dbshut 档达成 (在 7.3.3.0.0 中)。这些档案又耍依靠 /etc/oratab 存在才能使用(虽然更改 dbshut 和 dbstart 档可使解除这限制。)
/etc/oratab 档格式如下:

--------------------------------------------------------------------------------
SID:ORACLE_HOME:AUTO

--------------------------------------------------------------------------------
例如

--------------------------------------------------------------------------------
orcl:/home/oracle/7.3.3.0.0:Y
leaveup:/home/oracle/7.3.2.1.0:N

--------------------------------------------------------------------------------
6.2 init.d 及 rc.d
要在开机关机时自动启动和结□资料库的话,你需要修改 Linux 的启动命令稿。这并不困难,不过,我需要指出这些改动因应不同的 Linux 发行版本(slackware, debian, redhat 等)而有所不同。我这些例子适用於 Redhat 5.0。要为你所用的 Linux 作出修改,请先参考你手头上的 Linux 文件。(虽然这实际上应该适用於所有 Sys V UNIX。)
首先,我们要建立会执行 /etc/rc.d/init.d 目录中 dbshut 及 dbstart 的命令稿。把以下档案命名为 /etc/rc.d/init.d/oracle:

--------------------------------------------------------------------------------
#!/bin/sh
#
# /etc/rc.d/init.d/oracle
# 解说∶启动及停止 Oracle 资料库和监听程式
# 检查如何执行命令稿
case "$1" in
start)
echo -n "Starting Oracle Databases: "
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
su - oracle -c dbstart >> /var/log/oracle
echo "Done."
echo -n "Starting Oracle Listeners: "
su - oracle -c "lsnrctl start" >> /var/log/oracle
echo "Done."
echo ""
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
echo -n "Shuttingdo
wn Oracle Listeners: "
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Shuttingdo
wn Oracle Databases as part of systemdo
wn." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
su - oracle -c "lsnrctl stop" >> /var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
echo -n "Shuttingdo
wn Oracle Databases: "
su - oracle -c dbshut >> /var/log/oracle
echo "Done."
echo ""
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
;;
restart)
echo -n "Restarting Oracle Databases: "
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
su - oracle -c dbstop >> /var/log/oracle
su - oracle -c dbstart >> /var/log/oracle
echo "Done."
echo -n "Restarting Oracle Listeners: "
su - oracle -c "lsnrctl stop" >> /var/log/oracle
su - oracle -c "lsnrctl start" >> /var/log/oracle
echo "Done."
echo ""
echo "----------------------------------------------------" >> /var/log/oracle
date +"! %T %a %D : Finished." >> /var/log/oracle
echo "----------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
*)
echo "Usage: oracle {start|stop|restart}"
exit 1
esac

--------------------------------------------------------------------------------
不要吝啬於检查这个档案到底有没有真的正确地启动和停止系统中的资料库。请检查记录档(log file),看看有没有错误讯息。
弄妥这命令稿後,我们要在正确的执行等级目录 (runlevel directories) /etc/rc.d/rcX.d 中建立及删除符号连结 (symbolic links)。
以下指令确保在执行等级 2, 3 及 4 下会叫出资料库∶

--------------------------------------------------------------------------------
$ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle
$ ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle
$ ln -s ../init.d/oracle /etc/rc.d/rc4.d/S99oracle

--------------------------------------------------------------------------------
要在重新启动时停止资料库,我们需要以下连结∶

--------------------------------------------------------------------------------
$ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # 停止
$ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle # 重新启动
 
谢谢 zhaqiong Oracle 全部搞定!
 

Similar threads

I
回复
0
查看
639
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部