您的位置:首页 > 数据库 > Oracle

Ubuntu7.10上安装Oracle10g

2009-02-17 08:59 302 查看
今天终于在Ubuntu7.10上成功安装Oracle10g。为了安装Oracle

第一步,我们需要一个Ubuntu。

第二步,安装必需的包
apt-get install gccmake binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5 alien

第三步,创建用户
在很多教程中都用命令去创建用户。但我发现用命令去创建的用户,在图形界面下用得不甚理想,所以用图形界面的用户管理器增加一下新组叫dba,然后再增加一个普通桌面的用户叫oracle(按默认的设置即可),用户组设为dba,接着用命令增加一个组及用户

addgroup nobody
usermod -g nobodynobody

第三步,复制文件及设置安装目录
将安装文件解压到 / ora_ins_disk里。复制后,为了确保能顺利进行安装,要查看一下runInstaller及unzip
两个文件属性,确保其具有x属性,如果没有那么要改动一下文件的属性:

cd /ora_ins_disk
chmod 755runInstaller
cd install
chomd 755 unzip

我准备把oracle安装到/home/oracle/ora10中,而数据文件也放在这个目录的下层子目录中:

cd/home/oracle

mkdir ora10
chown -R oracle:dbaora10

第四步,修改设置
A.设置swap区
Oracle10g至少需要500M的内存和400M的交换空间,要查看swap区是否足够大小,用fdisk -l 命令去查,如果小于400M的空间,那么就要增加swap的大小

重设交换分区可以使用如下操作:

dd if=/dev/zeroof=tmp_swap bs=1k count=900000

chmod 600 tmp_swap
mkswap tmp_swap
swapon tmp_swap
完成安装以后,可以释放这个空间:
swapoff tmp_swap
rm tmp_swap
count值是根据你需要调整的交换分区大小而定。

B.修改 sysctl.conf
添加如下的行到/etc/sysctl.conf中:

kernel.shmmax =3147483648

kernel.shmmni = 4096
kernel.shmall =2097152

kernel.sem = 25032000 100 128

fs.file-max = 65536
net.ipv4.ip_local_port_range= 1024 65000

C.修改 limits.conf
添加如下的行到/etc/security/limits.conf中:

* soft nproc 2407
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

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

sysctl -p

E.产生相应的软连接
创建一个文件如 kk,内容如下:

#!/bin/bash
ln -s /usr/bin/awk/bin/awk

ln -s /usr/bin/rpm/bin/rpm

ln -s/usr/bin/basename /bin/basename

mkdir /etc/rc.d
ln -s /etc/rc0.d/etc/rc.d/rc0.d

ln -s /etc/rc2.d/etc/rc.d/rc2.d

ln -s /etc/rc3.d/etc/rc.d/rc3.d

ln -s /etc/rc4.d/etc/rc.d/rc4.d

ln -s /etc/rc5.d/etc/rc.d/rc5.d

ln -s /etc/rc6.d/etc/rc.d/rc6.d

ln -s /etc/init.d/etc/rc.d/init.d

创建后,切换到 root用户去执行一下。

F.创建RedHat的版本声明文件
在/etc/redhat-release中添加以下语句,以使安装程序认为正在一个RedHat的系统上安装:

Red Hat Linuxrelease 3.1 (drupal)

G.修改环境变量
编辑/home/oracle/.bashrc,增加以下export 的内容。

(注意,在Ubnutu7.10中用户的profile文件已改名为~/.profile,有很多安装教程都是用~/.bash_profile,在7.04中不行的)

exportORACLE_HOME=/home/oracle/ora10

exportORACLE_OWNER=oracle

exportORACLE_SID=ora1
exportORACLE_TERM=xterm

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

exportLANG=zh
export
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

第五步,开始安装
注销原来的用户,改用oracle用户登录。用env查看一下环境变量是否生效。
然后进行/ora_ins_disk中进行安装

cd/ora_ins_disk
./runInstaller

在安装过程中,请使用 AdvancedInstallation,然后一路按默认的设置进行往下设置,到窗单名为 “Specify Database ConfigurationOptions”的时候,要修改以下设置:

Database CharacterSet 中选择 Simplified Chinese ZHS16GBK

在安装的后期,系统提示需要用 root用户去运行两个脚本文件orainstRoot.sh和root.sh,安装完毕后,Oracle是正常启动着的,你可以试一下连接数据库,同时也可以使用浏览器去设置一下Oracle,(url:http://localhost:1158/em/)(Oracle 10g与之前的版本都不一样,使用WEB页的企业管理器来代替以前的C/S版JAVA企业管理器)

第六步,设置自启动

创建自启动脚本
创建 oracledb脚本到/etc/init.d/oracledb,内容如下

#!/bin/bash
#
#/etc/init.d/oracledb
#
# Run-level Startupscript for the Oracle Instance, Listener, and

# Web Interface

exportORACLE_HOME=/home/oracle/ora10

exportORACLE_SID=ora1
exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

ORA_OWNR="oracle"
# if the executablesdo not exist -- display error

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

then
echo "Oraclestartup: cannot start"

exit 1
fi
# depending onparameter -- startup, shutdown, restart

# of the instanceand listener or usage display

case "$1"in
start)
# Oracle listenerand 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 listenerand 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

设置权限,放到启动脚本中去
chmod 755/etc/init.d/oracledb

update-rc.d oracledbdefaults 99

我的 oralce的安装盘中可能有些问题,所以如果只用上述的脚本是不能启动 listener的,要修改一下:

修改/home/oracle/ora10/bin/dbstart文件
查找:
# Set this to bringup Oracle Net Listener

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
将其改为:
# Set this to bringup Oracle Net Listener

ORACLE_HOME_LISTNER=$ORACLE_HOME

设置后,测试一下

/etc/init.d/./oracledbreload

如果一切正常的话,会关闭一次Oracle又再重新打开。

至此就安装完毕,但这里有个小问题一直未能解决:
如果我用中文WinXP的IE去登录管理那台Oracle服务器的话,页面中的文字会随之变为中文(在英文的浏览器下,会看到是纯英文的页面),但会有部份的字会变成“口口”字符,不知如何解决。我觉得这应该是Java问题,因为之前用tomcat写jsp 的时候,如果character encoding没写好的话,也会出现这样的问题,但在Oracle中我还不知如何解决。

写的好,我这几天也正好搞这个,关于这个中文的问题,我已经解决了,就是你可以不使用Oracle自带的JDK,而是可以使用自己安装的JDK,我就是用的自己安装的,至于如何设置JAVA中文,你可以看下http://forum.ubuntu.org.cn/viewtopic.php?t=71848这篇帖子,设置好JAVA中文环境之后,你就可以将Oracle中的JDK删掉,然后做一个符号连接,连接到你自己的JDK上就好了。呵呵。我也是先用命令行创建用户和组,但是创建出来之后,没有oracle的目录,所以就使用系统管理中的创建,然后就没什么问题了。我还没有设置自启动,看了你的文章可以试一试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: