【Linux】Linux下安装Oracle11g服务器

安装环境

                     Linux服务器:SuSe10 sp2 64位

                     Oracle服务器:Oracle11gR2 64位

系统要求

  1. Linux安装Oracle系统要求

 



系统要求


说明


内存


必须高于1G的物理内存


交换空间


一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小


硬盘


5G以上

 

 2.修改操作系统核心参数

在Root用户下执行以下步骤:

1**)修改用户的SHELL的限制,修改/etc/security/limits.conf文件  设置Oracle用户的资源占用情况**

输入命令:vi /etc/security/limits.conf**,按i键进入编辑模式,将下列内容加入该文件。


oracle   soft    nproc    2047
oracle   hard    nproc    16384
oracle   soft    nofile     1024
oracle   hard    nofile    65536


1. <span class="pln">Oracle soft nproc 2047</span>
2. <span class="pln">oracle hard nproc 16384</span>
3. <span class="pln">oracle最多允许开启2047个进程,软限制和硬限制都是起限制作用。不过策略稍有不同</span>
4. <span class="pln">oracle soft nofile 1024 </span>
5. <span class="pln">oracle hard nofile 65536</span>
6. <span class="pln">这两句就是限制epg用户最多允许打开10000个文件。</span>
7.8. <span class="pln">硬限制就是“绝对不能超过”</span>
9. <span class="pln">软限制是可以超过的,但必须小于等于硬限制值。</span>

编辑完成后按Esc键,输入:wq存盘退出

 

2)修改/etc/pam.d/login 文件,输入命令:vi  /etc/pam.d/login
i键进入编辑模式,将下列内容加入该文件。


session   required    /lib/security/pam_limits.so 
session   required    pam_limits.so
编辑完成后按Esc键,输入:wq存盘退出   3)修改linux**内核,修改/etc/sysctl.conf文件,输入命令: vi  /etc/sysctl.conf ,i键进入编辑模式,将下列内容加入该文件


# 整个系统同时可以开启的文件数

fs.file-max = 6815744     

# 同时可以拥有的的异步IO请求数目
fs.aio-max-nr = 1048576 

#一个共享内存段所能容纳的内存数量
kernel.shmall = 2097152 

#一个共享内存段所能容纳的内存数量
kernel.shmmax = 2147483648

#整个系统最多可有几个共享内存段 
kernel.shmmni = 4096 

#对信号量的设置
kernel.sem = 250 32000 100 128 

#程序可自由使用端口范围
net.ipv4.ip_local_port_range = 9000 65500 

#接收TCP封包的预设缓存空间
net.core.rmem_default = 4194304 

#接收TCP封包的最大缓存空间
net.core.rmem_max = 4194304 

#发送TCP封包的预设缓存空间
net.core.wmem_default = 262144 

#发送TCP封包的最大缓存空间
net.core.wmem_max = 1048576


编辑完成后按**Esc键,输入:wq**存盘退出

 

4**要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl  -p 显示如下:
linux:~ # sysctl -p net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576


 

5)编辑 /etc/profile ,输入命令:vi  /etc/profile
i键进入编辑模式,将下列内容加入该文件。


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

fi
编辑完成后按Esc键,输入:wq存盘退出   6**)创建相关用户和组,作为软件安装和支持组的拥有者。


创建用户,输入命令:

groupadd  oinstall 
groupadd  dba


创建Oracle用户和密码,输入命令:

useradd -g oinstall -g dba -m oracle

passwd  oracle

然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认


 

7**)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令: mkdir /home/oracle/app mkdir /home/oracle/app/oracle mkdir /home/oracle/app/oradata mkdir /home/oracle/app/oracle/**product


 

8)**更改目录属主为Oracle用户所有,输入命令:

 
chown -R oracle:oinstall /home/oracle/app
  9)**配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,

输入:su – oracle  ,然后直接在输入 : vi .bash_profile

i编辑 .bash_profile,进入编辑模式,增加以下内容:


umask 022

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

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


编辑完成后按**Esc键,输入:wq**存盘退出

## 安装过程

1) 当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,推荐用Xmanager 或其他ftp工具拷贝。

   打开一个终端,运行unzip命令解压oracle安装文件,如:


输入命令:

unzip  linux.x64_11gR2_database_1of2.zip 

unzip  linux.x64_11gR2_database_2of2.zip


 解压完成后 cd 进入其解压后的目录database


输入命令:

cd  database


使用ls命令可以查看解压后database所包含的文件,如下图:



2) 执行安装,输入命令:./runInstaller





 



 



 





 





装到这一步,可以看到,可以查看到有很多的rpm**包没有,我们可以从安装linux的光盘或ISO中查找所缺的包,使用ftp上传到linux中,然后使用rpm  –ivh  xxx.rpm  –nodeps –force 来进行安装(其中加上–nodeps – force 代表强制安装,是在直接使用rpm –ivh  xxx.rpm**安装不成功的情况下用的)安装过程略。

方法一:将安装盘挂在到虚拟机上,去/media/RHEL_6.2 x86_64 Disc 1/Packages 中

执行  rpm  –ivh  xxx.rpm  –nodeps –force 进行安装,

方法二:

可以直接去网上下载 相关的xxx.rpm,然后进入目录,然后进行安装

   **等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。**

安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

和 /home/oracle/app/oraInventory/orainstRoot.sh  新开启一个终端,输入命令:



su – root

cd  /home/oracle/app/oracle/product/11.2.0/dbhome_1

sh  root.sh

cd /home/oracle/app/oraInventory

sh  orainstRoot.sh

数据库建库

1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。

输入统一密码(也可以分别设置其密码)

数据库存放位置,我这里采用默认

不指定快速恢复和归档

去掉不常用的模块

内存分配及指定字符集

经过漫长的等待,当看到此界面,说明oracle建库完成

可以用sqlplus来检验下,新开启一个命令窗口,输入sqlplus,然后输入用户名和密码,可以测试下,这里就不做过多的介绍了。

配置监听及本地网络服务

1) 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。

2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)

3)配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)

输入连接的oracle服务器的数据库的实例名

输入oracle服务器的ip地址

选中测试

             

点击change Login 输入所连接oracle服务器的其中某一个用户名和密码,点击OK

看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)

         

为你所设置的本地网络服务名起个名字

 然后下一步,下一步即可

这样oracle服务器安装配置基本就完成了。

常见问题分析:

问题一: vi .bash_profile 修改保存后报错: “.bash_profile”  “.bash_profile” E212: Can’t open file for writing Press ENTER or type command to continue 解决办法: 此问题是权限不够 chmod 755 .bash_profile,就可以了
问题二: 在执行检查的时候,会遇到check failed的情况,这是由于依赖包没有安装,可以根据check的情况,到网上下载相应的rpm包,使用:rpm -ivh ……rpm 安装 但是在oracle用户下无法执行rpm依赖包,因为权限不够 解决办法: su到root用户下执行 备注:如何在linux下查看rpm包是否安装完毕,可以执行命令:rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
问题三: 在linux下安装rpm包时经常会遇到下面这个问题: 例如:  [root@test Server]# rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm  warning: elfutils-libelf-devel-0.137-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 error: Failed dependencies: elfutils-libelf-devel-static-i386 = 0.137-3.el5 is needed by elfutils-libelf-devel-0.137-3.el5.i386  解决办法: 遇到此问题时可以在安装rpm包命令的后面加两个参数:–nodeps –force 如 rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm –nodeps –force –nodeps意思是解决依赖问题 –force意思是强制安装
问题四: 安装过程中,会出现下面这句话: Enter the full pathname of the local bin directory: [/usr/local/bin]:  解决办法:直接回车
问题五: 执行sqlplus时出错,错误信息如下: cannot restore segment prot after reloc: Permission denied 解决办法: 原因是selinux的问题,selinux的设置太过严格导致的。解决的办法是在root用户下 编辑/etc/selinux/config,找到这段: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=enforcing 
把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为: SELINUX=disabled 保存,关闭。 ……
编辑/etc/sysconfig/selinux,找到: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=enforcing 
如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行: SELINUX=disabled 保存,退出。 重启电脑 问题六: 使用用户登录Oracle时报错: ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory 解决办法: 首先查看ORACLE_HOME 和ORACLE_SID是否正确,并且,ORACLE_HOME不能在尾部有斜杠“/” [oracle@localhost ~]$ echo $ORACLE_HOME /home/oracle/app/oracle/product/11.2.0/dbhome_1 [oracle@localhost ~]$ echo $ORACLE_SID orcl 上面内容为正确结果
接着执行下面的语句便可解决此问题。 [oracle@localhost ~]$ sqlplus /nolog SQL> connect /as sysdba Connected to an idle instance. SQL> startup ORACLE instance started 执行完后,exit退出Oracle,然后用sqlplus重新登录测试。 做到最后配置完监听后了 问题七 开始安装时候报如下错误

[oracle@localhost database]$ ./runInstaller
Starting Oracle Universal Installer…
Checking Temp space: must be greater than 80 MB.   Actual 244 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2015 MB    Passed
Checking monitor: must be configured to display at least 256 colors
    >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,at which time they will be rechecked.
Continue? (y/n) [n] y

Rechecking installer requirements….
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-03-23_02-36-20AM. Please wait …[oracle@localhost database]$ No protocol specified
Exception in thread “main” java.lang.InternalError: Can’t connect to X11 window server using ‘:0.0’ as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$000(X11GraphicsEnvironment.java:53)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:142)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
at java.awt.Window.init(Window.java:270)
at java.awt.Window.<init>(Window.java:318)
at java.awt.Frame.<init>(Frame.java:419)
at oracle.ewt.popup.PopupFrame.<init>(Unknown Source)
at oracle.ewt.lwAWT.BufferedFrame.<init>(Unknown Source)
at oracle.sysman.oio.oioc.OiocOneClickInstaller.<init>(OiocOneClickInstaller.java:328)
at oracle.sysman.oio.oioc.OiocOneClickInstaller.<clinit>(OiocOneClickInstaller.java:168)



解决方案,重新启动redhat
问题八
系统无法正常安装pdksh-5.2.14
下载后正常安装~**



### 附件列表

* pdksh-5.2.14.rar

 

your support will encourage me to continue to create!
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)