此博文主要介绍在CentOS环境中安装Oracle 11g. 系统环境为CentOS7.2。
安装前环境准备
安装所需要的软件包:
1
2
3
|
yum
install
binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel \
ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst
make
\
sysstat unixODBC-devel -y
|
1
|
yum
install
binutils* compat-libcap1* compat-libstdc++* gcc gcc-c++ glibc glibc-devel* ksh libaio* libaio-devel libgcc libstdc++* libstdc++-devel libXi* libXtst
make
sysstat* unixODBC-devel -y
|
创建用户组和用户:
1
2
3
4
5
|
groupadd -g 502 dba
groupadd oinstall
groupadd -g 504 asmadmin
groupadd -g 506 asmdba
useradd
-u 502 -g oinstall -G dba,asmdba oracle
|
设置用户密码:
1
|
passwd
oracle
|
修改内核资源限制,在/etc/security/limits.conf添加如下内容:
1
2
3
4
5
6
|
* soft nofile 4096
* hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
|
在文件/etc/pam.d/login文件中增加一行,配置验证登录限制:
1
|
session required pam_limits.so
|
修改内核参数,在/etc/sysctl.conf文件中增加如下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
fs.aio-max-nr = 1048576
fs.
file
-max = 6815744
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_wmem = 4194304 4194304 4194304
|
设置使生效:
1
|
sysctl -p
|
创建Oracle base目录:
1
2
3
|
mkdir
-p
/data/app/oracle
chown
-R oracle:oinstall
/data/app/oracle
chmod
-R 775
/data/app/oracle
|
创建数据库文件目录和快速恢复区目录:
数据文件目录
1
2
3
|
mkdir
/data/app/oracle/oradata
chown
oracle:oinstall
/data/app/oracle/oradata
chmod
775
/data/app/oracle/oradata/
|
快速恢复区文件目录
1
2
3
|
mkdir
/data/app/oracle/recovery_area
chown
oracle:oinstall
/data/app/oracle/recovery_area/
chmod
775
/data/app/oracle/recovery_area
|
安装库软件
从官网下载Oracle11g,是两个zip压缩文件,下载后在同一个目录中解压这两个文件,会生成一个database的目录。这里使用图形安装的方式,需要在本地配置Xserver,Windows客户端具体配置方式参考此链接:http://tryingstuff.blog.51cto.com/4603492/1958772
切换到oracle用户,添加环境变量:
export ORACLE_BASE=/data/app/oracle
配置X:
export DISPLAY=192.168.20.171:0.0
xhost +
access control disabled, clients can connect from any host
执行如下命令进行安装:
1
2
|
# cd database/
# ./runInstaller
|
这里可以选择先安装应用再创建数据库,也可以一次性创建数据库,这里先进行安装:
选择单实例,和企业版本后,会根据我们添加的环境变量,找到对应的安装目录:
如果安装中出现此错误,需要修改目录权限:
chown -R oracle:oinstall /data/app
修改权限即可。
如果安装的软件包不符合要求会出现如下提示,可以通过下载这些软件包,强制安装。
逐以安装缺失的软件包,可以在这里下载缺失的软件包:http://down.51cto.com/data/2339840
如果要解决依赖关系可以使用如下命令强制安装:
1
|
rpm -ivh --nodeps --force packagename.rpm
|
如果出现此错误,可以先忽略:
PRVF-7543 : OS Kernel parameter “semmni” does not have proper value on node “hostname” [Expected = “128” ; Found = “0”]. – Cause: Kernel parameter value does not meet the requirement. – Action: Modify the kernel parameter value to meet the requirement.
一般在Link binaries这一步出现错误是,大多数情况是由于部分系统包没有安装成功,需要重新安装所需的包,可以使用如下脚本检测软件包是否装好:
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
|
#!/bin/sh
count=0
arr=( binutils-2* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-0.* elfutils-libelf-devel-static-0.* gcc-4.* gcc-c++-4* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2* kernel-headers-* ksh-* libaio-0.* libaio-devel-0.* libgcc-4.* libgomp-4.* libstdc++-4.* libstdc++-devel-*
make
-* numactl-devel-* sysstat-* )
len=${
#arr[@]}
for
((i=0;i<len;i++));
do
char=${arr[$i]}
rpm -qa |
grep
"^$char"
if
[ $? != 0 ] ;
then
error[$count]=${arr[$i]}
count=$(($count+1))
echo
"+++++++++++++++the ${arr[$i]}^is not installed++++++++++++++++++"
fi
done
if
[ $count -lt
"0"
];
then
echo
"You have $count patchs are not installed."
echo
"the not installed patch is:"
len1=${
#error[@]}
for
((ii=0;ii<len1;ii++));
do
echo
"${error[$ii]}^"
done
echo
-e
"Are you sure to install the patch[yes or no]:\c"
read
select
if
[ $
select
==
"yes"
];
then
for
((is=0;is<len1;is++));
do
var=${error[$is]}
rpm -ivh .
/patch/
$var.rpm
done
fi
else
echo
"++++++++++++++++++++++CHECK PASS!+++++++++++++++++++++++++++"
fi
count=0
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel
make
pdksh sysstat unixODBC unixODBC-devel |
grep
"not installed"
|
继续点击下一步,直到安装完成.
安装完成后,按照提示使用root 执行系统给出的脚本:
添加oracle的环境变量:
在oracle用户下修改.bash_profile:
1
2
3
|
export
ORACLE_BASE=
/data/app/oracle
export
ORACLE_HOME=
/data/app/oracle/product/11
.2.0
/dbhome_1
PATH=$PATH:$HOME/.
local
/bin
:$HOME
/bin
:$ORACLE_HOME
/bin
|
到此为止,Orace 数据库的软件安装工作就完成了。
启动监听
在oracle 用户下使用netca命令启动监听配置界面:
1
2
3
4
5
|
[oracle@temp-
test
~]$
export
DISPLAY=192.168.20.171:0.0
[oracle@temp-
test
~]$ xhost +
access control disabled, clients can connect from any host
[oracle@temp-
test
~]$ netca
Oracle Net Services Configuration:
|
然后都是用默认配置,监听1521端口。
1
2
|
$
netstat
-lntp|
grep
1521
tcp6 0 0 :::1521 :::* LISTEN 22939
/tnslsnr
|
显示监听状态:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[oracle@temp-
test
~]$ lsnrctl status
LSNRCTL
for
Linux: Version 11.2.0.1.0 - Production on 02-NOV-2017 18:27:02
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=temp-
test
)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR
for
Linux: Version 11.2.0.1.0 - Production
Start Date 02-NOV-2017 18:20:27
Uptime 0 days 0 hr. 6 min. 38 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
/data/app/oracle/product/11
.2.0
/dbhome_1/network/admin/listener
.ora
Listener Log File
/data/app/oracle/diag/tnslsnr/temp-test/listener/alert/log
.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=temp-
test
)(PORT=1521)))
The listener supports no services
The
command
completed successfully
|
使用DBCA工具创建数据库
dbca是数据库自带的数据库配置助手,可以帮助我们方便的创建数据库,删除数据库,配置数据库。
执行dbca命令:
1
|
[oracle@temp-
test
~]$ dbca
|
选择创建数据库,选择数据库类型:
设置数据库的名称和SID为 “orcl”, 设置所有数据库使用相同的密码,这里设置的密码要满足密码复杂度的要求:
选择数据存放目录:
选择闪回恢复区目录:
选择sample Schemas, 系统会自动配置资源参数,也可以根据自己的需要动态调整,字符集设置为UTF-8:
然后一路默认配置,直到安装完成:
在最后的安装完成界面,数据库会显示详细的数据库信息:
测试数据库的连接
在配置文件添加环境变量:
1
2
3
4
|
vim ~/.bash_profile
export
ORACLE_SID=orcl
source
~/.bash_profile
|
登录数据库:
1
2
3
4
5
6
7
|
[oracle@temp-
test
~]$ sqlplus sys
/oracle
as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Nov 2 19:40:58 2017
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
|
查看数据:
1
2
3
4
|
SQL>
select
name
,created,log_mode,open_mode
from
v$
database
;
NAME
CREATED LOG_MODE OPEN_MODE
--------- --------- ------------ --------------------
ORCL 02-NOV-17 NOARCHIVELOG
READ
WRITE
|
本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1978526