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

Linux 安装Oracle 11g

2017-11-02 19:50 501 查看
此博文主要介绍在CentOS环境中安装Oracle 11g. 系统环境为CentOS7.2。

安装前环境准备
安装所需要的软件包:
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
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


创建用户组和用户:

groupadd -g 502 dba
groupadd oinstall
groupadd -g 504 asmadmin
groupadd -g 506 asmdba
useradd -u 502 -g oinstall -G dba,asmdba oracle
设置用户密码:
passwd oracle
修改内核资源限制,在/etc/security/limits.conf添加如下内容:
* 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文件中增加一行,配置验证登录限制:
session    required     pam_limits.so
修改内核参数,在/etc/sysctl.conf文件中增加如下内容:
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
设置使生效:
sysctl -p
创建Oracle base目录:
mkdir -p /data/app/oracle
chown -R oracle:oinstall /data/app/oracle
chmod -R 775 /data/app/oracle
创建数据库文件目录和快速恢复区目录:
数据文件目录
mkdir /data/app/oracle/oradata
chown oracle:oinstall /data/app/oracle/oradata
chmod 775 /data/app/oracle/oradata/
快速恢复区文件目录
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
执行如下命令进行安装:

# cd database/
# ./runInstaller




这里可以选择先安装应用再创建数据库,也可以一次性创建数据库,这里先进行安装:




选择单实例,和企业版本后,会根据我们添加的环境变量,找到对应的安装目录:





如果安装中出现此错误,需要修改目录权限:



chown -R oracle:oinstall /data/app
修改权限即可。

如果安装的软件包不符合要求会出现如下提示,可以通过下载这些软件包,强制安装。





逐以安装缺失的软件包,可以在这里下载缺失的软件包:http://down.51cto.com/data/2339840
如果要解决依赖关系可以使用如下命令强制安装:
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这一步出现错误是,大多数情况是由于部分系统包没有安装成功,需要重新安装所需的包,可以使用如下脚本检测软件包是否装好:
#!/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:
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命令启动监听配置界面:
[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端口。
$ netstat -lntp|grep 1521
tcp6       0      0 :::1521      :::*       LISTEN      22939/tnslsnr
显示监听状态:
[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命令:
[oracle@temp-test ~]$ dbca



选择创建数据库,选择数据库类型:




设置数据库的名称和SID为 “orcl”, 设置所有数据库使用相同的密码,这里设置的密码要满足密码复杂度的要求:





选择数据存放目录:




选择闪回恢复区目录:



选择sample Schemas, 系统会自动配置资源参数,也可以根据自己的需要动态调整,字符集设置为UTF-8:




然后一路默认配置,直到安装完成:



在最后的安装完成界面,数据库会显示详细的数据库信息:




测试数据库的连接
在配置文件添加环境变量:
vim ~/.bash_profile

export ORACLE_SID=orcl
source ~/.bash_profile
登录数据库:
[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>
查看数据:
SQL> select name,created,log_mode,open_mode from v$database;
NAME  CREATED   LOG_MODE OPEN_MODE
--------- --------- ------------ --------------------
ORCL  02-NOV-17 NOARCHIVELOG READ WRITE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle