centos7.6安装Oracle11g
实测安装成功,参考链接:
一 前期准备:
1.root用户查看磁盘空间:选择较大的路径用于建立用户和数据库的安装(/home)
# df –lh
2.创建用户和文件路径:
1创建安装Oracle程序用户组、DBA用户组,创建用户并授权:
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
2修改用户密码:
# passwd oracle
3查看新建的用户:
# id oracle
4创建Oracle的主目录、配置目录:(可以通过Xftp工具手动创建,后续的配置文件需要按照自己建的目录调整)
# mkdir -p /home/oracle/Oracle11G
# mkdir -p /home/oracle/Inventory11G
5先把下载好的Oracle文件传输到oracle目录下,切换到oracle目录下解压缩,自动生成database目录:
# cd /home/oracle
# unzip 对应的压缩文件名称(2个)
6给新建的三个目录授权:
# chown -R oracle:oinstall /home/oracle/Oracle11G
# chown -R oracle:oinstall /home/oracle/Inventory11G
# chown -R oracle:oinstall /home/oracle/database
3 检查软件包依赖
输入以下命令:如果有提示未安装的软件包,用命令# yum -y install compat-libstdc++-33-3.2.3(软件包名称)安装对应的软件包即可,完成安装后的效果见下图
# rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
4 配置核心参数
1 关闭firewalld防火墙:
a.查看firewalld防火墙状态:# systemctl status firewalld.service
b.关闭firewalld防火墙:# systemctl stop firewalld.service
c.禁止开机使用firewalld防火墙:# systemctl disable firewalld.service
2 修改文件: /etc/selinux/config(可以手动通过Xftp修改,也可以通过命令:# vi /etc/selinux/config 修改,vi编辑器按i或者a进入编辑模式,修改后输入英文冒号(:)和wq保存退出即可)
# 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 # ********修改此行******
# 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
3 修改CentOS系统标识 (Oracle默认不支持CentOS)
修改文件: /etc/redhat-release
将文件所有内容替换为:redhat-7
# mv redhat-release redhat-74 修改文件:/etc/security/limits.conf
在文件最后一行前,追加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 655365 修改文件:/etc/sysctl.conf
将下列内容加入该文件,要使 /etc/sysctl.conf 更改立即生效,保存后执行:# sysctl -p
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
6 修改用户环境变量
修改文件: /home/oracle/.bashrc(需要通过vi编辑模式修改,文件是隐藏的)
添加一下内容,保存后执行:# source /home/oracle/.bashrc
export PATH
export ORACLE_BASE=/home/oracle/Oracle11G(对应安装目录)
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG= “SIMPLIFIED CHINESE_CHINA”.ZHS16GBK
7 最后重启系统:# reboot
二 安装Oracle
1 切换到oracle用户装数据库
编辑数据库安装文件:/home/oracle/database/response/db_install.rsp
将下面配置参数根据安装目录修改:
oracle.install.option=INSTALL_DB_SWONLY # 安装类型
ORACLE_HOSTNAME=oracle.server # 主机名称
UNIX_GROUP_NAME=oinstall # 安装组
INVENTORY_LOCATION=/home/oracle/Inventory11G # INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN # 选择语言
ORACLE_HOME=/home/oracle/Oracle11G/product/11.2.0/db_1 # oracle_home
ORACLE_BASE=/home/oracle/Oracle11G # oracle_base
oracle.install.db.InstallEdition=EE # oracle版本
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 # globalDBName
oracle.install.db.config.starterdb.SID=orcl # SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8 # 默认数据库编码
oracle.install.db.config.starterdb.memoryLimit=800 # 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true # 设置安全更新
修改完成后输入:# /home/oracle/database/runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp –ignorePrereq
正式开始安装Oracle…
安装成功后的截图:(如果有报错,可以根据具体的报错信息百度处理)
2 切回到root用户运行脚本
运行脚本:
# /home/oracle/Inventory11G/orainstRoot.sh
# /home/oracle/Oracle11G/product/11.2.0/db_1/root.sh
3 切换到Oracle用户配置监听
编辑监听配置文件:/home/oracle/database/response/netca.rsp
根据下面的参数修改:
INSTALL_TYPE=""custom"" # 安装的类型
LISTENER_NUMBER=1 # 监听器数量
LISTENER_NAMES={"LISTENER"} # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" # 监听器启动的名称
保存后输入:# /home/oracle/Oracle11G/product/11.2.0/db_1/bin/netca /silent /responseFile /home/oracle/database/response/netca.rsp
开启和关闭监听不用执行,上面安装好后,监听会自动开启
开启监听:# /home/oracle/Oracle11G/product/11.2.0/db_1/bin/lsnrctl start
关闭监听:# /home/oracle/Oracle11G/product/11.2.0/db_1/bin/lsnrctl stop
4 添加数据库实例
修改文件:/home/oracle/database/response/dbca.rsp
按照参数修改:
RESPONSEFILE_VERSION ="11.2.0" // 不要变
OPERATION_TYPE ="createDatabase" // 操作为创建实例
GDBNAME ="orcl" // 数据库实例名
SID ="orcl" // 实例名字
TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件
SYSPASSWORD = "oracle" // SYS管理员密码
SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/home/oracle/Oracle11G/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/home/oracle/Oracle11G/flash_recovery_area// 恢复数据存放目录
CHARACTERSET ="AL32UTF8" // 字符集
NATIONALCHARACTERSET= "AL16UTF16" // 字符集
TOTALMEMORY ="1638" // 1638MB,物理内存2G*80%
保存后输入:# /home/oracle/Oracle11G/product/11.2.0/db_1/bin/dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
显示如下图:
查看实例是否运行:
ps -ef | grep ora_ | grep -v grep
5 修改启动和关闭实例的程序
修改文件: /data/oracle/product/11.2.0/db_1/bin/dbstart
/data/oracle/product/11.2.0/db_1/bin/dbshut
将
ORACLE_HOME_LISTNER=$1
修改为
ORACLE_HOME_LISTNER=/home/oracle/Oracle11G/product/11.2.0/db_1修改文件: /etc/oratab
将
orcl:/home/oracle/Oracle11G/product/11.2.0:N
修改为
orcl: /home/oracle/Oracle11G /product/11.2.0:Y
三 设置开启启动
输入命令:
# chmod +x /etc/rc.d/rc.local
修改文件 /etc/rc.d/rc.local
添加如下内容:
su oracle -lc "/home/oracle/Oracle11G/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/home/oracle/Oracle11G/11.2.0/db_1/bin/dbstart"