操作系统:centos7.5(Redhat)
Oracle 版本:oracle 12c 下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-linux-download-2240591.html
一、环境准备
1.安装准备
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止防火墙开机启动
systemctl status firewalld.service #查看防火墙状态
2.关闭selinux
vi /etc/selinux/config #编辑文件
SELINUX=disabled #修改的内容
3.修改host名称(原因是Oracle不识别Linux,你要不是Linux的主机名可以省略)
# 在文件末尾加上192.168.159.129(这个是你自己的IP地址) oracle12c 名称自己取,前两行后面也加上名称,开始没加最后本机navicat连一直报监听找不着,实际监听是开了
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle12c
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 oracle12c
#192.168.159.129 oracle12c
vi /etc/hosts
4.yum安装必要安装包(有错误就多执行几次,以下依赖包都Oracle安装需要的)
yum update #更新yum源
yum install 软件名 #安装
yum remove software name #协助软件
yum list softwarename #查看软件源中是否有此软件
yum list all #列出所有软件名称
yum list installed #列出已经安装的软件名称
yum list available #列出可以用yum安装的软件
yum clean all #清空yum缓存
安装依赖包:
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
# 检查是否安装成功(31个安装包)
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
5.创建用户组
# 创建oinstall和dba组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle # 创建oracle用户
# 设置oracle密码
passwd oracle #输入密码,确认密码后 passwd: all authentication tokens updated successfully.
id oracle # 查看创建结果
6.创建安装目录
mkdir -p /usr/app/oracle #创建目录
chown -R oracle:oinstall /usr/app/ #授权
chmod -R 775 /usr/app/ #授权
7.vi /etc/sysctl.conf
# 文件内容添加如下
fs.aio-max-nr = 1048576
fs.file-max = 6815744
# 该参数表示系统任意时刻可以分配的所有共享内存段的总和的最大值(以页为单位).其值应不小于
# shmmax/page_size(getconf PAGESIZE可以查询到).缺省值就是2097152
kernel.shmall = 2097152
#64 位 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,
# 可以取物理内存 -1byte.例:内存为 16G 时,该值为 16*1024*1024*1024-1 = 17179869183
kernel.shmmax = 17179869183
# 缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为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
sysctl -p #使配置生效
注:上面的kernel.shmmax = 1200000000可能会有问题,后面再说。
或者直接现在就写成 kernel.shmmax = 4098955264
8.修改用户限制
vi /etc/security/limits.conf
# 在文件末尾添加下面6行内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
注:修改此文件是即时生效的,但可能要重登录后再看
9.修改用户登录库文件引用
vi /etc/pam.d/login
# 在文件末尾添加下面2行内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
10.修改用户登录环境变量
vi /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
# 使修改的文件生效
source /etc/profile
11.配置Oracle用户环境变量
su - oracle #切换用户
vi ~/.bash_profile # 添加内容如下
# 和创建的安装目录路径一样
export ORACLE_BASE=/usr/app/oracle
# 指定sid名称
export ORACLE_SID=orcl
source ~/.bash_profile #使配置生效source .bash_profile
二、数据库应用安装
1.使用oracle 用户,创建数据库安装配置文件夹etc
su - oracle #不是oracle用户就先切换用户,是就不用执行
cd /home/oracle/ #到oracle目录下
mkdir etc
2.上传安装文件到/home/oracle/目录下并解压(上传文件命令rz,需安装才能用此命令:yum install -y lrzsz)
su - root #切换到root用户
yum install -y unzip zip #安装解压软件,已经安装就不用执行
su - oracle #切换到oracle用户(一定要切会Oracle用户,不然需要改组名用户名权限)
unzip xxx.zip #解压文件
ll #查看下所属组名用户名是否正确
3.复制Oracle配置文件到etc目录下,并修改配置文件权限
cp /home/oracle/database/response/* /home/oracle/etc/ #复制文件
chmod 700 /home/oracle/etc/*.rsp #修改文件权限
4.修改oracle用户环境变量
su - oracle
vi ~/.bash_profile
# 后面追加内容如下
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_HOME=/usr/app/oracle/product/12/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
source .bash_profile #执行命令使环境变量生效
注:用yum remove *openjdk* 把系统自带的openjdk卸载,再安装sun jdk:rpm -ivh jdk-8u144-linux-x64.rpm。(下载地址)(openjdk环境安装oracle GUI会报class not found的错。)。然后
java -version检查一下安装是否成功。上述工作完成后,建议重启系统。
5.以oracle用户登录,开始安装:
su oracle #进到Oracle用户下, export LANG="en_US" #防止出先乱码,英文编译 cd /usr/app/oracle/database #进到database目录下 ./runInstaller #执行
注:我这里使用基于X11 Forwarding技术 + MobaXterm 工具实现图形化界面。
安装Oracle软件:
执行图形化页面:取消勾选,这个是自动更新的
注:这里有可能会出现这一警告,点击继续
安装完成!
安装Oracle数据库
输入dbca启动数据图形化界面装数据库
注:有可能会出现 bash: dbca: command not found 是因为没有配置环境变量
在Oracle用户 下查看.bash_profile文件,.bash_profile文件每一个用户下都有一个,不要混淆
cat .bash_profile #查看
vi .bash_profile #编辑 点击“i”进行编辑,上面有内容,之后“:wq!”保存退出
source .bash_profile #运行
选择配置:这里我们选择高级配置,简单的自测
根据自己需求配置:我选择定制的数据库(custom database)
配置数据库容器
配置数据库存储方式:
选择快速恢复区域:
监听器配置:(创建数据库自动创建监听器,一定要是LISTENER默认的)
选择数据库组件:
数据库安全配置:
内存、块、连接数量、字符集、连接模式、添加实例:
配置Orale EM 土豪可以去订购功能强大的EM:
口令配置:我是用的是统一口令
创建数据库配置:
注:
cd /orcl/app/oracle/product/12.1.0/db_1 ./root.sh
安装完成!