Chinaunix首页 | 论坛 | 博客
  • 博客访问: 634521
  • 博文数量: 184
  • 博客积分: 10057
  • 博客等级: 上将
  • 技术积分: 2505
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-31 16:34
文章分类

全部博文(184)

文章存档

2010年(5)

2009年(104)

2008年(75)

我的朋友

分类: Oracle

2009-09-19 09:31:24

1 安装准备
1.1 系统的准备
本文是在Debian linux下Oracle10g的安装笔记。假设已经成功的安装并配置了Debian Linux。
1.2 依赖包的安装
在开始Oracle的安装之前,确保至少已经安装了以下软件包。
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,如果想用其他的名字,请作相应的修改。
在有些文档中,还建议您需要设置一些其他的内核参数。
差别忘记,您还得把. bash_profile文件中的umask=022这一行前的注释符去掉。
1.7 设置DISPLAY
直接以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启动侦听。
阅读(648) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~