redhat6.1安装oracle11g

来源:互联网 发布:1到20的阶乘和java 编辑:程序博客网 时间:2024/05/04 01:31

 虽然是linux新到不能再新的新手,但是在看了一个星期的资料后还是自我感觉很有进步,因此记录一些细节,当做复习也好,当做留底方便以后系统出毛病看看也好。

       整个过程基于http://wenku.baidu.com/view/78553335a32d7375a417807d.html这篇文章。

       前面两部分比较容易。

一、准备服务器和操作系统

1)最好是安装了图形界面(没安装也没事)

2)如果是通过ssh或者telnet连到linux服务器的,建议用secureCRT,因为报错的时候能看到中文,仅仅是为了这个,我下载的是51cto.com里面的绿色版本什么的。

3)下载linux.x64_11gR2_database_1of2和linux.x64_11gR2_database_2of2

http://www.oracle.com/technetwork/products/express-edition/downloads/index.html?ssSourceSiteId=ocomen

二、安装准备

检查redhat内核版本

[root@redhat ~]# uname -r

2.6.32-131.0.15.el6.i686(这个是32位的,64位的是x86_64)

 

安装软件包检查

redhat6.1当时刻了4张光盘,这里面没装的软件包在第3张光盘的Packages里面,所以先挂载光盘再安装:

mkdir /mnt/cdrom

mount -t iso9660 /dev/cdrom /mnt/cdrom

cd /mnt/cdrom/Packages (由于忘记切换目录到Packages下,再加上ssh客户端不能显示中文,这里搞了我一天多!)

rpm -ivh *.rpm

[root@redhatsysconfig]# rpm -qa | grepbinutils

binutils-2.20.51.0.2-5.20.el6.i686

binutils-devel-2.20.51.0.2-5.20.el6.i686

[root@redhatsysconfig]# rpm -qa | grepcompat-libstdc++

compat-libstdc++-33-3.2.3-69.el6.i686

[root@redhatsysconfig]# rpm -qa | grepelfutils-libelf

elfutils-libelf-0.152-1.el6.i686

elfutils-libelf-devel-0.152-1.el6.i686

[root@redhatsysconfig]# rpm -qa | grepglibc

glibc-headers-2.12-1.25.el6.i686

glibc-devel-2.12-1.25.el6.i686

glibc-2.12-1.25.el6.i686

glibc-common-2.12-1.25.el6.i686

[root@redhatsysconfig]# rpm -qa | greplibaio

libaio-0.3.107-10.el6.i686

[root@redhatsysconfig]# rpm -qa | greplibgcc

libgcc-4.4.5-6.el6.i686

[root@redhatsysconfig]# rpm -qa | greplibstdc++

libstdc++-4.4.5-6.el6.i686

libstdc++-docs-4.4.5-6.el6.i686

libstdc++-devel-4.4.5-6.el6.i686

[root@redhatsysconfig]# rpm -qa | grepsysstat

sysstat-9.0.4-18.el6.i686

[root@redhatsysconfig]# rpm -qa | grepunixODBC

unixODBC-devel-2.2.14-11.el6.i686

unixODBC-2.2.14-11.el6.i686

 

修改内核参数,修改后运行sysctl –p 使修改生效

[root@redhat ~]# vi /etc/sysctl.conf

kernel.shmall = 268435456

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

fs.aio-max-nr = 1048576

fs.file-max = 6815744

 

 

oracle 用户及组的创建

[root@redhat ~]# groupaddoinstall

[root@redhat ~]# groupadddba

[root@redhat ~]# useradd -g oinstall -G dba oracle

[root@redhat ~]# passwd oracle

更改用户oracle 的密码。

新的 密码:

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。

 

[root@redhat ~]# mkdir -p /u01/oracle

[root@redhat ~]# chown -R oracle:oinstall /u01/oracle

 

为oracle 用户设置环境变量

[root@redhat ~]# su -l oracle

[oracle@redhat ~]$ vi .bash_profile

 

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=$ORACLE_BASE/product/OraHome

export ORACLE_SID=test

export ORACLE_OWNER=oracle

export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

 

--执行以下命令让配置马上生效或以oracle用户登录使设置生效

$ source $HOME/.bash_profile

 

设置Shell Limits

a.在/etc/security/limits.conf文件中加入下列行:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

 

b.在/etc/pam.d/login文件中加入下列行,如果里面没有的话:

session required /lib/security/pam_limits.so

session required pam_limits.so

c.在/etc/profile后加入以下语句:

vi /etc/profile

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

                ulimit -p 16384

                ulimit -n 16384

        else

                ulimit -u 16384 -n 16384

        fi

fi    

 (到这里都很简单,细心点就好了。)

 

 

三、安装ORACLE软件

[root@redhat ~]# su -l oracle

[oracle@redhat ~]$ cd database/

[oracle@redhat database]$ ./runInstaller

这里可能会出现这个错误:

Invalid source path '../stage/Components/oracle.swd.oui/11.2.0.1.0/1/DataFiles' specified for unzip. Unzip command failed. Please check oraparam.ini and specify a valid source path.
: No such file or directory。

原因可以参考这篇文章的末尾段http://space.itpub.net/16396821/viewspace-678802

大概就是linux.x64_11gR2_database_1of2和linux.x64_11gR2_database_2of2这两个下载的包先不要解压传到系统后再一起解压就能解决这个问题。

关于传到系统。我一开始把这两个压缩包放u盘里,然后挂载u盘,发现文件名都缩短了,后来用ftp传到oracle用户下,文件名就显示正常了,不管怎样,既然用了u盘挂载就简单说一下u盘挂载方法吧。http://linzhanghui.iteye.com/blog/1166311

关于解压。两个压缩包都是zip格式,所以分别unzip file.zip就可以了。分别解压后也是就有一个database目录了。

这个时候再./runInstaller。。。。。如果你安装linux时装了图形界面那恭喜,如果没有,有点麻烦,如果发现连yum也没有,就更麻烦。

装图形界面还是用yum吧,因为就三个命令就完事了,那yum的安装呢?

http://blog.csdn.net/lincy100/article/details/6803855看前面一段就好了。

http://wenku.baidu.com/view/1ed0b024192e45361066f5fb.html跟上一篇一样的,不过有图片,稍微详细一点。

我当时做到第四步的时候可能有点困扰,因为一个说要vi /etc/yum.repos.d/rhel-debuginfo.repo,一个有没说究竟是改哪个,况且我的/etc/yum.repos.d下面没有rhel-debuginfo.repo,看了一些资料后,决定就改这个vi/etc/yum.repos.d/rhel-source.repo,按照上面第二个的介绍去改就好了。试一下yum clean all 然后yum install gcc。

既然yum装好了,装图形界面就

yum install xorg*

yum groupinstall "X Window System"

yum groupinstall Desktop

yum groupinstall "Desktop Platform"

上面4步都是机器自己装,需要点时间。

安装完后,按照网上所说要vi /etc/inittab 把id:3:initdefault:改成id:5:initdefault:(启动默认到图形界面,而不再是文字界面),最后reboot

第一次按照这样做,系统重启后出现有图形界面的乱码(还不是桌面),我在客户端重新用root登录输入startx之后,客户端开始一直报错,一行一行地出现,而服务器那边就能去到图形界面的用户选择,更奇怪的是,这种情况只能用root在图形界面登录,用其他用户登录的话,显示器就一直只有一个鼠标键在屏幕上,桌面是不会出现的。所以图形界面装好后,我就到服务器前继续装。

图形界面好了之后,终于可以 

[oracle@redhat database]$ ./runInstaller

又出现报错:

DISPLAY 尚未设置。请设置 DISPLAY 后重试。 
根据所使用的 Unix Shell, 您可以使用以下示例中的一个命令来设置 DISPLAY 环境变量: 
- 对于 csh:            % setenv DISPLAY 192.168.1.128:0.0 
- 对于 sh, ksh 和 bash:         $ DISPLAY=192.168.1.128:0.0; export DISPLAY 
使用以下命令来查看所使用的 shell: 
       echo $SHELL 
使用以下命令来查看当前的 DISPLAY 环境变量设置: 
       echo $DISPLAY 
- 确保客户机用户有权连接到 X 服务器。 
要允许客户机用户访问 X 服务器, 请以启动会话的用户身份打开 xterm, dtterm 或 xconsole, 并键入以下命令: 
% xhost + 
要测试 DISPLAY 环境变量是否设置正确, 请运行本机操作系统自带的基于 X11 的程序, 例如 'xclock': 
        % <xclock 的完整路径.. 参见下文> 
如果无法成功运行 xclock, 请与您的 PC-X 服务器或操作系统供应商联系以获得帮助。 
xclock 的典型路径为: /usr/openwin/bin/xclock 
      http://shuhui018125.blog.163.com/blog/static/7711050201002792325362/ 按照这篇文章去做就没问题了。

再次[oracle@redhat database]$ ./runInstaller

终于可以进入图形界面去安装oracle了,但是乱码了?

http://www.examw.com/oracle/zhonghe/147029/这篇东西的后半部分搞掂这个问题。

 

然后利用netca、dbca创建监听和创建数据库。

http://www.linuxidc.com/Linux/2011-09/43920p2.htm这个是总流程。

但是在执行netca时可能会报错:

Command not found

http://blog.sina.com.cn/s/blog_62200f0e0100jl2j.html建议先看这个,理解一下。

http://victorwmh.iteye.com/blog/1074854真正修改.bash_profile的时候按照这个的第3种改,记得改完要让它生效。

我的PATH是在/u01/oracle/product/OraHome/bin

好了,netca命令有了,输入netca回车。

又报错:

Oracle Net Services 配置:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: null
有关详细信息, 请查看跟踪文件: /oradata/oracle/cfgtoollogs/netca/trace_OraDb11g_home1-1204115下午2740.log
Oracle Net Services 配置失败。退出代码是1
http://www.cnblogs.com/lanzi/archive/2012/04/12/2443639.html完美解决。

执行完dbca创建数据库后测试一下

用 Oracle 用户 远程登录, 然后

$ sqlplus / nolog

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup;
    ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/oracle/product/11.1.0/dbs/initorcl.ora'

http://wenku.baidu.com/view/b7980269561252d380eb6e71.html完美解决

虽然这篇文章里是用的不是11g,所提到的目录不同,但是大体类似,我的目录就是在/u01/oracle下好像就有admin了,然后一步一步找。

解决完这个再试一次startup,又来报错

ORA-00845: MEMORY_TARGET not supported on this system

http://ibmcn.blog.51cto.com/510174/766996稍微认真看一下就能明白了。

终于,解决完这一个我就再没有问题了。。。。。。
       写完了,好累。。