Linux 安装Oracle 11g

简介:

此博文主要介绍在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

1b108ba35033391a95888c9c8ea8a980.jpg


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


86efa04ab5b0a843ded1240dc07cbe73.jpg

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


8b252ce8d8f3d5fb5da81b5b93c07957.jpg


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

77a9ef5da59fd8214383e8dd7127fbee.jpg

chown  -R oracle:oinstall /data/app

修改权限即可。

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

e91b5db5ea5e857b32e2a4d34fca9250.jpg


逐以安装缺失的软件包,可以在这里下载缺失的软件包: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 执行系统给出的脚本:

baf6399160d79ea56b22cea20c97c054.jpg


添加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:

58e5cce48fa7cacf5da65403f59e393e.jpg


然后都是用默认配置,监听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

7c098eabdb0384deabf4b3c0a97db642.jpg

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

1db73960b1a4f1172b470dd7be6f1ec3.jpg


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


9dd25350bc89102423c60106bd0141c8.jpg


 选择数据存放目录:

2759458a6dc2ddf22aa36b71e471a75f.jpg


选择闪回恢复区目录:

4bc8e60f97ddddced72909a60bbc6e77.jpg

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

31f64b1ab9791f2e8668217a961d0dd4.jpg


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

21c9744ee49f3045c93fb1aca94f56c5.jpg

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

261587e97e83c1a1c4314461fc0f63df.jpg


测试数据库的连接

在配置文件添加环境变量:

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

相关文章
|
6天前
|
存储 Linux C语言
Linux|如何安装和运行多个 glibc 库
Linux|如何安装和运行多个 glibc 库
20 5
|
3天前
|
消息中间件 物联网 Linux
Linux怎么安装czmq(物联网消息通讯轻量级消息队列)
Linux怎么安装czmq(物联网消息通讯轻量级消息队列)
18 8
|
2天前
|
Linux vr&ar C语言
Linux怎样更新Centos下Gcc版本支持C17?Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)
Linux怎样更新Centos下Gcc版本支持C17?Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)
13 2
|
3天前
|
前端开发 Linux Docker
Linux - 记录问题:怎么通过安装包的方式安装gRPC
Linux - 记录问题:怎么通过安装包的方式安装gRPC
11 1
|
6天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
|
7天前
|
Linux 数据处理
Linux命令`install`详解:不仅仅是安装工具
`install`命令在Linux中并非仅用于安装软件,而是用于精确复制文件和目录,设置权限及所有权。它能创建目标目录、处理符号链接并保留时间戳。例如,`install -m 644 source.txt /dest`用于复制文件并设置权限,`install -d -m 755 /dest/dir`创建目录。使用时要注意权限设置,避免误操作,并记录命令以备恢复。
|
7天前
|
SQL Linux 数据库
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
|
3天前
|
存储 NoSQL Linux
Linux下Redis简介、安装、设置、启动
Linux下Redis简介、安装、设置、启动
7 0
|
3天前
|
关系型数据库 MySQL Linux
Linux centos 6.5 - Mysql 安装 、卸载、修改密码、忘记密码 并异常处理
Linux centos 6.5 - Mysql 安装 、卸载、修改密码、忘记密码 并异常处理
7 0
|
4天前
|
关系型数据库 MySQL Linux
linux安装mysql
linux安装mysql
16 0