Linux6.2 64位安装oracle11g
目录
Linux服务器:Red Hat 6.2 64位
Oracle服务器:Oracle11gR2 64位
二、系统要求
系统要求 |
说明 |
内存 |
必须高于1G的物理内存(内存建议2G,虚拟内存建议4G) |
交换空间 |
一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小 |
硬盘 |
5G以上 |
安装包:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip
主机名修改:
1
2
|
[root@just ~]
# hostname //查看主机名
just
|
修改下面两个文件,保持一样的主机名
1
2
3
|
[root@just ~]
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.2.10 just
//
添加本机IP地址与主机名
|
1
2
3
|
[root@just ~]
# vi /etc/sysconfig/network
NETWORKING=
yes
HOSTNAME=just
//
修改为现在本机主机名
|
修改好主机名后要重启一下电脑,使基生效。
四、软件环境配置
1、oracle必备的开发工具
oracle 11g的安装过程通常在,图形桌面中进行,因此建议使用已装有GNOME中文桌面环境的RHEL 6服务器。软件开发工具当然也是必不可少的:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
yum
install
-y binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33.i686 \
gcc \
gcc-c++ \
glibc.i686 \
glibc \
glibc-devel \
glibc-devel.i686 \
libgcc.i686 \
libgcc \
libstdc++.i686 \
libstdc++ \
libstdc++-devel.i686 \
libstdc++-devel \
libaio.i686 \
libaio \
libaio-devel.i686 \
libaio-devel \
make
\
sysstat \
unixODBC \
unixODBC.i686 \
unixODBC-devel \
unixODBC-devel.i686 \
libXext.i686 \
libXext \
elfutils-libelf-devel \
pdksh \
unzip
|
如果交换空间不够可以用下面命令来增加:
1
2
3
4
|
dd
if
=
/dev/zero
of=
/test
bs=1G count=4
mkswap -f
/test
swapon
/test
free
-m
|
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
1
2
3
4
5
|
vi
/etc/security/limits
.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
|
2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
1
2
|
vi
/etc/pam
.d
/login
session required pam_limits.so
|
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令:vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
1
2
3
4
5
6
7
8
9
10
11
12
|
vi
/etc/sysctl
.conf
fs.
file
-max = 6815744
fs.aio-max-nr = 1048576
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 = 1048576
|
注:sysctl.conf文件里有下面两个参数,记得注释掉
1
2
|
#kernel.shmmax
#kernel.shmall
|
4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p
3、创建oracle用户及组
1
2
3
4
5
|
groupadd oinstall
//
创建安装组
groupadd dba
//
创建管理组
mkdir
-p
/u01/app
useradd
-g oinstall -G dba -d
/u01/app/oracle
oracle
//
创建运行用户
passwd
oracle
//
设置oracle用户的密码
|
修改目录权限:
1
2
|
chown
-R oracle:oinstall
/u01/
chmod
755 -R
/u01/
|
5)将准备好安装包:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip放到oracle用户目录下,使其属主与属组为oracle:oinstall
切换到oracle用户下:
1)配置oracle用户的环境变量
1
2
3
4
5
6
7
8
9
10
11
|
vi
~oracle/.bash_profile
TMP=
/tmp
;
export
TMP
TMPDIR=$TMP;
export
TMPDIR
ORACLE_BASE=
/u01/app/oracle
;
export
ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE
/product/11
.2.0
/db_1
;
export
ORACLE_HOME
ORACLE_SID=res;
export
ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME
/lib
:
/lib
:
/usr/lib
;
export
LD_LIBRARY_PATH
PATH=$ORACLE_HOME
/bin
:$PATH;
export
PATH
LANG=en_US.utf8;
export
LANG
NLS_LANG=american_america.AL32UTF8
#NLS_LANG='SIMPLIFIEDCHINESE_CHINA.AL32UTF8'; export NLS_LANG
|
2) 当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中。
将1of2、2of2这两个zip压缩包解压,就可以获得database文件夹
1
2
|
unzip
/media/linux_11gR2_database_1of2
.zip
unzip
/media/linux_11gR2_database_2of2
.zip
|
解压完成后 cd 进入其解压后的目录database
输入命令:
1
|
cd
database
|
3)修改cvu_prereq.xml文件里相关的开发包的ARCHITECTURE值,这个值默认是i386的,要修改为i686不然后面安装会有如下报错的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
[root@just ~]
# su - oracle
[oracle@just ~]$
pwd
/u01/app/oracle
[oracle@just ~]$ vidatabase
/stage/cvu/cvu_prereq
.xml
…………省略部分内容
<PACKAGES>
<!-- Packages
for
ASM -->
<CONDITION VAR=
"ASM"
>
<PACKAGENAME=
"oracleasm-support"
VALUE=
"2.0"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"oracleasm-%KERNEL_RELEASE%"
VALUE=
"2.0"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"oracleasmlib"
VALUE=
"2.0"
SEVERITY=
"IGNORABLE"
/>
<
/CONDITION
>
<!-- Packages
for
OCFS2 -->
<CONDITION VAR=
"OCFS2"
>
<PACKAGEVAR=
"ocfs2"
VALUE=
"1.2.9"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"ocfs2-tools"
VALUE=
"1.2.7"
SEVERITY=
"IGNORABLE"
/>
<
/CONDITION
>
<PACKAGE NAME=
"make"
VALUE=
"3.81"
SEVERITY=
"IGNORABLE"
/>
<PACKAGE NAME=
"binutils"
VALUE=
"2.17.50.0.6"
SEVERITY=
"IGNORABLE"
/>
<PACKAGE NAME=
"gcc"
VALUE=
"4.1.2"
SEVERITY=
"IGNORABLE"
/>
<PACKAGE NAME=
"libaio"
VALUE=
"0.3.106"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGE NAME=
"libaio"
VALUE=
"0.3.106"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGE NAME=
"glibc"
VALUE=
"2.5-24"
SEVERITY=
"CRITICAL"
ARCHITECTURE=
"i686"
/>
<PACKAGE NAME=
"glibc"
VALUE=
"2.5-24"
SEVERITY=
"CRITICAL"
ARCHITECTURE=
"x86_64"
/>
<PACKAGENAME=
"compat-libstdc++-33"
VALUE=
"3.2.3"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGENAME=
"elfutils-libelf"
VALUE=
"0.125"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGENAME=
"elfutils-libelf-devel"
VALUE=
"0.125"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"glibc-common"
VALUE=
"2.5"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"glibc-devel"
VALUE=
"2.5"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGENAME=
"glibc-devel"
VALUE=
"2.5"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGENAME=
"glibc-headers"
VALUE=
"2.5"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"gcc-c++"
VALUE=
"4.1.2"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"libaio-devel"
VALUE=
"0.3.106"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGENAME=
"libaio-devel"
VALUE=
"0.3.106"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGE NAME=
"libgcc"
VALUE=
"4.1.2"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGE NAME=
"libgcc"
VALUE=
"4.1.2"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGENAME=
"libstdc++"
VALUE=
"4.1.2"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGENAME=
"libstdc++"
VALUE=
"4.1.2"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGENAME=
"libstdc++-devel"
VALUE=
"4.1.2"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGENAME=
"sysstat"
VALUE=
"7.0.2"
SEVERITY=
"IGNORABLE"
/>
<PACKAGENAME=
"unixODBC"
VALUE=
"2.2.11"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGENAME=
"unixODBC"
VALUE=
"2.2.11"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGENAME=
"unixODBC-devel"
VALUE=
"2.2.11"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"i686"
/>
<PACKAGENAME=
"unixODBC-devel"
VALUE=
"2.2.11"
SEVERITY=
"IGNORABLE"
ARCHITECTURE=
"x86_64"
/>
<PACKAGE NAME=
"ksh"
VALUE=
"20060214"
SEVERITY=
"IGNORABLE"
/>
<
/PACKAGES
>
…………省略部分内容
|
4)开始安装(以oracle用户登录到系统安装)
进入database目录,运行安装文件开始安装
1
|
# ./runInstaller
|
进入图形化界面,一步步安装取消勾选I wish…(依照个人),点击Next,弹出确认框再点Yes
选择第二项:Install database software only,仅安装数据库软件
选择Singel instance database installation(单实例数据库安装),点击Next
选择产品语言,默认英语,附加选择了简体中文,点击Next
配置Oracle安装目录,由于安装前环境变量的配置,安装程序自动读取配置,自动选择好了Oracle Base和Software Location,如图所示,点击Next
同上,Oracle Inventory Directory目录也自动选择好了,点击Next
保持默认,点击Next
安装检查中
缺少两个包elfutils-libelf-devel、pdksh
安装elfutils-libelf-devel和pdksh这两个包
1
|
yum
install
–y elfutils-libelf-devel*
|
镜像盘没有pdksh这个rpm包,从网上下载pdksh的rpm包并安装
1
2
3
4
|
# rpm -ivh pdksh-5.2.14-30.x86_64.rpm
warning: pdksh-5.2.14-30.x86_64.rpm: HeaderV3 DSA
/SHA1
Signature, key ID 73307de6: NOKEY
Preparing...
########################################### [100%]
1:pdksh
########################################### [100%]
|
以上步骤完成后点击按钮Check Again,发现不满足列表并没有清除,而是少了一些,此时勾选右侧复选框Ignoreall,点Next即可向下安装了(内存和缓存问题根据自己的实际情况分配)
不建议使用oracle基地/ u01 / app / oracle作为用户的主目录,yes或no都行
在root用户下执行下面两个脚本,执行完点OK
安装完成
1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。
选择第一个一般用途或事务用途
配置全局数据库名称
配置四个内置超级管理员密码,建议统一密码,便于记忆用
数据库存放位置,我这里采用默认
七、安装监听
1) 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
2)配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)
输入连接的oracle服务器的数据库的实例名
输入oracle服务器的ip地址
可以测试也可以不测试的,这里我没有测试
要想再配置一个,可以Yes,这里我选No
完成
这样oracle服务器安装配置基本就完成了。
查看oracle家目录下已经有listener.ora和tnsnames.ora两个文件
本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1432982,如需转载请自行联系原作者