fedora12 安装oracle11gR2

(2010-03-12 22:52:27)
标签:

it

 

试过安装11gR1  网上少资料也觉得是不兼容这么高级的内核  只好找了相对较多资料的 R2:
原帖地址
http://bbs.fedora-zh.org/showthread.php?4776-%E5%9C%A8fedora-12%E4%B8%8A%E9%9D%A2%E5%AE%89%E8%A3%85oracle-11-2

解压文件

解压文件命令
代码:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
其实图形界面解压就可以


设置hosts文件
保证/etc/hosts文件包含下面的内容
代码:
<IP-address>  <fully-qualified-machine-name>  <machine-name>
这一步一般情况下不用做任何修改,保证文件里面包含上面的内容就可以了

修改内核参数
oracle推荐的下列参数需要设置的最小值:
代码:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

这些参数的当前值可以用下面的命令查看:
代码:
/sbin/sysctl -a | grep <param-name>

一般情况下这些参数的值都不符合要求,因此需要把下列内容添加到"/etc/sysctl.conf"文件末尾
代码:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586

运行下面的命令来更改内核参数的值:
代码:
/sbin/sysctl -p
在"/etc/security/limits.conf"文件末尾添加下列内容:
代码:
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536

把下面的内容添加到/etc/pam.d/login文件当中
代码:
session    required     pam_limits.so
关掉防火墙和selinux,这都是图形界面能解决的,就不多说了

设置
如果你安装fedora 12的时候选择了完全安装,那么大部分oracle依赖的软件包已经安装了,还需要安装的就只有下列这些软件包了,如果在oracle安装前的检查过程中提示还缺少包,可以yum安装,如果源里面没有,可以到rpmfind.net等网站去搜索,自己下载rpm包安装

代码:
yum install binutils
yum install libaio libaio-devel
yum install ksh
yum install sysstat
yum install unixODBC unixODBC-devel
yum install compat-libstdc++-33

还有个比较重要的包: pdksh 与上面的ksh冲突 删掉ksh吧

ftp://fr2.rpmfind.net/linux/PLD/dists/ac/ready/i686/pdksh-5.2.14-33.i686.rpm


可能出现的错误1:error: Failed dependencies:pdksh conflicts with ksh-20100202-1.fc12.i686
解决办法:rpm -e --nodeps ksh
可能出现的错误2:rpm -ivh pdksh-5.2.14-33.i686.rpm
Preparing...                ########################################### [100%]
        file /bin/sh from install of pdksh-5.2.14-33.i686 conflicts with file from package bash-4.0.33-1.fc12.i686
        file /usr/share/man/man1/sh.1.gz from install of pdksh-5.2.14-33.i686 conflicts with file from package bash-4.0.33-1.fc12.i686
解决办法:rpm -ivh --replacefiles pdksh-5.2.14-33.i686.rpm

默认安装的这些包没有32位的版本,oracle在安装前的检查过程中有可能会因为这个原因显示fail,直接忽略就可以了
添加新的组和用户:
代码:
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
useradd -g oinstall -G dba,oper,asmadmin oracle
passwd oracle

这篇文章介绍的安装过程没打算使用ASM,所以这次安装不会用到 asmadmin 这个用户组
为oracle的安装建立一个新的目录
代码:
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

取得root权限,运行下面的命令
代码:
xhost +<machine-name>

一般情况下不需要运行这个命令
编辑/etc/redhat-release文件,把里面的内容替换为下面的内容

代码:
redhat release 5
用oracle用户登录,把下面的内容添加到.bash_profile的末尾:


代码:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=f1264.localdomain; export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=DB11G; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

这里面的ORACLE_HOSTNAME的参数的值需要根据自己的情况来设定,默认安装的fedora为localhost.localdomain


安装
用oralce用户登录,如果你使用的是仿真X的话,那么需要设置一下环境变量DISPLAY 的值
代码:
DISPLAY=<machine-name>:0.0; export DISPLAY
在终端里面进入解压出来的database文件夹,运行下面的命令开始安装过程:

代码:
./runInstaller
检查时可能出现的错误:User With Same UID
google翻遍 最终还是忽略了这个警告 右上角 ignore all打钩``安装完成后需要做的操作编辑/etc/oratab文件,设置下面一行的标志为"Y":代码:
DB12G:/u01/app/oracle/product/11.2.0/dbhome_1:Y


最后把/etc/redhat-release文件的内容改为

代码:
Fedora release 12 (Constantine)

最后用root身份执行2个脚本

 

/***************************************************

重装时还遇到了如下问题:

Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2010-06-24_03-22-15PM.log' for details

没搞懂什么意思,最后在google上找到了解决方法,方法如下:

When you start to install with ./runInstaller, run in another terminal window (as root)
ls $ORACLE_HOME/sysman/lib/ins_emagent.mk

At first this will produce an error, as the installer wont have created this file yet,then we create this file  :

start here
ORACLE_HOME/sysman/lib
make -f ins_emagent.mk "agent"

Once the file exists, do:
vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
Search for the line
$(MK_EMAGENT_NMECTL)
Change it to:
$(MK_EMAGENT_NMECTL) -lnnz11(第一个字母为L的小写,后面两个是数字1,非L的小写)

做了以上修改后,再重试,OK,问题解决!

*************************************************************************

在 linux下启用sql*plus时,发现不能用方向键回显及移动光标。可以通过安装rlwrap这个软件来解决这个问题。这个软件在chinaunix 上有下。安装好后,你就可以使用 rlwrap sqlplus来启动SQL*PLUS了,如果嫌麻烦的话,可以用alias sqlplus='rlwrap sqlplus'给sqlplus 设置别名,以后就只要输入 sqlplus就好了。

至于rlwrap的具体用法,有man查看一下就知道了。

*************************************************************************

关于SQL*PLUS中的edit默认编辑器问题:

你可以在~/.bash_profile 中添加如下行:export EDITOR = vim  以后在执行edit命令和时候就会默认调用vim编辑器了。

*************************************************************************

关于启用oracle服务时图形界面的乱码问题:

我这个人比较懒,所以就直接把 OS和oracle的语言都改成英文的了:

用vim编辑/home/oracle/.bash_profile,加入如下行:

export LANG = en

这是OS语言设置。

export NLS_LANG=english_america.UTF8

这是oracle服务语言设置

保存后离开,重启PC,就全部变成英文的啦,看起来还蛮不错的喔~

************************************************************************/