前言:
Linux之CentOS 7.9部署Oracle 11g r2最终版安装实测验证(桌面模式)
介于前段时间的Windows以及linux无桌面模式环境,之前的linux oracl源包因缺失会存在报错现象,这次主要以oracle 11gr2更新包来记录下部署方式,当然还有更多的其他部署,大家可根据自身环境及学习来了解。
1、Linux系统镜像包:
1.1 CentOS-7.9-x86_64-DVD-2009.iso
2、Oracle 11g r2最终版软件源包:
2.1 p13390677_112040_Linux-x86-64_1of7.zip
2.2 p13390677_112040_Linux-x86-64_2of7.zip
一、安装操作系统CENTOS
二、配置图形界面GNOME
三、系统配置ORACLE
四、系统安装ORACLE
五、连接测试CONNECT
六、配置创建表空间及用户权限TABLESPACE
VMware配置,因这台后续我会做其他应用业务测试,所以配置:16核CPU、32G内存、300G硬盘 、其它
镜像包:CentOS-7.9-x86_64-DVD-2009.iso
1.3 选择语言,默认英文点击继续;
1.4 选择安装位置,这里测试环境我选择自动分区,点击左上角完成按钮;
主机名:orcl3
IP:192.168.10.237/24
1.6 系统完成安装,重启;
1.7 在这系统完成安装,主机名以及IP地址
主机名:orcl3
IP地址:192.168.10.237
————————————————
hostname ##查看主机名
vi /etc/hostname
orcl3
reboot ##修改主机名后重启电脑
————————————————
[root@orcl3 ~]# ip address ##查看IP
[root@orcl3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens192 ##网络配置
[root@orcl3 ~]# service network restart ##重启网络
————————————————
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none ##将dhcp改成none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
UUID=33485a7a-4008-453b-8b4e-fdb0c70e1e95
DEVICE=ens192
ONBOOT=yes ##将no改成yes
IPADDR=192.168.10.237
PREFIX=24
GATEWAY=192.168.10.1
DNS1=192.168.10.90
IPV6_PRIVACY=no
————————————————
1.8 添加hosts解析
[root@orcl3 ~]# vi /etc/hosts
as123123123
1.9 网络配置好后我们就直接可以使用Xshell连接,也可以用其他SSH工具如Putty、SecureCRT、Mobaxterm等;
asdas
yum groups install -y "GNOME Desktop" ##安装GNOME桌面
startx ##切换图形界面
创建Oracle数据库安装目录:
mkdir -p /data/oracle
创建Oracle数据库配置文件目录:
mkdir -p /data/oraInventory
创建Oracle数据包解压目录:
mkdir -p /data/database
创建用户组oinstall:
groupadd oinstall
创建用户组dba:
groupadd dba
创建用户Oracle,并将Oracle用户加入到oinstall和dba用户组中:
useradd -g oinstall -g dba -m oracle
设置Oracle用户的密码,根据提示输入2次密码:
passwd oracle
设置目录所有者为oinstall用户组的Oracle用户:
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
编辑etc下的sysctl.conf文件:
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内存设置:20971524k/1024/1024
kernel.shmall = 8388608 #测试系统内存32G,32G内存设置:83886084k/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
:wq! ##保存退出
sysctl -p
编辑limits.conf 文件:
vi /etc/security/limits.conf
##在末尾添加以下代码
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
:wq! ##保存退出
编辑.bash_profile文件:
vi /home/oracle/.bash_profile
##在最后添加以下代码:
export ORACLE_BASE=/data/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= O R A C L E H O M E / b i n : / u s r / s b i n : ORACLE_HOME/bin:/usr/sbin: ORACLEHOME/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安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题
:wq! #保存退出
进入到home目录下的Oracle目录运行以下命令使设置立刻生效:
cd /home/oracle/
source .bash_profile
编辑config配置文件:
vi /etc/selinux/config
#SELINUX=enforcing ##注释掉
#SELINUXTYPE=targeted ##注释掉
SELINUX=disabled ##增加
或者
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
:wq! #保存退出
systemctl status firewalld ##查看防火墙状态
systemctl stop firewalld ##关闭防火墙
systemctl disable firewalld ##禁止使用防火墙(重启也是禁止的)
解压oracle压缩文件到解压目录(压缩包一定要放在解压的目录下)
unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data/database
chown -R oracle:oinstall /data/database/database ##授权
yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*
yum install tigervnc-server -y
vncserver
New 'orcl3:1 (root)' desktop is orcl3:1 ##192.168.10.237:5901,如是orcl3:2 那就是192.168.10.237:5902
##查询是否允许任何客户端打开x Windows
xhost +
access control disabled, clients can connect from any host
##查询视窗
echo $DISPLAY
:1
##切换到oracle用户
su - oracle
##进入安装包目录
cd /data/database/database/
##对应视窗变量
export DISPLAY=:1
##解决弹窗不显示或者显示太小
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
取消:“我希望通过My Oracle Support接收安全更新”前面的勾,不接收更新,点Next
提示是否不接收安全更新通知,选择Yes
勾选“Skip software updates”不更新,下一步
选择第二项,仅安装数据库软件
选择第一项,单实例数据库安装
语言选项,默认英语即可
选择第一项企业版
Oracle安装路径自动识别配置的变量,下一步
Oracle根目录:/data/oracle
软件位置:/data/oracle/product/11.2.0/db_1
安装文件的路径文件目录,自动识别,下一步
Oracle数据库运行组,默认即可
进行安装前系统环境监测,可以忽略,也有其他版本因centos版本较高,所以11g check的时候不识别高版本lib包。
安装提示是缺包,如前面的安装依赖包没问题的话可以忽略不用管,Oracle11g版本问题,直接下一步。
注意:如果有某一项未监测通过,请根据提示做相应修改,直到监测全部通过为止,否则不能进行下一步安装,全部监测通过之后,点install
报错:
WARNING: [WARNING] [INS-13016] You have chosen to ignore some of the prerequisites for this installation. This may impact product configuration.
您选择忽略此安装的一些先决条件。这可能会影响产品配置。
列出oracle安装清单,选择install
安装过程中
Install Product 86%时出现报错:“Error in invoking target ‘agent nmhs’ of makefile…”
我们要在makefile中添加链接libnnz11库的参数
修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
su - oracle
cd $ORACLE_HOME/sysman/lib
cp ins_emagent.mk ins_emagent.mk.bak
vi ins_emagent.mk
找到/NMECTL
$(MK_EMAGENT_NMECTL) -lnnz11 ##lnnz11 开头为字母l,最后两位是数字1,保存退出后再回到安装页面Retry即可顺利安装
安装过程中弹出的下图中的弹窗,将里面的内容复制出来,并且使用root用户进行执行
执行复制出来的语句(必须进行执行,否则会弹出警告弹窗)
安装完成,点击close
su - oracle ##切换到oracle用户
netca ##输入配置监听程序命令,出现下面配置界面
选择第一项:监听程序配置,Next
选择第一项:使用标准端口号1521(这里默认端口1521,当然也可以使用其它端口号)
询问:是否配置另一个监听程序,选择No
监听程序配置完成,Next
启动监听器:
su - oracle ##在oracle账户下
lsnrctl start ##启动监听器
lsnrctl stop ##关闭监听器
lsnrctl status ##查看监听器的状态
su - oracle ##切换到oracle用户
dbca ##启动oracle实例安装界面,如下图所示
选择Next
选择第一项:创建数据库
我们默认选择第一项:一般用途或事务处理
全局数据库名:orcl
SID:orcl
默认即可,Next
口令配置,可以为每个账户设置不同的口令,也可以为所有账户设置一个相同的口令
我们这边选择第二项:所有账户使用同一管理口令(如果口令设置的太简单,不满足Oracle口令的复杂性要求,会弹出下面的界面,可以选择是或者选择否,然后返回口令设置,重新设置一个复杂的口令)
这一步的密码要记好,我们使用密码统一,没有分开建立不同用户的密码
存储类型:文件系统。存储位置:使用模版中的数据库文件位置,默认选择next
默认选择:指定快速恢复区
默认,Next
可以默认下一步,也可以自定义内存、进程数量以及设置字符集选择兼容utf8的选项,内存分配20%(测试库所以分小一些,生产库可以分配较大的比如40%60%等),进程数量以及设置字符集选择兼容utf8的选项
第三项:从字符集列表中选择
选择:ZHS16GBK- GBK 16-bit Simplified Chinese
国家字符集:AL16UTF16-Unicode UTF-16 Universal character set
默认语言:Simplified Chinese
默认地区:China
全部设置完成之后,点Next
勾选:创建数据库
勾选:生成数据库创建脚本
点Finish
OK开始执行创建,也可save保存一份配置概要文档
正在创建数据库,点击OK按钮
数据库创建完成,点Exit退出
开启数据库:
su - oracle ##切换到oracle用户
Oracle服务是启动的,切换到oracle用户启动监听
lsnrctl status ##监听状态
lsnrctl start ##启动监听
sqlplus / as sysdba ##以超级管理员权限登录
su - oracle ##切换到oracle用户
lsnrctl stop ##关闭监听器
sqlplus / as sysdba ##以超级管理员权限登录
shutdown immediate ##关闭数据库实例
quit ##退出
Centos237 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.237)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
##进入oracle 登入sql
su - oracle
sqlplus / as sysdba
##创建表空间
create tablespace test237 datafile '/data/oracle/oradata/orcl/test237.dbf' size 500M reuse autoextend on next 100M maxsize unlimited extent management local;
##创建用户
create user test identified by test237 default tablespace test237 temporary tablespace temp profile default;
##授权用户登入会话、创建基本表和视图以及数据库导入导出权限
grant EXP_FULL_DATABASE,IMP_FULL_DATABASE,resource,connect,create view,create session to test;
1、sqlpluss命令行工具:进入sqlplus后命令无法实现无法通过上下按键进行历史命令以及翻页功能回退等,记得要部署工具rlwrap-0.42.tar.gz,相关操作看参考我之前发的记录。
https://blog.csdn.net/lookboydfw/article/details/131233672?spm=1001.2014.3001.5501
2、参考下其他业务命令:
shutdown -r now
##重启系统
service oracle start ##启动oracle服务
service oracle stop ##关闭oracle服务
/etc/init.d/oracle restart ##重启oracle服务
dbstart ##启动oracle
dbshut ##关闭oracle
ps -efw | grep ora ##查看oracle进程
ps -efw | grep LISTEN | grep -v gre ##查看oracle端口监听
lsnrctl status ##查看oracle运行状态
以上,感谢交流指导。