redhat 6.5 安装 oracle11g详细过程及配置

    因项目需求,需要在64位linux系统中安装Oracle 11g,在网上查了很多内容,结合自己的实际经验,终于安装成功,记录下来,分享给有需要的同志们。本人服务器实际测试。

一、检查Linux安装Oracle所需要的安装包并安装(本地yum,网络yum源):有些包的版本号可能根据实际情况有所不同,请按照实际环境下提供的包安装

rpm -qa|grep binutils
rpm -ivh sysstat-7.0.2.rpm

rpm -ivh binutils-2.17.50.0.6-14.el5.*.rpm
rpm -ivh compat-libstdc++-33-3.2.3-61.*.rpm
rpm -ivh elfutils-libelf-0.137-3.el5.*.rpm
rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
rpm -ivh elfutils-libelf-devel-0.137-3.el5.x86_64.rpm elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm
rpm -ivh gcc-4.1.2-48.el5.*.rpm
rpm -ivh gcc-c++-4.1.2-48.el5.*.rpm
rpm -ivh glibc-2.5-49.*.rpm
rpm -ivh glibc-common-2.5-49.*.rpm
rpm -ivh glibc-devel-2.5-49.*.rpm
rpm -ivh libaio-0.3.106-5.*.rpm
rpm -ivh libaio-devel-0.3.106-5.*.rpm
rpm -ivh libgcc-4.1.2-48.el5.*.rpm
rpm -ivh libstdc++-4.1.2-48.el5.*.rpm
rpm -ivh libstdc++-devel-4.1.2-48.el5.*.rpm
rpm -ivh make-3.81-3.el5.*.rpm
rpm -ivh sysstat-7.0.2-3.el5.*.rpm
rpm -ivh unixODBC-2.2.11-7.1.*.rpm
rpm -ivh unixODBC-devel-2.2.11-7.1.*.rpm
rpm -ivh libXp-1.0.0-8.1.el5.*.rpm
rpm -ivh libXau-devel-1.0.1-3.1.*.rpm
rpm -ivh libXp-devel-1.0.0-8.1.el5.*.rpm

 

二、修改操作系统核心参数(1,2,3,4步骤可省略)

 

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

1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件

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

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

编辑完成后按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

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

编辑完成后按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)创建相关用户和组,作为软件安装和支持组的拥有者。

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

   

  #groupadd oinstall 

  #groupadd dba

  #useradd -g oinstall -g dba -m oracle

  #passwd oracle

 

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

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

输入命令:

mkdir -p /home/oracle/app

mkdir -p /home/oracle/app/oracle

mkdir -p /home/oracle/app/oradata

mkdir -p /home/oracle/app/oracle/product

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

chown -R oracle:oinstall /home/oracle/app

9)创建oracle安装临时文件目录(注意安装目录的读写权限和所有者权限)

  #mkdir /tmp/oracle

  #chmod a+wr /tmp/oracle

10)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,

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

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

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临时oracle临时文件夹中,用SSH其他ftp工具拷贝。

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

输入命令:

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

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

输入命令:

cd database

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

redhat 6.5 安装 oracle11g详细过程及配置

2)执行安装,输入命令:./runInstaller,在实际安装过程中如果有乱码运行xhost x,LANG=en两条命令。

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从yum安装所缺的包(也可以时本地yum源),使用ftp上传到linux中,然后使用rpm –ivh xxx.rpm --nodeps –force 来进行安装(其中加上--nodeps -- force 代表强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。

redhat 6.5 安装 oracle11g详细过程及配置

 

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

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

su – root

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

sh root.sh

cd /home/oracle/oraInventory


sh orainstRoot.sh

三、数据库建库

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

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

redhat 6.5 安装 oracle11g详细过程及配置

 

经过漫长的等待,当看到此界面,说明oracle建库完成。注意最后提示与sys与system 口令设置

 

四、配置监听及本地网络服务

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

redhat 6.5 安装 oracle11g详细过程及配置

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

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

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

redhat 6.5 安装 oracle11g详细过程及配置ca

redhat 6.5 安装 oracle11g详细过程及配置

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

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

输入oracle服务器的ip地址

redhat 6.5 安装 oracle11g详细过程及配置

选中YES测试

redhat 6.5 安装 oracle11g详细过程及配置

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

redhat 6.5 安装 oracle11g详细过程及配置

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

redhat 6.5 安装 oracle11g详细过程及配置

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

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

redhat 6.5 安装 oracle11g详细过程及配置

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

最后在instantclient_11与PLSQL建立连接配置就可以连接到Oracle数据库服务器。打开plsql-tools-preferences 

redhat 6.5 安装 oracle11g详细过程及配置

绿色为要修改的地方,是instantclient_11存放的目录。

在目录instantclient_11下建立NETWORK/ADMIN文件夹,复制Oracle服务器端tnsnames.ora文件,并修改HOST=Oracle

服务器IP地址。保存退出。

 

注意:

1、Linux oracle数据库listener.ora存放路径

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

2、Linux oracle数据库tnsnames.ora存放路径

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

3、ORACLE启动监听器
(1)切换至oracle安装用户(一般为oracle)
su - oracle 
(2)启动监听器
lsnrctl start 
(3)停止监听器
lsnrctl stop

4、启动测试oracle:
[oracle@oracle ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> quit
测试的另一种方法:找一台windows平台电脑,telnet oracle主机IP地址:1521,通的话,会出现一个黑屏,光标一闪一闪。

5、Linux开放1521端口允许网络连接Oracle Listener

症状:
(1)TCP/IP连接是通的。可以用ping 命令测试。
(2)服务器上Oracle Listener已经启动。
lsnrctl status 查看listener状态
lsnrctl start 启动Oracle listener 
(3)客户端得到的错误信息通常是:ORA-12170: TNS:连接超时 
这时,我们基本可以肯定是服务器没有开放1521端口(假设你用默认设置)

解决方法: 
(1)假如你是在一个局域网环境,配置了防火墙。那么可以关闭Linux的防火墙。
sudo service iptables stop
(2)编辑iptables, 开放1521端口:
sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT 
:wq

重启防火墙
sudo service iptables restart
保存配置,以便linux重启后依然有效
sudo service iptables save 
查看防火墙规则:
sudo iptables -L –n

6、linux下创建oracle用户表空间

就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
操作步骤如下:
(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
(2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"
(3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from v$datafile
(4)创建用户表空间:
CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 
(5)创建用户,指定密码和上边创建的用户表空间
CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB;
(6)赋予权限
grant connect,resource to scs;
grant unlimited tablespace to scs;
grant create database link to scs;
grant select any sequence,create materialized view to scs; 
--经过以上操作,我们就可以使用scs/scs登录指定的实例,创建我们自己的表了

转载于:https://my.oschina.net/mayude/blog/865645