CentOS7.4最详细的图形化安装Oracle12C

作者:神秘网友 发布时间:2020-10-31 16:44:49

CentOS7.4最详细的图形化安装Oracle12C

CentOS7.4最详细的图形化安装Oracle12C

1. 系统要求

? 官方建议内存空间至少1G,交换分区应为内存空间2倍以上
CentOS7.4最详细的图形化安装Oracle12C

2. 调整swap分区大小(若满足,忽略此步)

free -m

CentOS7.4最详细的图形化安装Oracle12C

# dd if=/dev/zero of=/usr/swapfree bs=1024 count=2048000

CentOS7.4最详细的图形化安装Oracle12C

mkswap /usr/swapfree  # (将文件格式化为swap文件格式)
swapon /usr/swapfree   #(启动swap交换分区) 要停止使用新创建的swap文件,只要执行 swapoff /tmp/swapfree命令即可,如果swap交换文件不再使用,可以删除此文件。
swappon -s     		# 检查swap

CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C

/usr/swapfree swap swap defaults 0 0 #  (开机时启动此swap文件)在/etc/fstab文件加一行

CentOS7.4最详细的图形化安装Oracle12C

重启确认

CentOS7.4最详细的图形化安装Oracle12C
说明:通常Swap空间的大小应是物理内存的2-2.5倍,特别是数据库服务器和Web服务器,随着访问量的增加,对Swap空间的要求也会增加

3. 关闭防火墙以及Selinux

systemctl stop firewalld.service #--关闭防火墙
systemctl disable firewalld.service #-- 禁止防火墙开机启动
systemctl status firewalld.service  #-- 查看防火墙状态
# vi /etc/selinux/config 
SELINUX=disabled  # 关闭selinux
# 添加本地解析 

CentOS7.4最详细的图形化安装Oracle12C

4. yum安装必要安装包

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

1)Centos7.4.1检查安装oracle12c的依赖结果:
compat-libstdc++和ksh无安装信息(compat-libstdc++ ksh本地镜像没有,不能挂载,可以到此链接下载rpm包进行安装)下载地址
2) 如果其他centso版本检查到安装oracle12c前缺失unixODBC-devel和glibc,也无Internet环境,可挂载本地镜像安装

4.1.1. 挂载安装示例:

1)挂载安装unixODBC-devel和glibc 1) 新建挂载目录 /Centos7.4 2) 镜像默认存在于/dev/sr0,
执行挂载[[email protected] /]# mount /dev/sr0 /Centos7.4/ /Centos7.4下ls下可见 3) cd
/etc/yum.repos.d/ 进去此目录,删除目录下的所有文件 4) cd
/etc/yum.repos.d/目录新建文件:yum.repo 5)vi
/etc/yum.repos.d/yum.repo新增以下内容(/Centos7.4是挂载目录) [Centos7.4]
name=Centos7.4 baseurl=file:///Centos7.4 gpgcheck=0 6) 生成 本地yum 缓存
执行 yum clean all(清除缓存) yum makecache(建立新缓存) 7)yum install package
package需要安装的rpm包 8)卸载挂载 [[email protected] /]# umount /dev/sr0 /Centos7.4/ 9)执行安装:yum localinstall xxx.rpm
2)安装检查,全部通过
CentOS7.4最详细的图形化安装Oracle12C

5. 调整系统内核参数

#vim /etc/sysctl.conf
#异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个
fs.aio-max-nr = 1048576
#打开的文件句柄的最大数量,防止文件描述符耗尽的问题
fs.file-max = 6815744
#共享内存总量 页为单位,内存除以4K所得
kernel.shmall =4194304
#单个共享内存段的最大值
kernel.shmmax = 8589934592      1/2物理内存大小
#共享内存段的最小数量缺省值4096
kernel.shmmni = 4096     
kernel.sem = 250 32000 100 128
#SEMMSL: 每个信号集的最大信号数量 ,(Oracle建议其值不少于100.)
#SEMMNS:用于控制整个 Linux 系统中信号的最大数
#SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量 (Oracle建议其值不少于100.)
#SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量(Oracle建议其值不少于100.)
#用于向外连接的端口范围
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#加载配置文件

1)kernel.shmall:共享内存页数的最大值
Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大值可以设置为16G,比如16G内存,则对应需要共享内存页数为16GB/4KB=16777216KB/4k(getconf
PAGESIZE可得到)= 4194304(页) 2) kernel.shmmax:单个共享内存段的最大值
Shmma设置应足够大,设置过低可能导致需要创建多个共享内存段,导致系统性能下降,一般情况下,设置最大共享内存为物理内存的一半,如物理内存是2G,则可以设置最大共享内存为110241024*1024
= 1073741824,以此类推, kernel.shmmax= 8589934592 kernel.shmall=4194304

6. 用户及安装目录配置

#groupadd oinstall
#groupadd dba
useradd –g oinstall –G dba oracle
passwd oracle 修改主机oracle用户的密码
# 说明:
# -g用户组 指定用户所属的用户组。
# -G用户组,用户组 指定用户所属的附加组。
mkdir -p /orc/app/oracle
mkdir /tmp/oracle_12c      #  //把安装包放到这个目录
chown -R oracle:oinstall /orc/app/
chmod -R 755 /orc/app/oracle/

7. Oracle用户环境配置

#权限(反码)
umask 022
#oracle的BASE目录定义
ORACLE_BASE=/orc/app/oracle
#oracle的HOME目录定义
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/
#设置SID
ORACLE_SID=orcl
#简体中文版
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8
#重新定义系统环境变量
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
#定义语系
LANG=zh_CN.UTF-8
#导入系统变量
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID

CentOS7.4最详细的图形化安装Oracle12C

8. oracle用户资源限制使用pam_limits认证模块

#在内容末尾添加以下两行数据
session required /lib/security/pam_limits.so
session required pam_limits.so

CentOS7.4最详细的图形化安装Oracle12C

# 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

CentOS7.4最详细的图形化安装Oracle12C

# 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

# source /etc/profile # 8.4.	使配置生效


CentOS7.4最详细的图形化安装Oracle12C

9. 开始安装

远程图形化安装
如果没有安装图形界面,linux基础不好,建议先安装桌面环境,以便图形安装

yum grouplist
yum groupinstall -y "X Window System"
yum group install –y "GNOME Desktop"
yum install xterm
yum install xclock

更多参考

9.1. 配置xmanager(win远程)

需要在windows上面下载xmanager这个软件
Windows安装:http://www.xshellcn.com/
打开命令行:/usr/bin/xterm -ls -display $DISPLAY
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C

9.2. 开始安装

CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
? 安装选项:仅安装数据库软件(选第一个可快捷安装,不用二次调起图形界面)
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
说明:堆栈检测不能通过,经排查,在limits.conf中配置错误:错误原因是添加内容被注释,导致去掉注释,重新检测也未能通过,选中此时忽略,则可进入下一步
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C

9.3. 配置监听

1) 打开终端,输入netca,自动调出配置界面
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
注意:安装完成之后你会发现没有sqlplus命令,这意味着使用命令行没有办法链接到数据库,此时就是环境变量没有配置(我已提交配置好了)。如果提前配置,则在本地可直接生效sqlplus命令,Crt终端工具连接需要手动激活用户环境变量(source /home/oracle/source .bash_profile),sqlplus命令才可生效。
CentOS7.4最详细的图形化安装Oracle12C

9.4. 创建数据库

? 打开终端,输入dbca,自动调出创建数据库配置界面
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
? 自动内存管理最好启用,oracle会以当前分配的内存,根据实际需求,来分配SGA\PGA的最佳比例。否则如果由于某个池大小不足造成数据库性能出现问题,还需要人为调整,很麻烦(swap大于8G,此处不可调整)
扩展:
1.确定sga pga内存大小:
SHOW PARAMETER TARGET
2.确定自数据库启动以来pga最大的使用大小:
select value from v$pgastat where name=‘maximum PGA allocated’;
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C

9.5. 启动监听及数据库

若安装过程配置监听已经启动,则忽略

[oracle]$ lsnrctl start/status/stop

CentOS7.4最详细的图形化安装Oracle12C

 startup

CentOS7.4最详细的图形化安装Oracle12C
当启动报ORA-00443: background process “GEN1” dit not start,重启,内存不足导致

SQL>shutdown nomal # (正常关闭方式)
SQL>shutdown immediate # (立即关闭方式)
SQL>shutdown transactional # (事务关闭方式)

CentOS7.4最详细的图形化安装Oracle12C

本地以sqlplus / as sysdba方式登录时,采用的是操作系统验证的方式,所以用户名/密码输与不输入是一样的。
oracle数据库登录认证的2种方式
1、操作系统认证:也叫本地认证,oracle认为操作系统是可靠的,只要能登录到操作系统,就能访问数据库。安装oracle时默认的就是这种认证方式
这种情况下,任何用户密码以sysdba角色都可以连接数据库,实际上都是作为sys登录的
2、口令文件认证:oracle认为操作系统是不可靠的,若要访问数据库,必须要输入用户密码

10. 查看新建的数据库

CentOS7.4最详细的图形化安装Oracle12C

SQL> select name, decode(cdb, 'YES', 'Multitenant Option enabled', 'Regular 12c Database: ') "Multitenant Option" , open_mode, con_id from v$database;

CentOS7.4最详细的图形化安装Oracle12C
YES表示该数据库是CDB,如果是NO表示是NO-CDB(普通数据库)

CentOS7.4最详细的图形化安装Oracle12C

11. Oracle12c 创建用户、授权

12c推出了可插拔库,管理用户也分为两种:本地用户和公用用户
本地用户是指在插拔数据库(PDB)中的用户,和12c之前的版本没有什么区别。公用用户只存在于可插拔环境中,在传统的数据库环境中不存在这种应用。怎么理解公用用户呢?可以简单的把它当做容器(CDB)用户,可以在各个通用与所有可插拔数据库(PDB)中使用。这个用户就像是小区的物业管理员,由小区物业来任命并且可以管理小区所有用户。
如果第一次登录CDB数据库,用传统方式创建用户会报错,这就是因为在CDB环境创建的用户为公共用户,语法和普通用户不同

创建用户:create user c##xjcx identified by xjcx;
CentOS7.4最详细的图形化安装Oracle12C
说明:公用用户需要使用C##或者c##作为该用户名的开头
注意:sysdba身份登录进入数据库
如果使用传统创建用户的方法会报错

SQL > create user xjcx identified by xjcx;
create user xjcx identified by xjcx
ERROR at line 1:
ORA-65096: invalid common user or role name

此疑惑参阅 链接

11.2.1. 所有授权

给用户赋予所有权限:grant connect,resource,dba to 用户名;

提示:可通过登录web可视化管理页面授权https://x.x.x.x:5500/em/

11.2.2. 细化授权(若无要求,忽略此步骤)

因为新建的用户和默认的用户是锁住的,没有权限。所以新建用户后要给用户赋予权限。 1) 给用户赋予登录的权限:grant create
session to 用户名 2) 给用户赋予表操作的权限:grant create table to用户名(包含有create
index权限, alter table, drop table权限) 3) 给用户赋予表空间操作的权限:grant unlimited
tablespace to用户名 4) 给该用户赋予访问任务表的权限:grant select any table to
用户名(同理可以赋予update和delete) 5) 给c##xjcx用户赋予xxx用户的a表的查询的权限: 例如:grant
select on xxx.a to c##xjcx(同理可以有alter,drop,insert等权限) 6) 更多赋权参考:
https://www.cnblogs.com/lanqingzhou/p/8145272.html

11.3.1. 创建表空间

create table t_couse(      couseid     number(10)   primary key,      cousename   varchar2(20) not null,      cousetype   varchar2(4) );

11.3.2. 插入表数据

  1. 插入
insert into t_couse(couseid, cousename, cousetype)values ('3', '张三' ,'0');

2)提交:commit;

11.3.3. 验证表数据

验证新插入的表的数据:新建一个连接窗口,查看是否插入成功,并查看插入的中文是否乱码

12. Web登录Oracle管理页面

https://192.168.1.xx:5500/em
CentOS7.4最详细的图形化安装Oracle12C
CentOS7.4最详细的图形化安装Oracle12C

13. 常见问题

1)数据库普通用户登录数据库,当提示下图,数据库实例未启动,oracle用户使用sysdba登录登录启动即可。
CentOS7.4最详细的图形化安装Oracle12C

1)在用PL/SQL进行登录时,出现:”ora-01045 :user system lacks create session privilege; logon denied”
原因:该用户没有创建session会话的权限

grant create session to UserName;(UserName是登录出错的用户名)

CentOS7.4最详细的图形化安装Oracle12C
2)如果以创建的用户登录,创建表,提示权限不足,则再次赋予创建表的权限

grant create session,create table to username;

3)给创建的表插入表数据,提示ORA-01950: 对表空间 ‘USERS’ 无权限,sys用户执行

grant resource,connect to username;

CentOS7.4最详细的图形化安装Oracle12C
说明:connect是赋予连接数据库的权限,resource 是赋予用户只可以创建实体但是没有创建数据结构的权限
5) 第三步出错,无要求,直接赋予dba权限!

grant dba to 用户名

更多参考 链接

其他

本地安装调不起图形界面
Xdpyinfo|grep local查看下
Export DISPLAY=localhost:11.0
然后./runInstaller执行安装脚本即可调起图形界面

CentOS7.4最详细的图形化安装Oracle12C相关教程

  1. 最详细讲解指针

    最详细讲解指针 指针 目录 指针 一、指针变量的定义 例题: 二、数组指针 例题1: 例题2: 三、指向多维数组的指针变量 Ⅰ . 指针与指针的区别 例题1: 例题2: 例题3: Ⅱ . 指向由m个元素组成的一维数组的指针变量 例题1: 例题2: 四、指向字符串的指针变

  2. 五千字长文-css3选择器基础最详解(讲述其核心特点)(下次更新

    五千字长文-css3选择器基础最详解(讲述其核心特点)(下次更新的是选择器高级) 标签选择器: !DOCTYPE htmlhtml lang=enhead meta charset=UTF-8 title08-标签选择器/title style p{ color: red; } h1{ color: blue; } /style/head bodyp我是段落/pp我是段

  3. 树状数组 数据结构详解与模板(可能是最详细的了)

    树状数组 数据结构详解与模板(可能是最详细的了) 树状数组基础 高级操作 本文转载自:https://bestsort.cn/2019/04/26/195/ 树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于数组的单点修改区间求和. 另外一个拥有类似功能的是线段树. 具体区别

  4. 实验:超详细的——GFS分布式文件系统!

    实验:超详细的——GFS分布式文件系统! 设备列表: node1:20.0.0.3 node2:20.0.0.5 node3:20.0.0.6 node4:20.0.0.7 客户端:20.0.0.8 开局必配操作,不然一定会出问题 四台都要做此操作!!![[emailprotected] ~]# systemctl stop firewalld ###关闭防

  5. 硬肝!超详细的Python文件操作知识

    硬肝!超详细的Python文件操作知识 来源:南枝向暖北枝寒MA https://blog.csdn.net/mall_lucy/article/details/104547365 【导语】:python进行文件操作,在日常编程中是很常用的。为了方便大家,这里对各种文件操作的知识进行汇总。一文在手,无须它求!来一

  6. JS数组(最全的数组最详解包括es6)

    JS数组(最全的数组最详解包括es6) 数组第一绝: 问题? 什么是数组? 数组就是用来存储一组数据的东西。 注意:数组不是基本数据类型,他是引用数据类型。 简称对象类型。 问题?为什么呢? 因为他的元素代表类一个一个对象

  7. PL/SQL详细的安装和配置教程(附带网盘下载链接,以及PL/SQL的基

    PL/SQL详细的安装和配置教程(附带网盘下载链接,以及PL/SQL的基本操作与注意事项) 话不多说,直接做吧! 目录 一、PL/SQL下载及安装 二、PL/SQL的环境配置 2.1 文件目录放置情况 2.2 配置系统环境变量 2.3 打开PL/SQL首选项配置 2.4 连接数据库 三、安装Ora

  8. 玩转软路由 篇一:巨详细的修改Esxi7.0管理端口教程

    玩转软路由 篇一:巨详细的修改Esxi7.0管理端口教程 新买了一个软路由,具体干什么用,会玩的老铁都是知道的,Esxi7.0默认的Web管理页面的端口是80和443,众所周知的原因,这两个端口一般会被运营商ban掉,所以为了能够远程访问Esxi的管理地址,最好修改一下