您的位置:首页 > 数据库 > Oracle

linux5.2 X64下安装oracle 11G r2 X64完全攻略

2012-07-27 17:56 423 查看
在Linux 64位下安装配置Oracle11g R2,来自网络上文章的修改,自己整合了一下:

一、Linux环境安装oralce

环境:Linux:Redhat Enterprise 5.2,

DB:Oracle 11g R2 X64,

本例是将Oracle 11g安装到linux的/home/oradb/oracle目录下。

配置过程:

1、 检查基本需求

内存大小

grep MemTotal /proc/meminfo

复制代码
交换分区大小

grep SwapTotal /proc/meminfo

复制代码
增加交换分区

创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G,以此类推。

dd if=/dev/zero of=/home/swap bs=1024 count=5120000

复制代码
接着把这个分区变成swap分区。

mkswap /home/swap

复制代码
使用这个swap分区。使其成为有效状态

/sbin/swapon /home/swap

复制代码
最后把它加到fstab里面

echo "/home/swap swap swap defaults 0 0" >> /etc/fstab

复制代码
这样重启之后swap就是现在设置的大小了。

这里要注意的是swap的大小最小最后等于内存的大小,另外TMP和/ 可以设置为15G。

检查主机名:hostname

检查网络配置:ifconfig eth0

查看host文件:cat /etc/hosts

2、 检查软件需求,用yum install来安装

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh

(以上如果出现没有安装的,把Linux光盘放入,在Server文件夹,找到对应的RPM包,运行RPM命令来进行安装,如果喜欢图形界面,在图像界面中通过双击对应的RPM包来安装。需要注意的是在安装libaio-devel unixODBC unixODBC-devel 这3个软件包的时候,除了安装X64的包以为,还要安装i386的包,不能因为是X64的系统,就不装i386的包了。 )

本例中libaio-devel-0.3.106 unixODBC-2.2.11 unixODBC-devel-2.2.11 这三个包的32位安装了,但是在oracle中提示检测失败,本例跳过检测来安装的。

3、配置内核。

将以下内容添加至文件:/etc/sysctl.conf

# Kernel paramaters required by Oracle 11gR1

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

复制代码
执行以下命令使 /etc/sysctl.conf 的更改立即生效。

sysctl –p

复制代码

4、将以下内容添加至文件:/etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

复制代码

5、将以下内容添加至文件:/etc/pam.d/login

session required /lib64/security/pam_limits.so

session required pam_limits.so

复制代码
注意:X64的系统,这里就要用 /lib64/security/pam_limits.so,如果是32位的系统应该是/lib/security/pam_limits.so

6、 将以下内容添加至文件: /etc/profile

if [ $USER = "oracle" ]; then

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

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

复制代码

7、创建操作系统用户,作为安装软件和支持组的拥有者,并设置oracle用户密码

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle

复制代码
这里需要检查是否有nobody用户,没有的话要添加一个,检测命令:id nobody

8、创建软件的安装目录并设置目录权限给oracle用户

mkdir –p /home/oradb/oracle/

chown -R oracle.oinstall /home/oradb/

chmod -R 755 /home/oradb/

复制代码

9、 将以下内容添加至文件: /home/oracle/.bash_profile

umask 022

ORACLE_BASE=/home/oradb/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=orcl --实例名,根据需要进行修改,这里是oracle数据线系统安装的时候默认的

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

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

LANG=C --设定此参数避免安装的时候出现乱码

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG

复制代码
上面这个配置文件要记住,后面安装的时候需要相同的设置,以上目录可以自行定义。

添加完以上内容后保存退出,通过命令:source .bashrc 者./.bashrc 使“.bash_profile”设置生效,

也可以通过重新切换到oracle用户来生效。

用oracle登录后,验证变量是否生效:echo $ORACLE_BASE

以上所有修改文件尽量不要用复制粘贴,否则用vi查看每行的代码,没行代码的后面会多出“^m”字符,导致环境变量等出错无法识别,导致后面的sqlplus无法使用。

10、在图形界面下(本机操作或通过VNC远程操作) 以root打开一个终端窗口

--这步好像是设置显示什么的,比较重要,不执行这步在以oracle用户运行“./runInstaller”时会启动不了oracle的图型安装界面

xhost +

xhost + localhost

复制代码

11、将下载的Oracle安装文件解压到Linux中,然后安装数据库,需要赋予oracle对下面database的权限,否则可能安装不了。

#su - oracle

cd database/

./runInstaller

复制代码
注意:这里一定要用oracle用户来安装。database目录里是oracle的安装文件。

12、之后开始出现图形化的安装向导,按照向导操作即可。 注意安装目录等和“.bash_profile”文件里要对应起来

这里有个问题要提醒一下,oracle的密码是大小写字母+数字,数字不能放在密码的开头,尽量按照密码的规范来设置,否则后面的安装可能出错

二、确认安装是否成功

Linux下Oracle在安装结束后就是处于运行状态。输入:

top –u oracle

复制代码
可看到以Oracle用户运行的进程。

在图形化界面下,运行

$ORACLE_HOME/sqldeveloper/sqldeveloper.sh

复制代码
会出现Oracle自带的免费Oracle管理客户端SQL Developer。

现在连接刚安装的Oracle,看看是否能连接成功。

另外也可以通过https://localhost:1158/em/来访问控制台。

三、手动启动oracle服务

reboot重启服务器后,Oracle默认情况下没有在系统中注册成服务,随系统启动而启动的,这时需要手动输入命令来启动。

启动方式:

以oracle用户登录运行以下语句:

1,进入sqlplus:

sqlplus /nolog

复制代码
2,以sysdba的身份连接到数据库,并启动Oracle数据库引擎:

SQL> conn /as sysdba

SQL> startup

复制代码
3,退出sqlplus,运行Listener监听服务

SQL> exit

$ lsnrctl start

复制代码
这样数据库的TNS服务启动了,可通过网络来连接数据库。一般情况启动这两个就够了,如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

$ emctl start dbconsole

复制代码
这样就可以通过https://localhost:1158/em来访问EM控制台了。

四、配置Oracle的开机自启动

为了每次开机的时候能自动启动Oracle,可以将Oracle配置为Linux的服务。操作如下:

1、以root用户建立一个脚本文件

/etc/rc.d/init.d/oracle11g

复制代码
内容如下(环境变量的设置根据实际情况进行修改):

#!/bin/bash

#

# chkconfig: 35 95 1

# description: init script to start/stop oracle database 11g, TNS listener, EM

#

#

#

# match these values to your environment:

ORACLE_BASE=/home/oradb/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=orcl

ORACLE_UNQNAME=oracle

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

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

LANG=C

export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_UNQNAME PATH LD_LIBRARY_PATH LANG

# see how we are called:

case $1 in

start)

su - oracle<<EOO

lsnrctl start

sqlplus /nolog<<EOS

connect / as sysdba

startup

EOS

emctl start dbconsole

EOO

;;

stop)

su - oracle<<EOO

lsnrctl stop

sqlplus /nolog<<EOS

connect / as sysdba

shutdown immediate

EOS

emctl stop dbconsole

EOO

;;

*)

echo "Usage: $0 {start|stop}"

;;

esac

复制代码
以上所有修改文件尽量不要用复制粘贴,用vi检查每行的代码后面是否有“^m”或者“空格”,将其去掉,否则会出错。

2、以root用户执行以下命令,给权限,添加系统启动服务

chmod 755 /etc/rc.d/init.d/oracle11g

chkconfig --add oracle11g

复制代码
3、重启服务

service oracle11g stop

service oracle11g start

复制代码
这样在服务器开启和关闭的时候oracle就能自动启动和停止。

4、修改/etc/oratab这个文件,将最后的N改为Y,如下:

/home/oradb/oracle/product/11.2.0/db_1:Y

复制代码
最后,重启服务器,利用客户端便可以正常连接到Oracle数据库。

至此,Oracle环境配置完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: