Centos7静默安装Oracle数据库

一、前言

静默安装就是不使用图形化界面的安装,全部用命令与配置文件进行安装的方式。
如果你在 Windows 下安装过 Oracle 数据库,理解起来可能会比较简单。
个人使用的环境为:Centos7 + Oracle11gR2。
提前去官网下载好 Oracle 的压缩包,放到 /opt/download 目录中,可能有两个压缩包,使用命令 unzip xxx1.zipunzip xxx2.zip 将两个压缩包解压,得到 database 目录。

二、步骤拆解

系统环境配置 | 安装数据库软件 | 配置静默监听 | 静默方式创建数据库同时建立实例

三、详细步骤

3.1 系统环境配置

3.1.1 安装依赖
这些是需要的依赖,需要先安装好,不能漏掉。

# yum install 
  gcc 
  make 
  binutils 
  gcc-c++ 
  compat-libstdc++-33elfutils-libelf-devel 
  elfutils-libelf-devel-static 
  ksh 
  libaio 
  libaio-develnumactl-devel 
  sysstat 
  unixODBC 
  unixODBC-devel 
  pcre-devel 

3.1.2 配置用户和组
安装 Oracle 需要用到 oracle 用户,所以需要手动创建好用户和用户组。

[root@CentOS \]# groupadd oinstall      # 这是创建用户组
[root@CentOS \]# groupadd dba           # 这是创建用户组
[root@CentOS \]# useradd -g oinstall -G dba oracle   # 这是创建用户并指定用户组
[root@CentOS \]# passwd oracle       # 这是配置用户密码

创建好之后可以确认一下用户信息。

[root@CentOS \] id oracle    # 这是查看用户信息

这是输出信息。

uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)

3.1.3 修改内核参数配置文件
这一步是让 Oracle 更好的工作。
使用命令 vim /etc/sysctl.conf 打开配置文件,文件后面追加下面的内容。

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824         # 本机物理内存(2G)的一半
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

注:其中 kernel.shmmax = 1073741824 设置为本机物理内存(2G)的一半,单位为byte。
保存退出后使用命令 sysctl -p 使其生效。

3.1.4 修改用户限制文件
这一步是限制 Oracl 用户的权限。
使用命令 vim /etc/security/limits.conf 打开用户限制配置文件。
在文件的后面追加以下内容:

oracle           soft      nproc           2047
oracle           hard     nproc         16384
oracle           soft      nofile           1024
oracle           hard     nofile          65536
oracle           soft      stack           10240

保存退出。
使用命令 vim /etc/pam.d/login 打开用户登录配置文件。
在文件后面追加以下内容:

session required   /lib64/security/pam_limits.so
session required   pam_limits.so

保存退出。
使用命令 vim /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

保存退出。

3.1.5 创建安装目录、设置文件权限
执行以下命令。

[root@CentOS /]# mkdir -p /data/oracle/product/11.2.0      # 这是创建安装目录
[root@CentOS /]# mkdir /data/oracle/oradata                     # 这是创建实例的数据文件目录
[root@CentOS /]# mkdir /data/oracle/inventory                  # 这是创建Oracle中央目录,Oracle 不建议将此目录创建到 ORACLE_BASE 中,不过不影响安装。
[root@CentOS /]# mkdir /data/oracle/fast_recovery_area  
[root@CentOS /]# chown -R oracle:oinstall /data/oracle   将目录所有者改为 Oracle 用户
[root@CentOS /]# chmod -R 775 /data/oracle 

3.1.6 更改oracle用户的环境变量
切换用户。

[root@CentOS /]# su - oracle      # 中间加 - 可以将环境变量同时切换

打开配置文件。

[oracle@Centos /]$ vim ~/.bash_profile

按照上一步创建的目录与文件内容,在该配置文件的后面追加以下内容:

# oracle 设置
ORACLE_BASE=/data/oracle            # oracle 的基目录
ORACLE_HOME=$ORACLE_BASE/product/11.2.0 # oracle 的安装目录
ORACLE_SID=orcl   # 这里必须和数据库实例名一致,所以创建的实例的时候要用这个名字
PATH=$PATH:$ORACLE_HOME/bin   # oracle的命令存放目录
ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH ORACLE_UNQNAME

使用命令 source ~/.bash_profile 刷新一下。

3.1.7 配置hostname
使用命令 hostname 查看主机名,每个人不一样,比如我的是 CentOS
使用命令 vim /etc/hosts 打开文件,追加一行主机与域名的记录。

# 要使用你的IP地址和你的主机名
192.168.1.1                   CentOS

3.2 安装数据库软件

3.2.1 编辑静默安装响应文件
静默安装数据库需要用到静默安装响应文件,静默安装响应文件就像使用图形化界面安装的时候点击的下一步、下一步一样,只不过是提前配置好,安装程序运行的时候就可以根据这个文件来做安装了。
切换到 root 用户,使用命令 vim /opt/download/database/response/db_install.rsp 打开静默安装响应文件。按照以下内容修改里面的内容:

# 表示只安装数据库
oracle.install.option=INSTALL_DB_SWONLY
# 当前的主机名,可以使用命令 `hostname` 查看
ORACLE_HOSTNAME=CentOS
UNIX_GROUP_NAME=oinstall
# inventory 目录
INVENTORY_LOCATION=/data/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/oracle/product/11.2.0
ORACLE_BASE=/data/oracle
## 安装的版本 - 企业版
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

保存退出。

3.2.2 使用oracle用户开始安装

[oracle@CentOS ~]$ cd /opt/download/database/response/
[oracle@CentOS response]$  ./runInstaller -silent -responseFile /opt/download/database/response/db_install.rsp -ignorePrereq

这样,安装程序就在后台运行了,如果运行中发生了错误,提示信息中会有 [FATAL] 字样,出现这个字样说明安装失败,需要修改配置。
如果提示中出现 [WARNING] 字样可以不用理会,不会影响安装。
如果出现类似以下提示,就说明安装成功了,可能你的提示是英文版的。(不是自己的图,所以路径不对,请以你的路径为准)

安装成功提示信息.png

然后按照提示,打开一个新的终端,使用 root 身份执行上面的两个脚本。
至此,数据库的安装就完成了。

3.3 配置静默监听

按照静默监听文件配置静默监听。
切换到 oracle 用户,运行命令:

 [oracle@CentOS ~]$ netca /silent /responseFile /opt/download/database/response/netca.rsp

执行成功后可以使用 netstat 命令查看是否正在监听。

[oracle@CentOS ~]# netstat -tnulp | grep 1521

出现类似下面的信息就是正在监听。


正在监听

3.4 静默方式创建数据库同时建立实例

3.4.1 编辑静默安装响应文件
切换回 root 用户,编辑静默安装响应文件。

[root@CentOS /]# vim /opt/download/database/response/dbca.rsp

将文件内容做以下修改:

GDBNAME= "orcl"
SID =" orcl"
SYSPASSWORD= "oracle"
SYSTEMPASSWORD= "oracle"
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION=/data/oracle/oradata
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area
CHARACTERSET= "ZHS16GBK"
TOTALMEMORY= "1638"

注:其中TOTALMEMORY ="1638" 为1638MB,物理内存2G x 80%。
保存退出。

3.4.2 开始执行静默安装
切换回 oracle 用户,执行命令:

[oracle@CentOS ~]$ dbca -silent -responseFile /opt/download/database/response/dbca.rsp

安装过程出现以下提示:(网上随便找的图,所以路径不一样)


安装提示

安装成功,检查一下实例。

[oracle@CentOS ~]$ ps -ef | grep ora_ | grep -v grep

出现进程信息(也是网图,路径一样):


进程信息

查看以下监听状态:

[oracle@CentOS ~]$ lsnrctl status

出现提示:(网图)

监听状态

3.4.3 登录查看实例状态

[oracle@CentOS~]$ sqlplus / as sysdba
......
......
SQL> select status from v$instance;

出现这种提示代表实例启动成功:(网图)


实例状态

至此,数据库软件的安装和数据库实例的创建都成功了。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345