Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2518771
  • 博文数量: 867
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 9800
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 14:44
文章分类

全部博文(867)

文章存档

2007年(6)

2006年(861)

我的朋友

分类: Oracle

2006-09-01 18:08:36

 
必要的硬件信息检查

检查内容 最小值 检查命令参考
物理内存 512M # grep MemTotal /proc/meminfo 
交换空间 1.0 GB或者2倍内存大小 # grep SwapTotal /proc/meminfo 
/tmp 空间 400 MB  # df -k /tmp 
软件所需空间 2.5 GB  # df -k (空间越大越好,如果是正式系统,应该进行详尽的规划) 
数据库文件 1.2 GB  # df -k (空间越大越好,如果是正式系统,应该进行详尽的规划) 
检查完如上各项之后, 应该修改核心参数.执行如下命令:
#vi /etc/sysctl.conf
#注释:
#表示使用root用户操作,$表示使用oracle 用户进行操作.提示符后面的蓝色部分表示需要输入的命令,以下同. 
在该文件末尾加入如下内容: 
kernel.shmall = 2097152 
kernel.shmmax = 2147483648 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
fs.file-max = 65536 
net.ipv4.ip_local_port_range = 1024 65000
编辑完之后,保存,执行 # /sbin/sysctl -p 命令操作来使我们所做的变更生效. 
注:上面kernel.shmmax/kernel.sem等是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动. 
关于这些核心参数的说明在Oracle的 Oracle9i Installation Guide Release 2  (9.2.0.1.0) for UNIX Systems 中有很详细的说明.(  west.oracle.com/docs/html/A96167_01/toc.htm ) 
然后,应该检查一下上面的操作是否正确: 
# /sbin/sysctl -a | grep sem 
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_port_range
检查并调整环境变量 
登录为oracle用户
# su - oracle
$ cd 
$ vi .bash_profile
#添加如下内容,你的具体值应该不会和这个完全相同. 
export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8 
然后执行 
$ source .bash_profile
使环境变量生效. /u/app/oracle 等目录应该建立好并做合适的授权.
linux下oracle安装: 
Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍 
内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。 

如果是为了在一台仅有256M内存的普通PC机上试用Oracle9i,在分配了1GB左右的交换空间的情况下,也可以正常运行Oracle数 
据库。 
要检查内存空间,登录进入Linux,在命令行方式(bash环境)下执行如下命令: 
grep MemTotal /proc/meminfo 
要检查交换空间,在命令行下执行如下命令: 
grep SwapTotal /proc/meminfo 

1.解压.cpio文件 
#cpio -idvm < lnx_920_disk1.cpio 
#cpio -idvm < lnx_920_disk2.cpio 
#cpio -idvm < lnx_920_disk3.cpio 
在当前目录下生成Disk1和Disk2,Disk3三个目录. 

2.打补丁 
unzip oraclerpm.zip 
#rpm -ivh *.i586.rpm --nodeps --force 

3.建立用户和组 
#groupadd dba 
#mkdir /opt/OracleHome 
#adduser -u 499 -d /opt/OracleHome/ -g dba oracle 
注:-u 后可以是1-500(系统用户) -g 添加到私有组dba中 
#chown oracle.dba /opt/OracleHome/ 
#mkdir /opt/OracleHome/Ora9i 
#chown oracle.dba /opt/OracleHome/Ora9i 
#touch /etc/rac_on 
#mkdir /opt/tmp 
#chmod 1777 /opt/tmp 
#cp oracle.bashrc /opt/OraclHome/.bashrc 

4.linux系统优化 
#dd if=/dev/zero of=/opt/tmpswap bs=1k count=1024000 
#chmod 600 /opt/tmpswap 
#mkswap /opt/tmpswap 
#swapon -v /opt/tmpswap 
#sysctl -w kernel.sem="250 32000 100 128" 
#sysctl -w kernel.shmmax=`expr 512 \* 1024 \* 1024` 

#echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf 
#echo "kernel.shmmax=`expr 512 \* 1024 \* 1024`" >> /etc/sysctl.conf 
注:上两行命令执行后请查看/etc/sysctl.conf的变化. 

#echo 65536 >/proc/sys/fs/file-max 
#ulimit -n 65536 
#ulimit -u 16384 
注:上三行命令是系统优化,建议也添加到/etc/rc.local文件中,每次启动系统自动优化 

5.安装 
#xhost localhost 
#su - oracle 
#cd /opt/source/Disk1 
#./runInstaller 

以下是几点注意事项 

选择software only 
然后用命令dbca创建数据库 

1.安装时字体问题的解决: 
#unset LANG 
如果执行上述指令不行的话再修改/root/.i18n和/etc/sysconfig/i18n 
#vi /root/.i18n 
注:root用户的语言环境,注释掉所有项后添加一行LANG="en_US" 
#vi /etc/sysconfig/i18n 
注:系统中新增加用户的语言环境(每增加一个用户把它拷贝到其宿主目录生成.i18n) 

2.安装过程中的报错: 
前几个按报错信息的指示做, 
只有最后一个/opt/OraclHome/Oracle9i/ctx/lib/下某一文件错,应修改 
/opt/OraclHome/Oracle9i/ctx/lib/env_ctx.mk文件 
在INSO_LINK= 这一行添加一条记录 $(LDLIBFLAG)dl 

3.oracle用户SHELL有问题 
#userdel oracle 
#adduser -u 499 -d /opt/OracleHome/ -g dba oracle 

小秘籍: 

#hdparm -t /dev/hda 查看硬盘读写速度,如只有2M左右,则执行 
#hdparm -d 1 /dev/hda 开启DMA功能,可把它添加到/etc/rc.local文件中.

- 作者: topmouse 2005年10月22日, 星期六 14:30  |  加入博采


发布于2005-05-29 被读2175次 【字体: 】
作者:冷风
在安装之前有几个地方需要注意的:
你的交换分区最好有一个G左右那么大,第二你的硬盘分区最好也要有足够大的空间。

下面我那个转贴的中译本:

1、创建用户和组:
[roko@miniroko] su -

[root@miniroko]# groupadd oinstall
[root@miniroko]# groupadd dba
[root@miniroko]# useradd -g oinstall -G dba oracle
[root@miniroko]# passwd oracle


2、准备文件目录:

[root@miniroko]# mkdir -p /opt/ora9/product/9.2
[root@miniroko]# mkdir /var/opt/oracle
[root@miniroko]# chown oracle.dba /var/opt/oracle
[root@miniroko]# chown -R oracle.dba /opt/ora9

3、调节系统内核参数及安装支持软件包:
3.1、首先用命令rpm -qa|grep compat 查看系统中是否安有以下几个软件包:

compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm

如果没有,请拿出你的安装盘,安装以上的包。不要用原文给的那个APT的东东,不熟的人遇上没有解决的依赖性问题的话,就特别讨厌。

3.2、设置内核参数,调节信号灯及共享内存:
[root@miniroko]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[root@miniroko]# echo 536870912 > /proc/sys/kernel/shmmax
[root@miniroko]# echo 4096 > /proc/sys/kernel/shmmni
[root@miniroko]# echo 2097152 > /proc/sys/kernel/shmall
[root@miniroko]# echo 65536 > /proc/sys/fs/file-max
[root@miniroko]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

当然为了一开机系统就能自动帮你设好这些参数,也可改动 /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

保存后,即可。建议关于net.ipv4.ip_local_port_range不要改动,可以用cat /proc/sys/net/ipv4/ip_local_port_range 看到红帽子对这个所定义的范围已经符合,而且端口范围比这个小。

3.3、设置oracle对文件的要求:
编辑文件:/etc/security/limits.conf 加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

这个需要重启后才能生效的。但是安装的时候无所谓了。

4、设置oracle的系统环境:
以oracle用户的身份登录:
su oracle

cd ~

编辑它的.bashrc文件加入以的东东:
#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH= $ORACLE_HOME/bin: $ORACLE_HOME/Apache/Apache/bin: $PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib: $LD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2/bin: $PATH
#
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
#export NLS_LANG='croatian_croatia.ee8iso8859p2' (注意这个东东把它注释掉,因为我们用的是中文系统。然而为了能够显示中文加入以下一行:
export LC=en_US

退出,将你下载的三个iso文件准备好。
5、解压你下载的文件:
5.1、新建一个目录:mkdir /mnt/Oracle
5.2、将三个文件拷入新建的目录:cp ln_* /mnt/Oracle
5.3、解压三个文件: cd /mnt/Oracle
gunzip gunzip lnx_920_disk1.cpio.gz
gunzip lnx_920_disk2.cpio.gz
gunzip lnx_920_disk3.cpio.gz
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
5.4、这个将生成三个文件夹:DISK1, DISK2, DISK3
6、开始安装:
以oracle的用户身份进入:
su oracle
cd ~
/mnt/Oracle/DSIK1/runInstall.sh

在安装的过程中会遇到几个错误:
第一个错误提示关于这个文件ins_oemagent.mk的,不要去管它,选择忽略,我们将在下面的步骤中修复它。
第二错误提示:Error in invoking target install of makefile  $ORACLE_HOME/ctx/lib/ins_ctx.mk
这个时候就先不要选择忽略了,这个时候你要先打开一个终端:以oracle用户的身份登录进去,运行以下的命令:
[oracle@miniroko oracle] $ cd  $ORACLE_HOME/install
[oracle@miniroko install] $ tail make.log

可以看到这个,然后在其下有错误提示:
gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/
-L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9
我们运行以下的命令来修改它:
[oracle@miniroko] $ cd  $ORACLE_HOME/bin
[oracle@miniroko bin] $ gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/
-L/opt/ora9/product/9.2/lib/ -L/opt/ora9/product/9.2/lib/stubs/
/opt/ora9/product/9.2/ctx/lib/ctxhx.o -L/opt/ora9/product/9.2/ctx/lib/
-lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc
-Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9 -lcore9 -lnls9 -lcore9
-lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl
也就重新在这个地方编译一下上面出错的地方。然后再回到安装界面,对那个错误对话框选择忽略。继续安装就行了。

第三个错误会在启动和配置助手程序的时候出错,不要管它,选择忽略就行了。我们在下面的步骤将会对第一个错误和第三个错误进宪修补。

7、修改系统:
以oracle用户的身份登入,执行以下命令:
[oracle@miniroko oracle] $ cd  $ORACLE_HOME/network/lib
[oracle@miniroko lib] $ make -f ins_net_client.mk install

然后编辑这个文件:
oracle@miniroko lib] $vi  $ORACLE_HOME/ctx/lib/ins_ctx.mk找到第13行、第14行由ctxhx:  $(CTXHXOBJ)
 $(LINK)  $(CTXHXOBJ)  $(INSO_LINK)

改为:
ctxhx:  $(CTXHXOBJ)
 $(LINK) -ldl  $(CTXHXOBJ)  $(INSO_LINK)
存盘退出,执行以下命令:
[oracle@miniroko lib] $ make -f  $ORACLE_HOME/ctx/lib/ins_ctx.mk install

现在可以重新启动agents了。
[oracle@miniroko lib] $ /opt/ora9/product/9.2/bin/agentctl start

8、为了方便管理,可以写一个启动脚本:
以ROOt身份进入,编写以下脚本:
#!/bin/bash
#
# (c)
#
# name: /etc/rc.d/init.d/ora9
# description: starts and stops oracle 9i database, TNS listener
# http server, and fixes kernel parameters for oracle


#oracle environment
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH= $ORACLE_HOME/bin: $ORACLE_HOME/Apache/Apache/bin: $PATH
export NLS_LANG='croatian_croatia.ee8iso8859p2'
export ORACLE_SID=tis

export DISPLAY=:0
oracle_user=oracle

# see how we're called

case  $1 in
start)
# fix kernel parameters
echo 250 32000 100 128 > /proc/sys/kernel/sem
echo 536870912 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 65536 > /proc/sys/kernel/fs/file-max
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

# start listener, apache and database
su - " $oracle_user"<lsnrctl start
apachectl start
sqlplus /nolog<connect / as sysdba
startup
EOS
EOO
;;

stop)
# stop listener, apache and database
su - " $oracle_user"<lsnrctl stop
apachectl stop
sqlplus /nolog<connect / as sysdba
shutdown immediate
EOS
EOO
;;

*)
echo "Usage: ora9 [start|stop]"
;;

esac

存为ora9后,然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9 start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
chkconfig --level 3(或者是5) --add ora9
即可。
阅读(1552) | 评论(0) | 转发(0) |
0

上一篇:Skyeye项目

下一篇:Skyeye项目

给主人留下些什么吧!~~