来源:心情 客栈 作者:农夫 添加时间:2004-11-12
关键字:Debian Oracle
1 安装准备
1.1 系统的准备
本文是在Debian linux下Oracle10g的安装笔记。我假设您已经成功的安装并配置了Debian Linux。
1.2 依赖包的安装
在开始Oracle的安装之前,请您确保您至少已经安装了以下软件包。
make gcc g++ libc6-dev
注意:我不确 定,您是否只需要安装以上软件包,但我可以确定的是,您必须安装以上软件包。^_^。软件包的安装: apt-get install make gcc g++ libc6-dev
1.3 创建用户和组
oracle安装需要两个unix用户组和一个运行时的oracle用户。
以root登录:
[root@james]# groupadd dba
[root@james]# groupadd oinstall
[root@james]# useradd -g oinstall -G dba -m oracle
[root@james]# passwd oracle
1.4 创建目录
有很多文档,建议您将oracle安装到一个独立的分区上面。比如:/opt。请您根据您的需要选择合适自己的安装目录。在本文档中,我们假设 oracle的安装目录为/usr/local/ora10。
确保有至少3.5G的可用空间。
[root@james]# mkdir -p /usr/local/ora10/product/10.1.0
[root@james]# mkdir /var/opt/oracle
[root@james]# chown oracle.dba /var/opt/oracle
[root@james]# chown -R oracle.dba /usr/local/ora10
[root@james]# chmod 755 /var/opt/oracle
您生成了oracle的运行时路径,并且授写权限给oracle用户,执行权限给dba组。
1.5 设置内核参数
1.5.1 修改sysctl.conf
添加如下的行到/etc/sysctl.conf中:
kernel.shmmax = 536870912
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是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的话,在创建数据库到约76%的时候就会挂掉。祝您好运。^_^
1.5.2 修改limits.conf
添加下面的行到/etc/security/limits.conf以修改你的资源限制:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
1.5.3 让修改生效
修改了以上文件后,您必须让其生效,您重启系统,或者用以下的方式改变内核运行参数:
[root@james]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[root@james]# echo 536870912 > /proc/sys/kernel/shmmax
[root@james]# echo 4096 > /proc/sys/kernel/shmmni
[root@james]# echo 2097152 > /proc/sys/kernel/shmall
[root@james]# echo 65536 > /proc/sys/fs/file-max
[root@james]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
1.6 设置Oracle用户环境
以oracle用户登录:
%su – oracle
修改~/.bash_profile文件,去掉下列三行的注释符,使.bashrc文件生效:
#if [ -f ~/.bashrc ]; then
# . ~/.bashrc
#fi
添加下列行到~/.bashrc:
# oracle 10g
export ORACLE_BASE=/usr/local/ora10
export ORACLE_HOME=/usr/local/ora10/product/10.1.0
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=compiere
export ORACLE_TERM=xterm
# Edit paths
export LD_LIBRARY_PATH=/usr/local/ora10/product/10.1.0/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/ora10/product/10.1.0/bin:$PATH
# Set DISPLAY
export DISPLAY="127.0.0.1:0.0"
我是将上面的内容保存到另一个文件中,.bash_oracle,然后在.bashrc中使用source .bash_oracle进行调用 的。您可以根据您的好恶进行设置。您需要注意的是,ORACLE_BASE和ORACLE_HOME的设置一定得和您在前面创建的目录相符。 ORACLE_SID是默认数据库的名称,在本文档中,我们假设默认的数据库名叫compiere,如果您想用其他的名字,请您作相应的修改。
在有些文档中,还建议您需要设置一些其他的内核参数。但是我在安装的时候,没有设置。我的内核是2.6.8。
差别忘记,您还得把. bash_profile文件中的umask=022这一行前的注释符去掉。
1.7 设置DISPLAY
我想您肯定是不想以Oracle用户登录,启动X窗口来进行安装的啦。如果您想直接以oracle用户启动X,进行安装,您可以忽略这一步。
我们假设我们以一个普通用户james来启动gnome。那么,如果您要以oracle用户的身份来进行安装,则您必须首先启用X的TCP/IP连接。
Debian下默认关闭了TCP/IP连接,所以首先要打开X的TCP/IP连接。
在/etc/X11/xinit/xserverrc文件中,您将会看到下面这一行:
exec /usr/bin/X11/X -dpi 100 -nolisten tcp
去掉其中的nolisten,然后重启就OK了。
作为普通用户,打开TCP/IP连接后可能连不上X服务器。需要在用户的.bashrc(/home/james/)中添加下面这一行:
alias startx='startx -- -deferglyphs 16'
然后,您切换到root用户下,添加127.0.0.1的X连接权限:
shell$sudo su -
shell#xhost +127.0.0.1
然后,您就可以继续下一步啦。
请注意:如果您重启系统后,必须 再次执行
xhost +127.0.0.1
2 执行安装
2.1 交换分区的调整
差点忘了,为了安装Oracle 10g,oracle推荐至少512M内存和至少400M交换空间。内存,好象不够关系也不大,但是交换分区 呢,您还是大方一点吧。如果您的交换分区不够400M,那么您还是先看看这一步吧。
重设交换分区可以使用如下操作:
shell# dd if=/dev/zero of=tmp_swap bs=1k count=900000
shell# chmod 600 tmp_swap
shell# mkswap tmp_swap
shell# swapon tmp_swap
完成安装以后,可以释放这个空间:
shell# swapoff tmp_swap
shell# rm tmp_swap
count值是根据您需要调整的交换分区大小而定。
2.1 运行Installer
终于可以安装了。我们假设下载的安装文件位于/home/oracle下,名称为ship.db.cpio.gz
shell#su - oracle
shell>gunzip ship.db.cpio.gz # 目录下会生成ship.db.cpio文件
shell>cpio -idmv < ship.db.cpio # 执行完以后,会生成Disk1目录
shell>cd Disk1
shell>./runInstaller -ignoreSysPrereqs # 因为我们是在debian下,所以必须忽略系统检测
接下的一般选择默认设置就可以了。
注意:
A.安装过程中,会提示让您以root用户执行相应的脚本,请您必须选以root身份执行完脚本,然后继续安装。
B.创建数据时请选择编码需要选“Unicode standard UTF-8 AL32UTF8”。如果您不设定 UTF 8的编码格式,则您在后面汉化Compiere的时候将会出错。
3 数据库设置
数据库要正常启动,包括两个方面:启动数据库实例,启动侦听。
您可以手动的启动数据库实例,但是我们推荐您用dbstart命令来启动数据库实例。
以dbstart启动数据库实例需要做如下两步操作:
A、需要修改/etc/oratab,将想自动启动的数据库(compiere)所在行的“N”修改为“Y”。
B、cp $ORACLE_BASE/admin/compiere/pfile/initcompiere.oraXXX $ORACLE_HOME/dbs/initcompiere.ora
其中XXX为一长串字符串,随机产生。
然后执行dbstart就可以自动启动了。然后使用lsnrctl启动侦听。
4 常见问题
暂无
后注:
本文只是我在Debian Linux下安装Oracle数据的笔记。如果您使用的是其它发行版的Linux,其中的具体步骤可能会有一些差别。请您注意。如果您对本文档有任何建 议,或者您按本文档而不可以完成安装,您可以给我发邮件。shiguo.qin@sw-linux.com