环境 :云服务器 4C8G
操作系统:Centos 7.2
数据库版本:Oracle 11g R2
创建安装oracle的用户等信息
[woniu@localhost ~]$ su root #切换到root
Password:
[root@localhost]# groupadd oinstall #创建用户组oinstall
[root@localhost]# groupadd dba #创建用户组dba
[root@localhost]# useradd -g oinstall -g dba -m oracle #创建oracle用户,并加入到oinstall和dba用户组
[root@localhost]# passwd oracle #设置用户oracle的登陆密码
New password: # 密码
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: # 确认密码
passwd: all authentication tokens updated successfully.
[root@localhost]# id oracle # 查看新建的oracle用户
uid=1001(oracle) gid=1002(dba) groups=1002(dba)
创建oracle 安装目录
[root@localhost]# mkdir -p /app/oracle #oracle数据库安装目录
[root@localhost]# mkdir -p /app/oraInventory #oracle数据库配置文件目录
[root@localhost]# chown -R oracle:oinstall /app/oracle #设置目录所有者为oinstall用户组的oracle用户
[root@localhost]# chown -R oracle:oinstall /app/oraInventory
[root@localhost]# chown -R oracle:oinstall /opt/database
修改系统标识
oracle默认不支持CentOS系统安装,Oracle Database 11g Release 2
修改文件 /etc/RedHat-release,将运来的centos-7.2修改为redhat
[root@localhost ]# vim /etc/redhat-release
[root@localhost ]# cat /etc/redhat-release
redhat-7
[root@localhost data]#
安装数据库所需的软件包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
yum -y install make-3.81 compat-db* openmotif* libXp* binutils-2.17.50.0.6 gcc-4.1.2 libaio-0.3.106* glibc-2.5-24* compat-libstdc++-33-3.2.3* elfutils-libelf-0.125 elfutils-libelf-devel-0.125 glibc-common-2.5 glibc-devel-2.5* glibc-headers-2.5 gcc-c++-4.1.2 libaio-devel-0.3.106* libgcc-4.1.2* libstdc++-4.1.2* libstdc++-devel-4.1.2 sysstat-7.0.2 unixODBC-2.2.11* unixODBC-devel-2.2.11* ksh-20060214
[root@localhost /]# systemctl status firewalld #查看防火墙状态,运行中
[root@localhost /]# systemctl stop firewalld
[root@localhost /]# systemctl disable firewalld #禁止使用防火墙
[root@localhost /]#
[root@localhost /]# vi /etc/selinux/config
[root@localhost /]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=disabled #此处修改为 disabled
# SELINUXTYPE= can take one of three two values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are protected.
# mls – Multi Level Security protection.
SELINUXTYPE=targeted
修改内核参数
[root@localhost /]# vim /etc/sysctl.conf
在最下面添加以下内容:
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 4294967296 #计算方法:基本为内存的一半以上但是不能设置为所有内存1024*1024*1024*4=4294967296 也就是分配了4g内存
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@localhost /]# sysctl -p
[root@localhost /]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536m
下载并解压oracle 11g安装文件
oracle 下载地址 Oracle下载
[root@localhost /]$ cd /opt
[root@localhost opt]$ ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[root@localhost opt]$ unzip linux.x64_11gR2_database_1of2.zip -d /app/database/ #解压
(省略…)
[root@localhost opt]$ unzip linux.x64_11gR2_database_2of2.zip -d /app/database/ #解压
(省略…)
[oracle@localhost opt]$ su root
Password:
[root@localhost opt]# chown -R oracle:oinstall /app/database/
修改安装文件
[root@az2-direct-prd-db-1 response]# ls
dbca.rsp db_install.rsp netca.rsp
[root@az2-direct-prd-db-1 response]# pwd
/opt/database/response
oracle.install.option=INSTALL_DB_SWONLY # 安装类型(只安装oracle软件)
ORACLE_HOSTNAME= localhost #主机名称,IP也可以,主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall #安装组
INVENTORY_LOCATION=/app/oracle/oraInventory #INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW #选择语言
ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1
oracle_homeORACLE_BASE=/app
oracle_baseoracle.install.db.InstallEdition=EE #oracle版本
oracle.install.db.isCustomInstall=false #自定义安装,否,使用默认组件(有的没有这个选项)
oracle.install.db.DBA_GROUP=dba #dba用户组
oracle.install.db.OPER_GROUP=oinstall #oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl
globalDBNameoracle.install.db.config.starterdb.SID=orcl
SIDoracle.install.db.config.starterdb.memoryLimit=512 #自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle #设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false #手动写false
DECLINE_SECURITY_UPDATES=true #设置安全更新,貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装.
创建oraInst.loc文件
[root@localhost /] vim /home/oracle/oraInst.loc ,内容如下:
inventory_loc=/app/oracle/oraInventory ###和上一步的INVENTORY_LOCATION=/app/oracle/oraInventory
inst_group=oinstall
修改权限:
[root@localhost /] chown oracle:oinstall /home/oracle/oraInst.loc
[root@localhost /] chmod 664 /home/oracle/oraInst.loc
安装实例
一定要在oracle用户下执行安装
[root@localhost /]# su – oracle
[oracle@localhost /]# cd /opt/database
执行
./runInstaller -silent -responseFile /opt/database/response/db_install.rsp -invPtrLoc /home/oracle/oraInst.loc -ignoreSysPrereqs
安装后成功后需要执行脚本成功后显示:
*As a root user, execute the following script(s):
1. /app/oracle/product/11.2.0/dbhome_1/root.sh Successfully Setup Software*
root权限执行安装后的配置脚本
[oracle@localhost /]# su – root
[root@localhost /]#sh /app/oracle/product/11.2.0/db_1/root.sh
###
runInstaller参数说明:
a. 选项-silent表示静默安装,免安装交互,大部分安装信息也不输出
b. 选项-responseFile指定应答文件,要求用绝对路径
c. 执行./runInstaller -help可以查看安装帮助
d. 若忽略-silent选项,将会允许交互,对于应答文件中未设置的项可以再手工指定
e. 若添加-noconfig选项,可以忽略应答文件中的安装类型,而仅安装数据库软件
f.-force 允许安装到一个非空目录
g.-noconfig 表示不运行配置助手netca
创建库
vim /opt/database/response/dbca.rsp
覆盖以下选项:(一定要按原来的参数所在的位置修改,不然报错)
RESPONSEFILE_VERSION = “11.2.0” #不能更改
OPERATION_TYPE = “createDatabase”
GDBNAME = “orcl” #全局数据库的名字=SID
SID = “orcl” #对应的实例名字
TEMPLATENAME = “General_Purpose.dbc” #建库用的模板文件
SYSPASSWORD = “oracle” #SYS管理员密码
SYSTEMPASSWORD = “oracle” #SYSTEM管理员密码
DATAFILEDESTINATION = /app/oracle/oradata #数据文件存放目录 (可不填,默认存放在$ORACLE_BASE/oradata RECOVERYAREADESTINATION=/app/oracle/oradata_back //恢复数据存放目录(可不填)
CHARACTERSET = “ZHS16GBK” #字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
CHARACTERSET = ” AL32UTF8″TOTALMEMORY = “1024” #oracle内存MB (可不填)
安装oracle用户执行
dbca -silent -responseFile /opt/database/response/dbca.rsp
安装完成后添加环境变量
[root@localhost /]# vim /home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH
#oracle
umask 022
export ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1 #oracle数据库家目录
export ORACLE_SID=orcl #oracle启动数据库实例名
export NLS_LANG=AMERICAN_AMERICA.UTF8 #设置Oracle客户端字符集
[root@localhost /]# source /home/oracle/.bash_profile
检查监听是否创建
[oracle@localhost /]$ lsnrctl status
启动监听
[oracle@localhost /]$ lsnrctl start
若监听未自动创建则需要手动创建监听
netca /silent /responsefile /home/oracle/database/response/netca.rsp
然后启动监听
启动数据库(一般数据库安装完是启动的状态)
[oracle@localhost /]$sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 26 12:13:43 2019
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> conn sys/sys as sysdba
Connected.
SQL> startup
ORA-01081: cannot start already-running ORACLE – shut it down first ###已经启动
SQL>
这样就安装完了。
<sql> select name from v$database;
删除数据库实例
[oracle@localhost /]$ dbca -silent -deleteDatabase -sourcedb orcl ###orcl为查询到的实例名称