前言
因为是在个人虚拟机上安装,可以连接公网,并且通过vmware实际上用的就是你的光盘镜像,所以本地yum源可以不用配置,直接用yum进行安装依赖即可。
操作系统安装
一、下载安装VMware,准备CentOS7镜像ISO
这个不多说了,网上自行下载,破解版也很多,选一个即可。
注意有的版本的vmware如果你选择了从ISO里安装,那么会触发最小安装,这样就没办法开启图形化界面了,所以安装的时候,选择建立空白磁盘,如下图:
二、安装时选择开启图形化界面
给一个连接,讲的比较全了:
https://blog.csdn.net/weixin_...
只不过他图形化界面选择的时候图片错了,正确的选择如下图:
三、磁盘分区
磁盘分区格外重要,这篇文档第一次的时候就因为分区分太小了,导致重装了一遍操作系统。。
这里主要还是体现出你对服务器的用途规划,根据你的需求来分区。
我打算在这个机器上装一个单实例的Oracle,并且开归档。
后续可能还会在这个机器上集成zabbix。
所以我这里给根目录分了20个G,/opt
分了25个G
单独在/opt
下,再分 /opt/ora_data
用来保存数据文件,/opt_ora_archive
用来保存归档日志。
安装完后df -h
结果如下:
操作系统配置
一、检查依赖
切换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*
执行成功后,再次输入,返回结果如下:
二、关闭防火墙
执行命令: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
五、修改内核参数
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/1024kernel.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
之后执行sysctl -p
使配置信息生效
六、创建运行oracle数据库的系统用户和用户组groupadd oinstall
groupadd dba
useradd -g oinstall -g dba -m oracle
passwd oracle
七、创建oracle数据库安装目录mkdir -p /opt/oracle
#oracle数据库安装目录mkdir -p /opt/oraInventory
#oracle数据库配置文件目录mkdir -p /opt/database
#oracle数据库软件包解压目录
chown -R oracle:oinstall /opt/oracle
#设置目录所有者为oinstall用户组的oracle用户chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database
八、对oracle用户设置限制,提高软件运行性能vi /etc/security/limits.conf
复制这些进去,如红框所示:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
九、配置用户的环境变量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安装时设置的字符集保持一致
使上述配置立即生效:source /home/oracle/.bash_profile
数据库软件安装
准备工作
一、安装vsftpd服务
我建立虚拟机的时候这个服务没有装,用yum装一下,不然传不了安装包yum install vsftpd
service vsftpd start
# 启动vsftpd服务
之后在/etc/vsftpd
下的user_list
和ftpusers
文件里把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
三、解压安装包
执行命令:(/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
出现一个常见错误:
这里因为我们是用lijian
用户登陆系统的,只不过是su
到oracle
,我们进行注销,用oracle
用户登陆再试一下
可以看到成功了,并且我们之前设置的oracle环境变量也已经生效,没有出现中文乱码。
数据库软件安装的12个步骤
第一步:
去掉勾,直接点击next进入下一步
第二步:
选择跳过更新。
第三步:
我们这里选择只安装数据库软件,不建立默认的库
第四步:
我们选择单实例安装,因为我建立这个库是为了测试用,单点就够了,不需要RAC
第五步:
这里是设置产品语言,不是字符集,切记!
我们选英语和中文最直观的区别就是后续输入sqlplus
的时候返回的语言是什么,和字符集无关。
我们就选英语。
第六步:
默认安装企业版
第七步:
确定数据软件的安装路径,这里是自动读取环境变量里配的值
第八步:
确定orainventory
的路径,也是自动读取了环境变量
第九步:
理论上要创建Database Operation(OSOPER)Group:oper
,因为我是测试用的,直接用了DBA
,在生产环境里还是要建立上oper
。
第十步:
安装检查,这里我们前面都装了依赖包,装系统的时候内存也给了3g,只有这一个pdksh
的异常,pdksh
很老了,有ksh
就可以了,点击上面的ignore all
直接跳过。
这里有一个常见的错误,就是点击next
后,会在屏幕中间出现一条竖线,导致整个流程没法往下走,如图所示:
网上说,这个可以传一个jdk
,然后再runInstaller
后面加参数启动就可以解决。
我这里有个简单方法,直接按方向键<-(左),然后回车。(实际上就是模拟选择按钮,这里因为有一个包我们忽略了,oracle会问你是不是确认忽略,用键盘选到yes回车就可以了,虽然看不见,但是键盘还能读~)
第十一步:
确认信息,无误点击安装:
第十二步:
进入安装界面:
安装过程中,会出现3次竖线的问题,前两次直接敲回车,意思就是让他继续,对应的就是continue按钮。到95%
的时候还会有条竖线,这个需要注意一下,这是让你用root
用户去执行2个脚本
我们直接点回车,提示安装完成
之后,我们分别用root
进入到/opt/oraInventory
和/opt/oracle/product/11.2.0/db_1
目录下执行这两个脚本就可以了。
数据库监听安装的5个步骤
oracle
用户下,命令行输入netca
,如图
第一步:
第二步:
选择添加一个监听。
第三步:
给监听起一个名字,我们用默认的即可
第四步:
选择监听用哪些协议,我们用默认的TCP
协议
第五步:
选择监听开放的端口,我们用默认的1521
端口即可
之后退出,执行lsnrctl start
来启动监听
这里有一个错误,如图
这个错误,多数是因为主机的名字和配置文件里不一致造成的,执行如下命令:
vi /etc/sysconfig/network
(添加HOSTNAME=oraclevm
)vi /etc/hosts
(把oraclevm
添加到第一行末尾,前面有个空格)hostname oraclevm
重启监听,这次启动成功
数据库实例安装的11个步骤
oracle
用户执行dbca
,进入图形化界面
第一步:
选择创建一个数据库
第二步:
选择创建模板,默认第一个
第三步:
创建全局名称和SID,我们起名orcl
第四步:
开启EM,默认即可
第五步:
我们选择下面的,设置一个密码,将上面的用户统一用这个密码
第六步:
这里可以对数据文件做操作,我们选的是我们建立系统的时候划出来的/opt/ora_data
作为数据文件保存路径。
如果你想用ASM
管理数据文件,在上面的下拉框里选ASM
就可以了。
执行chown -R oracle:oinstall /opt/ora_data/
进行授权
第七步:
设置闪回恢复区及是否开启归档,我们这里选择之前设好的磁盘目录,这个目录我们划分了10G,先给个5G。
执行chown -R oracle:oinstall /opt/ora_archive/
进行授权
第八步:
默认即可
第九步:
这里可以设置oracle的内存大小,连接数,字符集等等,重点说下字符集,按照图里设置中文不会乱码
这里注意一下,实际上走完本文流程,你会发现这样的情况:plsql中文不乱,但是通过虚拟机sqlplus登进去发现是乱码,然后通过crt登陆虚拟机查询,又不乱了。这是因为安装Centos的时候就算选择了中文安装,新用户(比如oracle用户)还是用的别的语言,要想服务端+plsql+crt都不乱码,需要设置成AMERICAN_AMERICA.AL32UTF8;所以涉及到实际生产场景:比如要搭建测试库,备份库等等,在选择字符集的时候需要跟源库进行查询确认,确保新库字符集跟源库字符集、源库linux字符集、新库Linux字符集保持一致,这样程序运行,导入备份、用工具进行查询数据显示的时候会避免很多问题。
第十步:
这里设置一下redo log
的大小,我改成3组,1组1g了
这里要注意每组的后面单位一定要是M Bytes
第十一步:
点击finish
就可以创建数据库实例了
弹出来创建数据库的一些参数信息,可以查看一下。
开始安装
安装完毕的提示,告诉了我们em登陆的地址
安装后验证
oracle
用户下,通过sqlplus / as sysdba
登陆
执行一个SQL查询语句,正常返回结果。
select * from dual;
登陆EM管理界面
建立一个给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的权限。
查看是否开启归档模式
可以看到,数据库开启了归档模式
查看归档日志路径及大小
归档日志的路径和大小,也是我们之前设定好的
登陆RMAN,查看配置信息
在本机用plsql访问虚拟机上的oracle
配置本机客户端上的tnsname.ora
文件
通过PLSQL登陆oracle
测试查询
新建一张表,插入中文字符,查询看是否乱码
至此,我们整个配置、安装、验证的过程就结束了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。