前言

因为是在个人虚拟机上安装,可以连接公网,并且通过vmware实际上用的就是你的光盘镜像,所以本地yum源可以不用配置,直接用yum进行安装依赖即可。

操作系统安装

一、下载安装VMware,准备CentOS7镜像ISO
这个不多说了,网上自行下载,破解版也很多,选一个即可。
注意有的版本的vmware如果你选择了从ISO里安装,那么会触发最小安装,这样就没办法开启图形化界面了,所以安装的时候,选择建立空白磁盘,如下图:
1.png
二、安装时选择开启图形化界面
给一个连接,讲的比较全了:

https://blog.csdn.net/weixin_...

只不过他图形化界面选择的时候图片错了,正确的选择如下图:
2.png
三、磁盘分区
磁盘分区格外重要,这篇文档第一次的时候就因为分区分太小了,导致重装了一遍操作系统。。
这里主要还是体现出你对服务器的用途规划,根据你的需求来分区。
我打算在这个机器上装一个单实例的Oracle,并且开归档。
后续可能还会在这个机器上集成zabbix。
所以我这里给根目录分了20个G,/opt分了25个G
单独在/opt下,再分 /opt/ora_data用来保存数据文件,/opt_ora_archive用来保存归档日志。
安装完后df -h结果如下:
3.png

操作系统配置

一、检查依赖
切换root用户,执行以下命令:

yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*

执行成功后,再次输入,返回结果如下:
4.png
二、关闭防火墙
执行命令:
systemctl stop firewalld.service  #关闭防火墙
systemctl disable firewalld.service  #禁止使用防火墙(重启也是禁止的)

三、修改OS系统标识
oracle默认不支持CentOS系统安装Oracle Database 11g Release 2的OS要求参考: https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1106
执行命令:
vi /etc/redhat-release # 把里面的内容替换成redhat-7,保存退出。

四、关闭seLinux(重启生效)
图片中红框位置改成disabled
5.png

五、修改内核参数
vi /etc/sysctl.conf
复制这些进去,如红框所示:

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

6.png

之后执行sysctl -p使配置信息生效

六、创建运行oracle数据库的系统用户和用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -g dba -m oracle
passwd oracle
7.png

七、创建oracle数据库安装目录
mkdir -p /opt/oracle #oracle数据库安装目录
mkdir -p /opt/oraInventory #oracle数据库配置文件目录
mkdir -p /opt/database #oracle数据库软件包解压目录
8.png

chown -R oracle:oinstall /opt/oracle #设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database
9.png

八、对oracle用户设置限制,提高软件运行性能
vi /etc/security/limits.conf
复制这些进去,如红框所示:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

10.png
九、配置用户的环境变量
vi /home/oracle/.bash_profile
复制这些进去,根据你自己的目录修改,如红框所示:

export ORACLE_BASE=/opt/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

11.png

使上述配置立即生效:
source /home/oracle/.bash_profile

数据库软件安装

准备工作

一、安装vsftpd服务
我建立虚拟机的时候这个服务没有装,用yum装一下,不然传不了安装包
yum install vsftpd
service vsftpd start # 启动vsftpd服务
之后在/etc/vsftpd下的user_listftpusers文件里把root用户注释,就可以用ftp工具用root用户登陆了。

之后root执行如下命令(允许ftp上传并生成文件):

setsebool allow_ftpd_full_access 1
setsebool allow_ftpd_use_cifs 1
setsebool allow_ftpd_use_nfs 1
setsebool httpd_enable_ftp_server 1
setsebool tftp_anon_write 1

执行 service vsftpd restart重新启动vsftp服务

二、上传Oracle安装包
上传如下文件到 /usr/local/src文件夹下,也可以随便放一个地方,不过目录要记住,后面的命令跟这有关。

p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip

12.png

三、解压安装包
执行命令:(/opt/database是之前创建好的oracle数据库软件包解压目录)

unzip p13390677_112040_Linux-x86-64_1of7.zip -d /opt/database/
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /opt/database/

之后执行chown -R oracle:oinstall /opt/database/database/ 进行授权

四、图形化Oracle安装
su - oracle
cd /opt/database/database/

./runInstaller
出现一个常见错误:
13.png
这里因为我们是用lijian用户登陆系统的,只不过是suoracle,我们进行注销,用oracle用户登陆再试一下
可以看到成功了,并且我们之前设置的oracle环境变量也已经生效,没有出现中文乱码。
14.png

数据库软件安装的12个步骤

第一步:
去掉勾,直接点击next进入下一步
15.png

第二步:
选择跳过更新。
16.png

第三步:
我们这里选择只安装数据库软件,不建立默认的库
17.png

第四步:
我们选择单实例安装,因为我建立这个库是为了测试用,单点就够了,不需要RAC
18.png

第五步:
这里是设置产品语言,不是字符集,切记!
我们选英语和中文最直观的区别就是后续输入sqlplus的时候返回的语言是什么,和字符集无关。
我们就选英语。
19.png

第六步:
默认安装企业版
20.png

第七步:
确定数据软件的安装路径,这里是自动读取环境变量里配的值
21.png

第八步:
确定orainventory的路径,也是自动读取了环境变量
22.png

第九步:
理论上要创建Database Operation(OSOPER)Group:oper ,因为我是测试用的,直接用了DBA,在生产环境里还是要建立上oper
23.png

第十步:
安装检查,这里我们前面都装了依赖包,装系统的时候内存也给了3g,只有这一个pdksh的异常,pdksh很老了,有ksh就可以了,点击上面的ignore all直接跳过。
24.png

这里有一个常见的错误,就是点击next后,会在屏幕中间出现一条竖线,导致整个流程没法往下走,如图所示:
25.png

网上说,这个可以传一个jdk,然后再runInstaller后面加参数启动就可以解决。

我这里有个简单方法,直接按方向键<-(左),然后回车。(实际上就是模拟选择按钮,这里因为有一个包我们忽略了,oracle会问你是不是确认忽略,用键盘选到yes回车就可以了,虽然看不见,但是键盘还能读~)

第十一步:
确认信息,无误点击安装:
26.png

第十二步:
进入安装界面:
27.png

安装过程中,会出现3次竖线的问题,前两次直接敲回车,意思就是让他继续,对应的就是continue按钮。到95%的时候还会有条竖线,这个需要注意一下,这是让你用root用户去执行2个脚本

网上找的图

我们直接点回车,提示安装完成
29.png

之后,我们分别用root进入到/opt/oraInventory/opt/oracle/product/11.2.0/db_1目录下执行这两个脚本就可以了。

数据库监听安装的5个步骤

oracle用户下,命令行输入netca,如图
第一步:
30.png

第二步:
选择添加一个监听。
31.png

第三步:
给监听起一个名字,我们用默认的即可
32.png

第四步:
选择监听用哪些协议,我们用默认的TCP协议
33.png

第五步:
选择监听开放的端口,我们用默认的1521端口即可
34.png

之后退出,执行lsnrctl start来启动监听

这里有一个错误,如图
35.png

这个错误,多数是因为主机的名字和配置文件里不一致造成的,执行如下命令:

vi /etc/sysconfig/network (添加HOSTNAME=oraclevm
vi /etc/hosts (把oraclevm添加到第一行末尾,前面有个空格)
hostname oraclevm

重启监听,这次启动成功
36.png

数据库实例安装的11个步骤

oracle用户执行dbca,进入图形化界面
37.png

第一步:
选择创建一个数据库
38.png

第二步:
选择创建模板,默认第一个
39.png

第三步:
创建全局名称和SID,我们起名orcl
40.png

第四步:
开启EM,默认即可
41.png

第五步:
我们选择下面的,设置一个密码,将上面的用户统一用这个密码
42.png

第六步:
这里可以对数据文件做操作,我们选的是我们建立系统的时候划出来的/opt/ora_data作为数据文件保存路径。
如果你想用ASM管理数据文件,在上面的下拉框里选ASM就可以了。
执行chown -R oracle:oinstall /opt/ora_data/ 进行授权
43.png

第七步:
设置闪回恢复区及是否开启归档,我们这里选择之前设好的磁盘目录,这个目录我们划分了10G,先给个5G。
执行chown -R oracle:oinstall /opt/ora_archive/ 进行授权
44.png

第八步:
默认即可
微信截图_20200308121851.png

第九步:
这里可以设置oracle的内存大小,连接数,字符集等等,重点说下字符集,按照图里设置中文不会乱码
46.png

这里注意一下,实际上走完本文流程,你会发现这样的情况:plsql中文不乱,但是通过虚拟机sqlplus登进去发现是乱码,然后通过crt登陆虚拟机查询,又不乱了。这是因为安装Centos的时候就算选择了中文安装,新用户(比如oracle用户)还是用的别的语言,要想服务端+plsql+crt都不乱码,需要设置成AMERICAN_AMERICA.AL32UTF8;所以涉及到实际生产场景:比如要搭建测试库,备份库等等,在选择字符集的时候需要跟源库进行查询确认,确保新库字符集跟源库字符集、源库linux字符集、新库Linux字符集保持一致,这样程序运行,导入备份、用工具进行查询数据显示的时候会避免很多问题。

第十步:
这里设置一下redo log的大小,我改成3组,1组1g了
这里要注意每组的后面单位一定要是M Bytes
47.png

第十一步:
点击finish就可以创建数据库实例了
48.png

弹出来创建数据库的一些参数信息,可以查看一下。
49.png

开始安装
50.png

安装完毕的提示,告诉了我们em登陆的地址
51.png

安装后验证

oracle用户下,通过sqlplus / as sysdba登陆
执行一个SQL查询语句,正常返回结果。

select * from dual;

52.png

登陆EM管理界面
53.png

建立一个给lijian用户,并进行授权:

create user lijian identified by lijian;
grant dba to lijian;  ---DBA
grant create session to lijian;  ---登陆权限,这个权限是能让这个用户能被其他程序调用,比如plsql
grant unlimited tablespace to lijian; ---使用表空间的权限
grant create table,create view,create trigger, create sequence,create procedure,create type to lijian; ---创建表,视图,触发器,序列,存储过程,type的权限。

54.png

查看是否开启归档模式

可以看到,数据库开启了归档模式
55.png

查看归档日志路径及大小

归档日志的路径和大小,也是我们之前设定好的
56.png

登陆RMAN,查看配置信息

57.png

在本机用plsql访问虚拟机上的oracle

配置本机客户端上的tnsname.ora文件
58.png

通过PLSQL登陆oracle
59.png

测试查询
60.png

新建一张表,插入中文字符,查询看是否乱码
61.png

至此,我们整个配置、安装、验证的过程就结束了。

少放香菜
56 声望3 粉丝