Linux静默安装Oracle 11g
1、下载oracle 11g 安装包
2、安装前准备
2.1 创建组与用户
如果要安装Oracle数据库,则需要以下本地操作系统组和用户:
●Oracle inventory组(通常为 oinstall)
●OSDBA组 (通常为 dba)
●Oracle软件所有者(通常为 oracle)
[root@localhost data]KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ groupadd oinst…# groupadd dba
[root@localhost data]$# useradd -g oinstall -G dba oracle
–查看oracle用户是否创建成功
[root@localhost data]$# id oracle
uid=1000(oracle) gid=1000(oinstall) 组=1000(oinstall),1001(dba)
–给oracle用户创建密码
[root@localhost data]$# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新
–将oracle用户加入到sudo群组中
[root@localhost ~]# vi /etc/sudoers
–输入上面的命令后,打开sudoers文件进行编辑–找到root ALL=(ALL) ALL这行,并且在底下再加入以下命令:
oracle ALL=(ALL) ALL
2.2 创建数据库安装目录
[root@localhost ~]# mkdir -p /opt/oracle/product/11.2.0/dbhome_1
[root@localhost ~]# mkdir /opt/oracle/oradata
[root@localhost ~]# mkdir /opt/oracle/oraInventory
[root@localhost ~]# mkdir /opt/oracle/flash_recovery_area
[root@localhost ~]# chown -R oracle:oinstall /opt/oracle
[root@localhost ~]# chmod -R 775 /opt/oracle
2.3 关闭selinux
[root@localhost ~]# vi /etc/selinux/config
修改:SELINUX=disabled
2.4 关闭防火墙
#停止服务|firewall
[root@localhost ~]# systemctl stop firewalld.service
#禁止firewall开机启动
[root@localhost ~]# systemctl disable firewalld.service
2.5 修改/etc/hosts文件
#查看主机名
[root@localhost ~]# hostnamectl
#修改主机名
[root@localhost ~]# hostnamectl set-hostname localhost.localdomain
2.6 修改内核参数
[root@localhost ~]# vi /etc/sysctl.conf–添加以下内容
kernel.shmall = 2097152
kernel.shmmax 参数设置为物理内存的一半
kernel.shmmax = 1073741824
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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
–使修改立即生效
[root@localhost ~]# sysctl -p
2.7 对oracle用户设置限制
[root@localhost ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
2.8 修改用户验证选项
[root@localhost data]# vi /etc/pam.d/login
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin-session optional pam_ck_connector.so
增加下面的内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
2.9 设置用户变量
[root@localhost ~]# vi /home/oracle/.bash_profil
在文件末尾添加如下内容:
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export PATH= O R A C L E H O M E / b i n : / u s r / s b i n : ORACLE_HOME/bin:/usr/sbin: ORACLEHOME/bin:/usr/sbin:PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LANG=C #防止安装过程出现乱码
–使配置的环境变量生效:
[root@localhost ~]# source /home/oracle/.bash_profile
2.10 设置用户变量
–安装依赖包(下面代码是一个整体)
yum -y install 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
–检查依赖包安装情况(下面代码是一个整体)
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
–下面是输出结果;发现我们有2个包没有安装
binutils-2.27-34.base.el7.x86_64
未安装软件包 compat-libstdc+±33
elfutils-libelf-0.172-2.el7.x86_64
elfutils-libelf-devel-0.172-2.el7.x86_64
expat-2.1.0-10.el7_3.x86_64
gcc-4.8.5-36.el7.x86_64
gcc-c+±4.8.5-36.el7.x86_64
glibc-2.17-260.el7.x86_64
glibc-common-2.17-260.el7.x86_64
glibc-devel-2.17-260.el7.x86_64
glibc-headers-2.17-260.el7.x86_64
libaio-0.3.109-13.el7.x86_64
libaio-devel-0.3.109-13.el7.x86_64
libgcc-4.8.5-36.el7.x86_64
libstdc+±4.8.5-36.el7.x86_64
libstdc+±devel-4.8.5-36.el7.x86_64
make-3.82-23.el7.x86_64
未安装软件包 pdksh
sysstat-10.1.5-17.el7.x86_64
unixODBC-2.3.1-11.el7.x86_64
unixODBC-devel-2.3.1-11.el7.x86_64
Ps:如果有未安装的依赖包自行百度搜索下载
3、开始安装Oracle
–为了避免前面配置不生效先重启
[root@localhost ~]# reboot
–使用工具上传步骤一下载的安装包
将步骤1中下载的两个oracle安装文件,上传至/usr/local/src目录中
–用root用户解压这两个文件到/data/database 目录下,设置所属用户与组,再切换至oracle用户加载一下环境变量,开始安装。
[root@localhost src]# unzip p10404530_112030_Linux-x86-64_1of7.zip -d /data/database/ #解压第一个压缩包
[root@localhost src]# unzip p10404530_112030_Linux-x86-64_2of7.zip -d /data/database/ #解压第二个压缩包
–解压后进入 database 目录,该目录下有三个 .rsp 文件,用来作为静默安装时的应答文件的模板。
[root@localhost src]# cd /data/database
[root@localhost src]# ll
三个文件作用分别是:
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答
–复制静默安装配置文件
[root@localhost src]# cd /data/database/database/response # 进入 response 目录
[root@localhost response ]# cp db_install.rsp db_install_copy.rsp # 将 db_install.rsp 备份一份,以免修改出错
–修改静默安装的配置文件
[root@localhost response ]# vim db_install.rsp # 编辑
按照下方的参数进行修改,需要修改的地方标红了
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracledb
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/oracle/product/11.2.0/db_1
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=oracle
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/data/oracle/fast_recovery_area
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true //一定要设为 true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
–以root用户需创建/etc/oraInst.loc文件,否则安装会报错
[root@localhost src]# vi /etc/oraInst.loc
inventory_log=/data/oracle/oraInventory
inst_group=oinstall
–开始静默安装
[root@localhost src]# chown -R oracle:oinstall /data #指定文件夹及子目录的所属用户与组
[root@localhost src]# su - oracle #切换至oracle用户
[oracle@localhost src]$ cd #进入家目录
[oracle@localhost ~]$ source .bash_profile #加载环境变量
[oracle@localhost ~]$ cd /data/database/database/ #进入oracle安装程序存放的目录
[oracle@localhost database]$ ./runInstaller -silent -force -responseFile /data/database/database/response/db_install.rsp # 安装
–查看安装日志
安装需要一会儿,如果想看安装进度,可以再打开一个窗口,输出会话日志
tail -f 日志文件(下图中红色框中为日志文件绝对路径)
–当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本
[root@localhost database]$ su - root
[root@localhost database]$ sh /data/oracle/oraInventory/orainstRoot.sh
[root@localhost database]$ sh /data/oracle/product/11.2.0/db_1/root.sh
4、配置监听程序
4.1 监听命令
启动监听:lsnrctl start
停止监听:lsnrctl stop
重启监听:lsnrctl reload
查看监听:lsnrctl status
4.2 配置监听
[oracle@localhost ~]$ su - oracle # 切换到 oracle 用户
[oracle@localhost ~]$ /data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/database/database/response/netca.rsp # 配置监听
4.3 查看监听(使用oracle用户)
[oracle@localhost ~]$ lsnrctl status # 查看监听状态
4.4 静默建dbca库
[oracle@localhost ~]$ su - root # 切换到 root 用户
[oracle@localhost ~]$ vi /data/database/database/response/dbca.rsp
修改如下内容:
GDBNAME = “orcl” # 78 行
SID=“orcl” # 170行
CHARACTERSET=“AL32UTF8” # 418行
NATIONALCHARACTERSET=“UTF8” # 428行
#保存并退出:wq
可以在查看模式(非inster)输入 :set number 显示行号;
可以在查看模式(非inster)输入 /+内容 快速定位内容处;
–静默dbca建库
[oracle@localhost ~]$ su - oracle # 切换到 oracle 用户
[oracle@localhost ~]$ /data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/database/database/response/dbca.rsp # 建库
执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码(oracle),回车,再输入一次(oracle),再回车,稍等一会,会开始自动创建
4.5 静默建dbca库
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015
Copyright © 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> start
SP2-1506: START, @ or @@ command has no arguments
SQL> startup
ORACLE instance started.
Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 1795164312 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16568320 bytes
Database mounted.
Database opened.
SQL> show parameter;
4.6 开放1521端口(远程连接Oracle所需)
查看开放的端口:firewall-cmd --listy-port
永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp
刷新防火墙: firewall-cmd --reload