-
2020-04-28 11:36:12
1 准备centos7的环境
本文是再vmware虚拟机上部署centos7,数据库为oracle12。在实际环境中,我们一般都是用xshell等工具去连接centos7服务器的,没有图形界面,我们需要采用“静默安装”的方式去安装数据库,下面是我经过这段时间总结的经验,后文附有百度云资源链接(oracle12,Vmware,cenots7)
2 上传oracle数据库
上传文件,我这里使用的是ssh工具,
3 安装过程
- 1 关闭centos7的防火墙
systemctl stop firewalld.service --关闭防火墙
systemctl disable firewalld.service – 禁止防火墙开机启动
systemctl status firewalld.service – 查看防火墙状态
- 2 创建用户组
创建用户组oinstall和dba
创建oracle用户
设置oracle用户密码
用户创建完成,检查创建用户的信息
- 3 安装必要的依赖包
条件:Linux系统必须提供的互联网的环境
使用yum方式安装,具体的有哪些包需要安装,去网上找找呗。- 4 修改系统文件(root用户)
(1) selinux
指令:vim /etc/selinux/config
目的:修改参数“SELINUX”的值,修改为disabled
(2) sysctl.conf;(vim /etc/sysctl.conf)在配置文件后面天下绿框中的参数,修改配置文件后执行指令(sysctl -p)使文件生效
(3) limits.conf;(vim /etc/securitylimits.conf)在文件后面添加绿框中的参数
(4) login;(vim /etc/pam.d/login)
(5) profile;(vim /etc/profile)配置修改完成后需要执行指令(source /etc/profile)才能生效
- 5 配置oracle用户
(1)创建目录
(2)配置oracle用户的环境变量
(3)上传数据库压缩包
(4)复制相应的模板
(5)设置权限
6 静默安装配置
(1)配置db_install.rsp
(2)执行文件db_install.rsp
(3)执行命令
(4)修改oracle用户的环境变量
(5)配置监听
(6)静默建库配置文件修改
(7)执行静默建库
(8)数据库安装成功处理创建用户需要c##前缀的问题:
alter session set “_ORACLE_SCRIPT”=true;创建表空间:
–select name from v$datafile;
–建立表空间(一般建N个存数据的表空间和一个索引空间):
create tablespace KEYOU
datafile ‘/usr/local/products/oradata/orcl/user/keyou.dbf’ size 1M
autoextend on --自动增长
next 10M --自动以10MB为单位增长资源连接:
oracle 12c百度云链接:
链接:https://pan.baidu.com/s/11y5UHi3GCIuJ8Rh5W_ahZw
提取码:pzk8更多相关内容 -
Centos7安装Oracle11g_x64相关依赖包.zip
2021-05-24 17:19:27包含了安装过程中无法在系统中直接下载但需要的依赖包,compat-libstdc++-33-3.2.3-61.i386.rpm libaio-0.3.105-2.i386.rpm libaio-devel-0.3.105-2.i386.rpm libgcc-3.4.6-3.1.i386.rpm libstdc++-3.4.6-11.i386.... -
linux-centos7安装oracle11g操作步骤+依赖包,实测好用!
2019-08-30 11:19:11centos7安装oracle11g操作步骤+依赖包,实测好用! centos7+oracle11g所需要的所有rpm包,全部都在文档附件里。 -
centos7安装oracle19c所需依赖.zip
2021-09-27 16:10:00centos7安装oracle19c安装依赖 -
Linux CentOS7安装Oracle11g.zip
2019-07-04 09:52:09Linux CentOS7安装Oracle11g安装方法指导成功安装,亲测可行。 -
centos7安装oracle 11gR2缺失的lib包
2019-03-13 23:50:39centos7安装oracle 11gR2缺失的lib包,包含 libaio,compat-libstdc++-33-3.2.3-72.el7.x86_64 libreadline7-7.0-lp151.9.33.x86_64 pdksh-5.2.14-1.i386,unixODBC-2.3.4-7.fc27.x86_64,compat-libstdc++-33-3.2.3-... -
VMWare 虚拟机Centos7安装Oracle数据库的教程图解
2021-01-20 15:03:45想用linux虚拟机装一个oracle,中间遇到的坑太多了,最后总算是安装好了,一定要写个全面的教程出来。 话不多说 通用编辑命令: vi test.txt #进入编辑...2.卸载CentOS7自带jdk1.8,安装自己的jdk并设置环境变量 rpm -q -
CentOS7安装Oracle 11gR2 图文详解
2018-04-21 17:19:38CentOS7安装Oracle 11gR2 图文详解 CentOS7安装Oracle 11gR2 图文详解 -
SV_centos7安装oracle11G R2 rac
2017-10-20 09:18:38SV_centos7安装oracle11G R2 rac,目前只分享前80页,有觉得写的比较好的,可以直接联系我。 -
CentOS 7 安装 Oracle 18.3C 图形及纯字符安装
2018-11-28 14:45:58CentOS Linux 环境, 以图形界面和纯字符界面2种方式,安装最新的 Oracle 18.3C 数据库 -
pdksh-el7 Centos7安装oracle依赖包pdksh的rpm包
2019-01-14 23:21:30此包为CentOS7环境安装oracle rac 所需的依赖包pdksh,包含两个rpm文件,亲测可用。 -
centos7下安装oracle11gR2的详细步骤
2021-01-10 11:45:37CentOS-7-x86_64-DVD linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 本教程是在VMware下安装的,注意设置内存的时候,不要设置动态内存。 安装Oracle前准备 创建运行oracle数据库的系统... -
CentOS7离线安装oracle 11g_r2所有离线依赖包,并附详细安装说明
2021-07-15 20:17:13CentOS7离线安装oracle 11g_r2所有离线依赖包,并附详细安装说明,安装详细说明和依赖包,轻松在CentOS7安装oracle -
centos7安装oracle12c
2019-03-01 14:05:02该文档为我实际操作的安装记录,介绍了centos7配置oracle12c的方法,以及netca和dbca的步骤,并一并讲述了oracle12cEM的一些知识点。 -
Centos7安装Oracle 11gR2指南
2018-11-04 10:25:13介绍了在centos7.x系统下安装oracle11gR2的详细步骤和方法(图文并茂),以及使用到的工具。 -
Centos7下oracle12c的安装与配置图文教程(详细)
2020-12-15 21:24:33CentOS7@VMware:registered: Workstation 15 Pro,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB 二、软件准备 linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip SecureCRT 三、虚拟机的... -
centos7安装oracle需要的依赖。96合一
2020-12-19 09:30:31centos7安装oracle需要的依赖,适用于最小安装的centos。这些依赖应该是全了。 使用方式: 解压缩后,使用root用户上传文件到/usr/oracle 执行 chmod 777 * -R 为所有文件增加执行权。 进入package目录 rpm -Uvh --... -
超详细的centos7安装oracle19c RAC
2021-09-13 19:43:52oracle vm virtualbox centos7 安装oracle 19c RAC 来公司已经一个多星期了,因为之前在学校学的是开发,所以运维对于我来说上手比较难,上来就是安装oracle19c,刚听到安装数据库时,感觉很开心,因为之前安装一个...oracle vm virtualbox centos7 安装oracle 19c RAC
来公司几个星期了,因为之前在学校学的是开发,所以运维对于我来说上手比较难,在安装oracle19c时,与之前安装数据库完全不是一个概念,之前安装一个软件步骤特别简单,然而现在每一步都涉及到很多知识,在此过程中遇到了各种各样的错误,N次百度,N次请求导师帮助,下面是我在本次安装的步骤及遇到的错误。 希望能让大家在安装过程中少犯错误。
一、环境准备
网上都有下载链接,很简单。
- oracle vm virtualbox
- centos7镜像下载 阿里云免费镜像下载地址https://developer.aliyun.com/
- 创建两台虚拟机节点 注意:在安装节点的时候把GUI图像化选上,后面就不需要安装了。
- 配置3个网卡:仅主机host-only网络 内部网络 网络转换地址nat
- xshell 终端模拟软件/putty 自由选择
二、检查安装环境
1、检查centos7版本信息
在安装完oracle vm virtualbox 并且创建节点以后,我们进入centos7 core 查看环境是否搭建好。
[root@rac19c1 ~]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)
2、配置静态ip
因为后面我们需要使用到xshell,所以我们可以先配置静态ip,后面的操作在xshell上完成会比较方便。
1.更改ifcfg-enp0s3名为ifcfg-eth0
[root@rac19c1 ~]#cd /etc/sysconfig/network-scripts/ [root@rac19c1 ~]# mv ifcfg-enp0s3 ifcfg-eth0
注意: 尽量修改为ifcfg-eth0,规范规范规范。
2.开始配置静态Ip
用vim或者vi 打开eth0的文件 修改内容如下
vim /etc/sysconfig/network-scripts/ BOOTPROTO=static #启用静态IP地址 IPADDR=192.168.197.138 #设置IP地址 NETMASK=255.255.255.0 #设置子网掩码 ONBOOT="yes" #设置网卡自启动
3、禁用自动命名网卡
编辑/etc/default/grub
在变量GRUB_CMDLINE_LINUX后面加入“net.ifnames=0 biosdevname=0 ”来实现的。参数间以空格来间隔
4、重启
重启之前运行命令grub2-mkconfig -o /boot/grub2/grub.cfg 来重新生成GRUB配置并更新内核参数。
5、终端xshell连接虚拟机节点 一(上面配置的静态ip)
打开xshell 通过ssh + 你配置的Ip连接。
三、配置网卡信息
1、配置网卡一(host-only网卡)的静态ip
修改一下信息。
2、配置网卡二心跳Ip
心跳ip的配置是我的网卡2(内部网络)上配置的
[root@rac19c1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
注意1:心跳ip一定要在安装grid之前配置完成,可以Ping 连接上,不然会出错。
如图:
注意2:配置完两个节点的public IP 和心跳ip以后 ,需要能够在节点一 通过ssh +节点二的ip 输入密码后切换到节点二(节点二也一样)
如 :
ssh rac19c2
3、配置hosts文件
[root@rac19c1 ~]# vim /etc/hosts
进入配置文件以后,需要配置public IP 、 private IP 、vip 、 scan IP 两个节点都需要配置。
#public 192.168.56.103 rac19c1 192.168.56.105 rac19c2 #vip 192.168.56.106 rac19c1-vip 192.168.56.107 rac19c2-vip #private ip 10.0.3.10 rac19c1-prv 10.0.3.11 rac19c2-prv #scan ip 192.168.56.100 scan
4、配置主机名
通过 hostnamectl set-hostname 新名字
5、禁用Transparent HugePages(oracle官方要求)
Transparent HugePages是在运行时动态分配内存的,而标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变。
因为Transparent HugePages是在运行时动态分配内存的,所以会带来在运行时内存分配延误。所以ORACLE是建议不使用Transparent HugePages功能的,如果需要大页内存管理功能来加强性能,建议使用标准的大页内存管理。
root@rac19c1 network-scripts# cat /sys/kernel/mm/transparent_hugepage/defrag [always] madvise never root@rac19c1 network-scripts# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never 这个状态就说明都是启用的。
编辑rc.local文件:
root@rac19c1 ~# *vi /etc/rc.d/rc.local*
增加下列内容:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
修改权限
root@rac19c1 rc.d# chmod 775 rc.local
四、服务器的基本配置
4.1、检查物理内存
尽量大一些用于Oracle Grid Infrastructure安装的至少8 GB RAM。
[root@rac19c1 ~]# grep MemTotal /proc/meminfo
MemTotal: 6109652 kB4.2、检查swap空间
在4G到16G之间,可以oracle vm virtualbox 创建节点的时候把swap空间分配了。
[root@rac19c1 ~]# grep SwapTotal /proc/meminfo SwapTotal: 12582908 kB
也可以通过命令的方式创建swap空间
1.查看swap空间的大小
free -m
2.创建swap文件,并生效
dd if=/dev/zero of=/swapfile bs=2M count=2048 bs × count=你需要扩大的空间 /dev/zero of 路径
3.设置交换分区文件
mkswap /swapfile
4.启用交换分区文件
swapon /swapfile
注意:这个命令可能会提示*swapon: /swapfile: insecure permissions 0644, 0600 suggested.”*意思是建议把swap设置成644或600权限。
5.在 /etc/fstab中添加如下一行,使之永久生效
/swapfile swap swap defaults 0 0
6.修改swapiness 参数
在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区。
可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:echo 10 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:
vm.swappiness=10
关闭SWAP
当系统出现内存不足的时候,一致开启SWAP可能会因频繁换页操作,导致IO性能下降,如果要关闭SWAP,可以采用如下方法
1、free -m 查询SWAP分区设置
2、使用命令swapoff关闭SWAP,比如:
swapoff /mnt/swap
3、修改 /etc/fstab 文件,删除或注释相关配置,取消 SWAP 的自动挂载:
4、 通过 free -m 确认 SWAP 已经关闭。
5、 swappiness 参数调整:
可以使用下述方法临时修改此参数,这里配置为 0%:
echo 0 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf文件,并增加以下内容:
vm.swappiness=04.3、检查临时磁盘空间(/tmp)大小
临时空间/tmp 可以在创建节点的时候进行分配 建议60G左右
df -h /tmp
[root@rac19c1 ~]# df -h /tmp Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 60G 21G 40G 35% /
4.4、检查共享内存段(/dev/shm/)
共享内存段:在配置节点的时候对/boot 进行空间分配 建议2G
df -h /dev/shm/
[root@rac19c1 ~]# df -h /dev/shm/ Filesystem Size Used Avail Use% Mounted on tmpfs 2.0G 897M 1.2G 44% /dev/shm
如果需要永久修改/dev/shm的值,需要修改/etc/fstab
tmpfs /dev/shm tmpfs defaults,size=2G 0 0 [root@raca /]# mount -o remount /dev/shm
4.5、关闭防火墙
禁用开机自启防火墙
[root@rac19c1 /]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@raca /]# systemctl is-enabled firewalld Disabled
停止防火墙
[root@rac19c1 /]# systemctl stop firewalld [root@rac19c1 /]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) 9月 26 17:14:59 raca systemd[1]: Starting firewalld - dynamic firewall daemon... 9月 26 17:14:59 raca systemd[1]: Started firewalld - dynamic firewall daemon. 9月 26 17:55:32 raca systemd[1]: Stopping firewalld - dynamic firewall daemon... 9月 26 17:55:35 raca systemd[1]: Stopped firewalld - dynamic firewall daemon.
4.6、关闭selinux
在后面创建ASM共享磁盘的时候也需要关闭selinux 所以现在关闭。
1.编辑 /etc/selinux/config 文件把SELINUX=enforcing改成disabled
2.或者直接使用命令
[root@rac19c1 ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 查看当前selinux状态 [root@rac19c1 ~]# getenforce Enforcing
4.7 配置网络yum 或者网络yum(可不做,centos有默认官方源)
4.7.1、挂载本地yum
1、创建iso挂载路径
[root@rac19c1 ~]# mkdir /mnt/cdrom
2、挂载iso
[root@rac19c1 ~]# mount /root/ CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom
3、创建server.repo
[root@rac19c1 cdrom]# cd /etc/yum.repos.d/ [root@rac19c1 yum.repos.d]# vi server.repo [server] name=Red Hat Enterprise Linux baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0
4.7.2、挂载网络yum
vi /etc/yum.repos.d/CentOS-Base.repo 修改为以下内容 [base] name= yum repo baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/ enabled=1 gpgcheck=0
注意: 清理yum 可以使用yum clean命令。
注意:上传本地文件到虚拟机中有几种方法
第一种:rz 命令
1.安装rz和sz
yum install -y lrzsz
2.使用rz进行文件上传
敲入rz命令就会出现上传的窗口选择需要上传的文件即可
3.下载命令sz
sz + 文件名
第二种:
直接在xshell 软件找到新建文件传输进行上传 相比来说第二种要快一些。
第三种
在虚拟机上创建共享文件夹即可共享本地文件夹
4.8、临时解决中文乱码
如果安装中文,由于oracle安装向导无法识别中文字体,终端临时设置语言环境变量
export LANG=en_US export LC_ALL=en_US
4.9、安装图形化桌面
安装X窗口系统
[root@rac19c1 ~]# yum groupinstall "X Window System"
检查一下我们已经安装的软件以及可以安装的软件
[root@rac19c1 ~]# yum grouplist
安装图形界面软件 GNOME
[root@rac19c1 ~]# yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
如果想要使系统启动即为图形化窗口,需要执行下面的命令
[root@rac19c1 ~]# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
重启
注意: 建议在用oracle vm virtualbox 安装节点的时候选择GUI安装,因为一般不会出现错误。
五、配置ASM共享磁盘
1.打开虚拟机, 找到虚拟介质管理
2.创建新的vdi
3.选择固定大小,点击下一步。
4.选择保存到的文件夹及空间选择
5.点击创建 , 然后把类型改为可共享
6.分别加入到节点一和节点二
7.下载安装oracleasm-support驱动包
下载连接:https://www.oracle.com/linux/downloads/linux-asmlib-rhel7-downloads.html
8.为RAC分配共享磁盘
打开节点一或者节点二虚拟机都可以,用xshell工具连接虚拟机,如下图sda1-sda3为安装操作系统时所建立的分区。sdb-sdf为虚拟机创建的共享磁盘组
我的这个是已经配置好的,所以多出了/sdb1 /sdc1 sdd1 /sde1 /sdf1
[root@rac19c1 ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1 /dev/sde /dev/sde1 /dev/sdf /dev/sdf1
9.创建主分区
为所创建的每一个共享磁盘组创建一个主分区。(每一磁盘都应该遵照如下命令操作)
[root@rac19c1-priv ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table,nor Sun,SGI or OSF disk label Building a new DOS label.Change will remain in memory only,util you decide to write them... Command (m for help):n Command action e extended p primary partition(1-4) p Partition number(1-4):1 First cylinder (1-1305,default 1): … Last cylinder or +size or +sizeM or +sizeK(1-1305,default 1305): … Command(m for help):p … Command (m for help):w The partition table has been altered! … Syncing disks.
10.再次查看就磁盘分区
[root@rac19c1 ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1 /dev/sde /dev/sde1 /dev/sdf /dev/sdf1
11.配置oracleasm
[root@rac19c1~]# oracleasm configure -i Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface [grid]: grid //本名字跟后面安装grid的名字一样,否则会执行不了roo.sh脚本。 Default group to own the driver interface [dba]: dba Start Oracle ASM library driver on boot (y/n) [y]: y Scan for Oracle ASM disks on boot (y/n) [y]: Writing Oracle ASM library driver configuration: done
12.初始化oracleasm
[root@rac19c1 ~]# /usr/sbin/oracleasm init Loading module “oracleasm”:oracleasm Mounting ASMlib driver filesystem:/dev/oracleasm
13.标记共享磁盘
[root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskb /dev/sdb1 Writing disk header: done Instantiating disk: done [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskc /dev/sdc1 Writing disk header: done Instantiating disk: done [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskd /dev/sdd1 Writing disk header: done Instantiating disk: done [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diske /dev/sde1 Writing disk header: done Instantiating disk: done [root@rac119c1 ~]# /usr/sbin/oracleasm createdisk diskf /dev/sde1 Writing disk header: done Instantiating disk: done
14.刷新ASM磁盘配置
[root@rac119c1 ~]# /usr/sbin/oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks...
15.查看共享磁盘
[root@rac19c1 ~]# /usr/sbin/oracleasm listdisks DISKB DISKC DISKD DISKE DISKF
16.重启,并且将磁盘加入到节点二。
17.查看已挂载的磁盘
fdisk - l| grep dev
18.修改共享存储udev规则
在节点1和节点2,固定设备名称并且赋予grid属性,执行如下命令,用来生成udev规则
1 取得DM_UUID
for i in b c d e do echo "KERNEL==\"sd*\",SUBSYSTEM==\"block\",ENV{ID_SERIAL}==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd$i`\",SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" done
得出以下信息
KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c455267414f436e6e2d76384d312d316b7558",SYMLINK+="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c4552657957564f782d624d55642d48354474",SYMLINK+="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c4552594e4677496c2d413156592d6d6c5536",SYMLINK+="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*",SUBSYSTEM=="block",ENV{ID_SERIAL}=="14f504e46494c4552485a617444642d446536762d4141304e",SYMLINK+="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
执行
[root@rac19c1 ~]# /usr/bin/udevadm control --reload [root@rac19c1 ~]# /usr/bin/udevadm trigger --type=devices --action=change [root@rac19c1 ~]# ls -l /dev/asm*
六、装Oracle依赖包
1. rpm-qa |greb bc 2. yum install compat-libcap1 bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat net- tools nfs-utils openssh
在安装的时候有可能这两个包 gcc-c+±4.8.5-44.el7.x86_64.rpm libstdc+±devel-4.8.5-44.el7.x86_64.rpm安装不上,需要到网上下载。自己安装。
七、创建GRID和oracle安装目录及环境变量
1、添加GRID和oracle的组
/usr/sbin/groupadd -g 1001 oinstall /usr/sbin/groupadd -g 1002 dba /usr/sbin/groupadd -g 1003 oper /usr/sbin/groupadd -g 1004 asmdba /usr/sbin/groupadd -g 1005 asmoper /usr/sbin/groupadd -g 1006 backupdba /usr/sbin/groupadd -g 1007 dgdba /usr/sbin/groupadd -g 1008 kmdba /usr/sbin/groupadd -g 1009 racdba /usr/sbin/groupadd –g 1010 asmadmin 添加GRID和oracle的用户 useradd -u 1001 -g oinstall -G asmdba,dba,oper,backupdba,dgdba,kmdba,racdba -d /home/oracle oracle useradd -u 1002 -g oinstall -G dba,asmdba,asmadmin,racdba,asmoper -d /home/grid grid 修改密码 将oracle用户密码修改为oracle,将grid用户密码修改为grid [root@rac1 ~] echo "oracle" | passwd --stdin oracle [root@rac1 ~] echo "oracle" | passwd --stdin grid
2、创建GRID和oracle安装路径
mkdir -p /u01/app/19.0.0/grid mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory mkdir -p /u01/app/grid mkdir -p /u01/app/oracle chown -R grid:oinstall /u01 chown oracle:oinstall /u01/app/oracle chmod -R 775 /u01/ [root@rac19C1 home]# mkdir -p /u01/app/oracle/product/19.0.0/db_1 [root@rac19C1 home]# chown oracle:oinstall /u01/app/oracle/product/19.0.0/db_1
3、创建GRID和oracle的环境变量
节点1 grid
[oracle@rac19c1:/home/oracle]$su - grid Password: Last login: Mon Sep 13 15:41:05 CST 2021 Last failed login: Mon Sep 13 15:46:54 CST 2021 on pts/1 There was 1 failed login attempt since the last successful login. [grid@rac19c1:/home/grid]$vi ~/.bash_profile
添加下面内容
PS1="[`whoami`@`hostname`:"'$PWD]$' export PS1 umask 022 export TMP=/tmp export LANG=en_US export TMPDIR=$TMP ORACLE_SID=+ASM1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib THREADS_FLAG=native; export THREADS_FLAG if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
节点2 grid
[oracle@rac19c2:/home/oracle]$su - grid Password: Last login: Mon Sep 13 17:24:45 CST 2021 Last failed login: Mon Sep 13 17:25:44 CST 2021 on pts/0 There was 1 failed login attempt since the last successful login. [grid@rac19c2:/home/grid]$ vi ~/.bash_profile
添加下面内容
PS1="[`whoami`@`hostname`:"'$PWD]$' export PS1 umask 022 export TMP=/tmp export LANG=en_US export TMPDIR=$TMP ORACLE_SID=+ASM2; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib THREADS_FLAG=native; export THREADS_FLAG if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
节点1 oracle
[root@rac19c1 ~]# su - oracle Last login: Mon Sep 13 10:52:07 CST 2021 [oracle@rac19c1:/home/oracle]$vi ~/.bash_profile
添加下面内容
PS1="[`whoami`@`hostname`:"'$PWD]$' export PS1 export TMP=/tmp export LANG=en_US export TMPDIR=$TMP ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1; export ORACLE_HOME ORACLE_SID=orcl1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/db_1/bin:$ORACLE_HOME/bin; export PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib THREADS_FLAG=native; export THREADS_FLAG if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
节点2 oracle
[root@rac19c2 ~]# su - oracle Last login: Mon Sep 13 01:49:50 CST 2021 on pts/0 [oracle@rac19c2:/home/oracle]$vi ~/.bash_profile
添加下面内容
PS1="[`whoami`@`hostname`:"'$PWD]$' export PS1 export TMP=/tmp export LANG=en_US export TMPDIR=$TMP ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1; export ORACLE_HOME ORACLE_SID=orcl2; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/db_1/bin:$ORACLE_HOME/bin; export PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib THREADS_FLAG=native; export THREADS_FLAG if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
修改root环境变量
加入grid用户$ORACLE_HOME
[root@rac19c1 ~]# vi ~/.bash_profile PATH=$PATH:/u01/app/19.0.0/grid/bin:$HOME/bin
4、修改sysctl.conf参数
解释:/etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。也就是说/proc/sys下内核文件与配置文件sysctl.conf中变量存在着对应关系。
[grid@rac19c1:/home/grid]$su - root Password: Last login: Mon Sep 13 15:39:20 CST 2021 on pts/1 Last failed login: Mon Sep 13 15:51:20 CST 2021 on pts/1 There was 1 failed login attempt since the last successful login. [root@rac19c1 ~]# vi /etc/sysctl.conf
添加以下参数 fs.aio-max-nr = 1048576 fs.file-max = 6815744 #这个参数表示进程可以同时打开的最大句柄数,这个参数直接限制最大并发连接数。 kernel.shmmax = 15461882265 kernel.shmall = 3774873 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 #rmem_max:这个参数表示内核套接字接收缓存区默认的最大大小。 net.core.wmem_default = 262144 #wmem_default:这个参数表示内核套接字发送缓存区默认的大小。 net.core.wmem_max = 1048586 #wmem_max:这个参数表示内核套接字发送缓存区默认的最大大小。
5、修改20-nproc.conf
解释:查看修改Linux最大进程数和最大文件数的方法
修改/etc/security/limits.d/20-nproc.conf [root@rac19c1 ~]vi /etc/security/limits.d/20-nproc.conf # Change this #注释这行* soft nproc 1024 # To this增加下面一行 * - nproc 16384
6、修改limits.conf
解释:limits.conf用于实现对用户资源进行限制,如进程数/文件数等等。
文件存放在目录:/etc/security/limits.conf
[root@rac19c1 ~]vi /etc/security/limits.conf #ORACLE SETTING grid soft nproc 16384 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 grid soft stack 10240 grid hard stack 32768 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 3145728 oracle soft memlock 3145728
7、修改/etc/pam.d/login文件
解释:etc目录下包括pam.d目录,在pam.d目录下还有个login子目录。etc指的系统配置文件目录,pam.d指的是验证登陆配置,login是登陆配置文件。
简单说就是linux操作系统的登陆配置文件。
[root@rac19c1 ~]vi /etc/pam.d/login #ORACLE SETTING session required pam_limits.so
8、停止avahi-daemon服务
解释:avahi-daemon是一种Linux操作系统上运行在客户机上实施查找基于网络的Zeroconf service的服务守护进程。 该服务可以为Zeroconf网络实现DNS服务发现及DNS组播规范。 用户程序通过Linux D-Bus信息传递接收发现到网络服务和资源的通知。 该守护进程配合缓存用户程序的答复,以帮助减少因答复而产生的网络流量。
两个节点分别操作
查看进程 ps –ef |grep avahi-daemon
停止服务 systemct stop avahi-daemon
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon.service
9、添加NOZEROCONF=yes参数
解释: Zero Configuration Network (ZEROCONF)。ZEROCONF又被叫做 IPv4 Link-Local (IPv4LL)和 Automatic Private IP Addressing (APIPA)。它是一个动态配置协议,系统可以通过它来连接到网络。 那有没有办法禁用ZEROCONF呢?
可以通过在 “/etc/sysconfig/network” 文件中增加一行“NOZEROCONF=yes”来达到这个目的。
其实,给 NOZEROCONF 赋任意值都是同样的效果,从上面的代码就可以看出,它只检测 NOZEROCONF 是否为空。
当然,修改完 “/etc/sysconfig/network” 之后,必须重启网络才能生效:/etc/init.d/network restart[root@rac19c1]# vi /etc/sysconfig/network NOZEROCONF=yes
八、安装GRID
1、上传集群软件包
在节点1上传grid, oracle安装包
cd /home/gg
解压搭配grid 配置环境变量时指定的路径unzip LINUX.X64_193000_db_home.zip -d /u01/app/19.0.0/grid/
2、互信配置
注意: 在进行互信配置的时候不能在root用户下进行配置,因为在root用户下配置始终是需要输入密码的。
grid 用户配置
[grid@rac19c1 scripts]# /home/gg/oui/prov/resources/scripts/sshUserSetup.sh -user grid -hosts "rac19c1 rac19c2" -advanced –noPromptPassphrase
oracle 用户配置
[oracle@rac19c1 scripts]# /home/gg/oui/prov/resources/scripts/sshUserSetup.sh -user oracle -hosts "rac19c1 rac19c2" -advanced –noPromptPassphrase
3、执行脚本gridSetup.sh
进入到/u01/app/19.0.0/grid/执行脚本 ./gridSetup.sh
注意:第一次执行一般会出现两个错误,一个是需要我们在grid 用户下执行脚本,第二个是需要我们配置图形显示 环境变量设置 。如:export DISPLAY=10.54.18.202:0.0 查看电脑的ip地址 加上:0.0
如果解压的时候是在root用户上进行解压的话,可以通过命令chown -R grid:oinstall /u01/app/19.0.0/grid/ 更改权限。
4、开始安装grid1.创建新的集群
2.配置集群名称以及scan名称
注意:scan name必须和 /etc/hosts里面scan的名字一样,cluster name 可以默认不改
4.配置节点互信
配置节点互信的时候,要保证心跳ip能互相ping得通,否则后期安装很容易出现异常。
除了默认节点一的pubic 和vip 的名字外 需要把节点一的也添加上去。
注意:
常见错误:
点击test /setup 不成功
解决方法:
按住ctrl 选中两个节点测试或者 /setup ,或者是因为密码输入不正确,输入正确密码即可。
5.公网私网段选择
6、选择asm存储
7、选择配置GIMR
8、选择asm磁盘组
9、创建sys和asm密码
10、默认
11、确认gird base目录
一定要和grid的配置文件里面的路径相同
12、保持默认
13、这里可以自动执行root脚本,不自动执行,不选。
14、检测到没有gcc-c++,装下,其他不管。选择ignore all
15、安装前摘要
16、执行脚本
当提示框弹出来的时候,我们先在节点一上使用root用户执行脚本,执行完成执行节点二的脚本。
执行过程中,会遇到各种各样的问题,1。ASM磁盘的名字不对 2.和节点二的互信不同
解决: 重新配置ASM将宿主名字改为grid,即可完成;重新配置心跳IP
执行脚本如下;
[root@raca home]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete. [root@raca home]# /u01/app/19.0.0/grid/root.sh Performing root user operation. The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /u01/app/19.0.0/grid Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Relinking oracle with rac_on option Using configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_params The log of current session can be found at: /u01/app/grid/crsdata/raca/crsconfig/rootcrs_raca_2020-10-01_05-20-45AM.log 2020/10/01 05:20:56 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'. 2020/10/01 05:20:57 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'. 2020/10/01 05:20:57 CLSRSC-363: User ignored prerequisites during installation 2020/10/01 05:20:57 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'. 2020/10/01 05:20:59 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'. 2020/10/01 05:21:00 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'. 2020/10/01 05:21:00 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'. 2020/10/01 05:21:00 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'. 2020/10/01 05:21:29 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'. 2020/10/01 05:21:35 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'. 2020/10/01 05:21:37 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector. 2020/10/01 05:21:46 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'. 2020/10/01 05:21:46 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'. 2020/10/01 05:21:51 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'. 2020/10/01 05:21:51 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service' 2020/10/01 05:22:14 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'. 2020/10/01 05:22:19 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'. 2020/10/01 05:22:24 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'. 2020/10/01 05:22:28 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'. 已成功创建并启动 ASM。 [DBT-30001] 已成功创建磁盘组。有关详细信息, 请查看 /u01/app/grid/cfgtoollogs/asmca/asmca-201001上午052301.log。 2020/10/01 05:24:15 CLSRSC-482: Running command: '/u01/app/19.0.0/grid/bin/ocrconfig -upgrade grid oinstall' CRS-4256: Updating the profile Successful addition of voting disk c48689c860fd4fa2bfe4fcfcbdae0c38. Successful addition of voting disk bbdd94ae3dd14f26bf0d1abfa2767f1d. Successful addition of voting disk 5a17bd17e9dd4f73bf0e78f7fb28d71c. Successfully replaced voting disk group with +crs_gimr. CRS-4256: Updating the profile CRS-4266: Voting file(s) successfully replaced ## STATE File Universal Id File Name Disk group -- ----- ----------------- --------- --------- 1. ONLINE c48689c860fd4fa2bfe4fcfcbdae0c38 (/dev/asm-diskb) [CRS_GIMR] 2. ONLINE bbdd94ae3dd14f26bf0d1abfa2767f1d (/dev/asm-diskc) [CRS_GIMR] 3. ONLINE 5a17bd17e9dd4f73bf0e78f7fb28d71c (/dev/asm-diskd) [CRS_GIMR] Located 3 voting disk(s). 2020/10/01 05:25:47 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'. 2020/10/01 05:27:18 CLSRSC-343: Successfully started Oracle Clusterware stack 2020/10/01 05:27:18 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'. 2020/10/01 05:28:50 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'. 2020/10/01 05:29:22 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
17、安装完成
九、安装数据库软件
1、找到数据库安装包,解压
解压到unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/db_1
解压完成,进入
cd /u01/app/oracle/product/19.0.0/db_1
目录执行 ./runInstaller
注意:第一次执行一般会出现两个错误,一个是需要我们在grid 用户下执行脚本,第二个是需要我们配置图形显示 环境变量设置 。
如:export DISPLAY=10.54.18.202:0.0 查看电脑的ip地址 加上:0.0
如果解压的时候是在root用户上进行解压的话,
可以通过命令
chown -R grid:oinstall /u01/app/oracle/product/19.0.0/db_1 更改权限。
2、选择software only
3、选择RAC
4、ssh互信验证
5、保持默认
6、保持默认
7、保持默认
8、不选
9、检查忽略
10、安装
11、root下执行脚本
这里根据提示来进行具体是哪一个节点来执行脚本。
12、database安装完成
十、DBCA创建实例
1、asm创建+data
执行之前同上一样,需要配置图像化界面变量,以及赋予权限。
[grid@rac19c1:/home/grid]$ asmca
2、点击Create
点击Create ,找到ASM共享磁盘的路径,完成创建。
十一、图形化安装实例
[oracle@rac19c1 db_1]$ dbca
创建数据库
这里的名字必须跟oracle vim ~/.bash_profile 一样
配置写内存:尽量选择默认的 不要自己去调整。调整可能会使后面的安装不成功。
集群验证
配置数据库密码
进入自定义配置,选择默认,不选,下一步。
校验时也是之前的dns和scan ip错误,可以忽略,进行下一步安装
安装数据库需要一般20多分钟,我的用了半小时。跟据自己的电脑性能有关系
[grid@rac19c1:/u01/app/19.0.0/grid/bin]$crsctl stat res -t
查看数据库是否创建成功
Dbca删库
所有的安装已经完成。现在可以通过sqlplus /as sysdba
查看数据库的版本。 -
2021年CentOS7安装Oracle11g全记录
2021-02-02 11:19:49文章目录环境信息下载相关准备工作图形化CentOS7本机图形化操作远程图形化操作ssh远程CentOS安装 X Window System安装 GNOME Desktop安装配置VNC 在linux安装oracle在实际运维工作中还是经常能用到的。正好最近重装...文章目录
在linux安装oracle在实际运维工作中还是经常能用到的。正好最近重装系统,顺便记录一下安装oracle的全过程。
这篇文章是一个探索过程,看起来可能有些乱。我特意整理了一下,欢迎观看。
《2021年强迫证福音CentOS7零警告安装Oracle11g》
https://blog.csdn.net/lxyoucan/article/details/113547596环境信息
不同的环境可能会有小小的差异,都是大同小异的。防止有影响,下面给出我用的版本信息。
项目 版本 操作系统 CentOS Linux 7 (Core) x86_64 oracle linux.x64_11gR2 我是在macOS Big Sur11.1中使用VMware Fusion 12.1.0安装的CentOS7虚拟机。
虚拟机配置如下:
下载相关
CentOS7下载地址:
http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
实际工作中很多时候系统不用我们下载了,客户提供。
如果你也用虚拟机安装的,出现上不了网的问题可以看这里:
《CentOS7 mini (CentOS-7-x86_64-Minimal-2003.iso )虚拟机安装后无法上网的解决办法》Oracle下载地址:
强烈建议下载 11.2.0.4版本的,oracle版本是官网下载的11.2.0.1有点小坑在里面,我是后来遇到坑换成的 11.2.0.4版本。11.2.0.4普通用户官网下载不到的,网上找找吧。CentOS7安装11.2.0.1遇到的坑:
- 操作系统内核参数semmni 明明设置正确,先决条件检查以然会提示参数不正确
- 一些程序包,已经安装过了,先决条件检查以然会提示没有安装
- 安装到 68%会报错:makefile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’的目标’install’时出错
出现这个也可以理解,毕竟这个版本已经年代久远,所依赖的程序包都升级了多个版本了。
坑 1,2直接忽略可以解决,3网上也有解决办法。本文下方也有相关链接。这些坑总让人有点不舒服。
好在 11.2.0.4版本中已经没有这些坑了。准备工作
在windows下安装oracle还是很简单的,在linux安装oracle就要略微麻烦一些。为了跟客户现场环境比较接近,我在电脑上远程这台CentOS7来实现数据库的安装。
创建用户
oracle安装文件不允许使用root用户直接启动,需要为oracle配置一个专门的用户来管理oracle的安装与运维。
root执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)。#创建database用户组 groupadd database #创建oracle用户并放入database组中 useradd oracle -g database #设置oracle密码 passwd oracle
我设置的是
database@2021
图形化CentOS7
虽然oracle是可以通过命令行的形式安装的,新手第一次安装还是推荐使用图形化的安装,毕竟简单明了。
搭建VNC服务
如果你已经可以直接图形操作,此步可忽略。
我这里使用VNC的方式,VNC不是本文重点。只是用于安装oracle用,本文中我尽量简化操作,跟着我敲命令就行了。图形界面我选的是openbox,因为体积小巧安装oracle完全够用。
如果想详细学习搭建VNC服务,可以看我另一篇文章:
《Centos7安装和配置VNC服务器 - openbox篇》安装必备软件并配置
root执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)。
#图形界面必备`X Window System` yum -y groupinstall "X Window System" #安装epel源 yum -y install epel-release #安装VNC+图形需要的软件 yum -y install tigervnc-server openbox xfce4-terminal tint2 cjkuni-ukai-fonts network-manager-applet
编辑openbox配置文件/etc/xdg/openbox/autostart
因为觉得vi修改麻烦,所以写个脚本,直接整段复制到终端执行就好了。#自动修改/etc/xdg/openbox/autostart配置文件 echo 'if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then' > /etc/xdg/openbox/autostart echo ' eval `dbus-launch --sh-syntax --exit-with-session`' >> /etc/xdg/openbox/autostart echo 'fi' >> /etc/xdg/openbox/autostart echo 'tint2 &' >> /etc/xdg/openbox/autostart echo 'nm-applet &' >> /etc/xdg/openbox/autostart echo 'xfce4-terminal &' >> /etc/xdg/openbox/autostart echo ' ' >> /etc/xdg/openbox/autostart
防火墙放行VNC端口
我这里VNC端口是 5901,–add-port=端口号
su root
使用root用户执行以下命令:# 防火墙放行VNC端口 firewall-cmd --add-port=5901/tcp firewall-cmd --add-port=5901/tcp --permanent
VNC
切换到oracle用户
su oracle
开启一个VNC服务
vncserver :1 -geometry 1024x768
参数 解释 :1 数字1很重要,它觉得了最终的TCP端口号(5901)。算法:5900+1= 5901 ,也就是说如果设置为:2那么TCP就是5902 -geometry 1024x768 指定远程桌面的分辨率,根据自己喜好来就行,默认是1024x768,注意中间的x别写错了 第一次执行命令,根据提示输入密码就行了。
我这里设置的密码是vnc@2021
配置VNC默认启动openbox#配置VNC默认启动openbox echo "openbox-session &" > ~/.vnc/xstartup
修改完配置要重启vnc服务
vncserver -kill :1 vncserver :1 -geometry 1024x768
恭喜,到这一步VNC服务就搭建完成了。
连接VNC远程
使用你的VNC客户端连接就行了,会的就略过吧。
我用的是:VNC Viewer点击下载。
然后输入上面设置的连接密码就可以了。我这里设置的密码是vnc@2021
如果你连接的时候发现,没有界面,是黑屏的只有一个鼠标,那么可以重启一下VNC服务试试。
切换到oracle用户su oracle
命令:vncserver -kill :1 vncserver :1 -geometry 1024x768
安装oracle
安装中文字体解决中文乱码问题
最简单的粗暴的方法,临时使用英文环境。
LANG=en_US
中文是世界上最美的文字,必须中文,很简单增加所需字体就行了。操作如下:
下载字体:
https://download.csdn.net/download/lxyoucan/14968070
root执行以下命令:
新建文件夹mkdir -p /usr/share/fonts/zh_CN/TrueType
zysong.ttf
上传到/usr/share/fonts/zh_CN/TrueType目录chmod 75 /usr/share/fonts/zh_CN/TrueType/zysong.ttf
这样安装oracle就不会中文乱码了。
解压安装包
上传安装包到 CentOS7服务器。我上传到
/home/oracle/
目录了。如果没有unzip,安装unzip用于文件解压root执行以下面
yum install unzip
oracle用户登录vnc,执行下面命令,解压安装包
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
解压出 database
cd database
运行安装程序
./runInstaller
看到类似下面的安装界面,说明你已经成功一半了。
现在有图形界面,有中文了。安装方法基本与windows 下面类似了。放心一路“下一步(N)>
”吧,没什么大问题。我就不一一截图了,截图多反而看着累。我把我觉得重要的说一下。
安装类型:
密码设置,这个主要是数据的超级管理员密码,比如常用的sys用户。
设置密码
Database123
修复先决条件检查
点击“修补并再次检查(F)
”按钮就可以修补大半。具体方法按弹框中的说明执行即可。
我执行结果如下:[root@localhost ~]# /tmp/CVU_11.2.0.1.0_oracle/runfixup.sh Response file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.response Enable file being used is :/tmp/CVU_11.2.0.1.0_oracle/fixup.enable Log file location: /tmp/CVU_11.2.0.1.0_oracle/orarun.log Setting Kernel Parameters... /tmp/CVU_11.2.0.1.0_oracle/orarun.sh: 第 244 行:[: 18446744073692774399: 期待整数表达式 The value for shmmax in response file is not greater than value of shmmax for current session. Hence not changing it. /tmp/CVU_11.2.0.1.0_oracle/orarun.sh: 第 335 行:[: 18446744073692774399: 期待整数表达式 The value for shmall in response file is not greater than value of shmall for current session. Hence not changing it. The value for semmni in response file is not greater than value of semmni for current session. Hence not changing it. kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 uid=1001(oracle) gid=1001(database) 组=1001(database)
就这样就可以轻松干掉大部分的检查了。
下面我们来一一解决它即可。Swap分区设置(若检查中无此项,可忽略)
如果Swap空间不符合要求,oracle 安装文件检查发现swap 空间不足。
大小一般设置为一般为内存的1.5倍。(root权限)查询当时Swap分区设置情况。
swapon -s
或者使用free
工具来查看内存和Swap情况。free -m
结果如下单位(MB):
[root@localhost ~]# free -m total used free shared buff/cache available Mem: 1475 439 171 13 865 877 Swap: 2047 0 2047
创建Swap文件
接下来我们将在文件系统上创建swap文件。我们要在根目录/
下创建一个名叫swapfile
的文件,当然你也可以选择你喜欢的文件名。该文件分配的空间将等于我们需要的swap空间。
一般 内存的 1.5倍以上就好了。也可以根据安装程序的提示来。
root执行以下命令,创建swap分区,
#创建swap文件 bs=2300的设置的值一般为内存的1.5倍以上 dd if=/dev/zero of=/var/swap bs=2500 count=1000000 #需要更改swap文件的权限,确保只有root才可读 chmod 600 /var/swap #告知系统将该文件用于swap mkswap /var/swap #开始使用该swap swapon /var/swap #使Swap文件永久生效,/etc/fstab加入配置 echo "/var/swap swap swap sw 0 0" >> /etc/fstab
如果上面创建后发现,大小创建错误了。如何重置呢?
swapoff -a
rm /var/swap
上面命令就可以删除了,然后重新创建合适的swap文件就行了。继续修复,再次点击“
修补并再次检查(F)
”按钮,与上面一次操作相同,发现又能自动修复2条了。
为什么有2条,第二次执行修改脚本才可以,我也是无意中发现的。
现在还剩一个操作系统内核参数semmni
这个问题怎么解决呢?sysctl -p
网上搜索了一下,也有网友遇到这个问题的。
比如:这个https://bbs.csdn.net/topics/392059643?page=2其中有个网友这么说的。
那我们就暂时忽略吧。
看了很多文章,这个地方可能是安装程序的BUG吧,只要自身设置正确就行了。不用管这个提示了。补充:实测 11.2.0.4版本不会出现这个问题。
解决程序包依赖问题
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
上面安装完成发现程序包中还是有几条警告。我查了一下,还是提示缺少的包,实际上我们已经安装过了,只是我们安装的版本比要求的版本高。毕竟Oracle 11g是好多年前的产品了,我现在用的CentOS7是最新版本。只要要求的包我们已经安装成功了,右上角点击☐全部忽略
。这样我们就能继续安装了。
一路下一步吧。
补充:实测 11.2.0.4版本不会出现这个问题。68%报错
补充:实测 11.2.0.4版本不会出现这个问题。
安装到 68%报错如下:
makefile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’的目标’install’时出错。
查看日志,错误如下:
如果你安装的版本遇到这个问题,解决办法请参考:《Error in invoking target ‘install’ of makefile ‘…/dbhome_1/ctx/lib/ins_ctx.mk’ …》
https://blog.csdn.net/xch_yang/article/details/104389154后来网上找了一下还有一个更优雅的解决办法:
在oracle网站查到说是版本对应问题
https://community.oracle.com/thread/3635853
由于是centos 7.3,oracle版本是官网下载的11.2.0.1,这里提示说需要换到11.2.0.3 or higher
最后上传11.2.0.4版本。我决定试试。然后我按前面的步骤在来了一遍,基本一样我就不重新截图了,果然不报这个错了。下面的截图都是11.2.0.4版本的。
进度70% ins_emagent.mk错误弹框
它来了,它来了,我等待好久了。
编辑:
/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
约176行,可以搜索$(MK_EMAGENT_NMECTL)
关键字快速找到。
修改后如下:#=========================== # emdctl #=========================== $(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL) -lnnz11 #=========================== # nmocat #===========================
修改完成后,点击
重试(R)
[INS-20802]Oracle Database Configuration Assistant 失败。
安装过程中如果遇到这个错误,可能是因为你的网络不通,或者有问题导致的。我wifi连手机热点就出现这个问题了,我连接有线网络这个问题自动就好了(网络正常后,点击“重试(R)
”)。
是个警告暂时忽略,实践证明这个警告没有影响,数据库正常使用。我猜测有可能是因为我先安装11.2.0.1删除不彻底导致的。
安装完成后,root权限执行一下以上两个脚本。
这样就安装完成了。防火墙放行1521
默认端口是1521
# 防火墙放行1521oracle端口 firewall-cmd --add-port=1521/tcp firewall-cmd --add-port=1521/tcp --permanent
配置环境变量
su oracle
切换到oracle用户操作。
编辑配置文件vi ~/.bash_profile
文件末尾加入以下内容,ORACLE_HOME中换成你实际安装的路径
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1/ export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin
使用配置文件立即生效。
source ~/.bash_profile
日常运维
启动oracle
su oracle sqlplus /nolog SQL> connect /as sysdba SQL> startup
sys用户登录
[oracle@localhost ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 2 02:59:38 2021 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> connect as sysdba Enter user-name: sys Enter password: Connected. SQL> select 1 from dual; 1 ---------- 1 SQL>
没有问题,说明oracle本地连接oracle成功。
启动监听
lsnrctl start
PLSQL连接测试
使用其他机器连接我们刚安装好的oracle进行连接测试。
修改配置文件C:\app\itkey\product\11.2.0\client_1\network\admin\tnsnames.ora
(路径根据实际情况来)CentOS7ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.184.5)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
总结
CentOS7安装Oracle 11g不难,遇到问题都能百度解决。就是对比windows下安装有些麻烦。安装中遇到的小问题大多因为oracle 11g年岁己高导致的。我猜测在新版的系统中安装新版的Oracle 可能会更简单。甚至可能像windows中那样简单吧!或者使用 Oracle 自己的linux系统安装起来会不会更容易呢?等我以后有空了,可以测试一下。
参考文档
《在CentOS 7上添加Swap交换空间》
https://blog.csdn.net/zstack_org/article/details/53258588《Error in invoking target ‘install’ of makefile ‘…/dbhome_1/ctx/lib/ins_ctx.mk’ …》
https://blog.csdn.net/xch_yang/article/details/104389154《记一次oracle安装错误:INFO: //usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14’》
https://www.cnblogs.com/yhq1314/p/10830300.html《Linux/Centos 安装oracle报错“调用makefile '/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk的目标” 解决》
https://blog.csdn.net/weixin_41078837/article/details/80585287 -
CentOS7 安装oracle11g r2方法整理
2018-05-10 13:58:41前段时间在centOS7系统下安装oracle11g,期间遇到了各种各样奇葩的问题,自己找了很多参考资料,然后一点点摸索,最后把错误都排除,顺利安装,使用也暂时没出现过问题,过程实在很虐。于是自己整理了一下前辈们的... -
Centos 7.4安装Oracle 11.2.0.4
2018-11-06 14:26:22centos 7.4 安装 oracle 11.2.0.4 最佳实践,作者原创 环境 操作系统:Centos 7.4 CentOS-7-x86_64-DVD-1708.iso Oracle软件:oracle 11.2.0.4 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86... -
centos7安装oracle11g所需(i3x86)夹包
2018-04-08 12:38:24centos7安装oracle11g所需(i3x86)夹包,具体有: unixODBC-devel-2.2.11-1.i386.rpm unixODBC-2.2.11-1.i386.rpm pdksh-5.2.14-948.1.2.i586.rpm libstdc++-3.4.6-11.i386.rpm libgcc-3.4.6-3.i386.rpm libaio-... -
Linux CentOS 7安装Oracle11g超完美教程
2021-11-17 17:59:59文章目录Oracle部署1 基本环境介绍2 检测是否安装了Oracle3 卸载Oracle3.1 重新做一次虚拟机3.2 卸载Oracle4 安装准备4.1 建立oracle用户和用户组4.2 为Oracle的安装创建相关目录4.3 优化OS内核参数4.4 限制oracle...Oracle部署
文章目录
1 基本环境介绍
-
Linux我们默认使用
CentOS 7 x64
-
所以为了对应操作系统我们使用64位的
Oracle 11g
数据库 -
Oracle11g需要准备至少:
2
核CPU、2G
内存、8GB
的硬盘空间-
查看
cpu
详细信息lscbu
-
查看
内存
详细信息free -h
-
查看
存储盘
详细信息lsblk
-
-
确保服务器能访问外
网
- 可以
ping www.baidu.com
进行测试
- 可以
2 检测是否安装了Oracle
-
查看是否有 oracle 的进程
ps -ef | grep ora
-
检查是否有oracle用户
# 一般安装oracle的时候默认会建一个oracle用户 id oracle
3 卸载Oracle
3.1 重新做一次虚拟机
因为Oracle的卸载极其麻烦,从效率上讲甚至不如直接重新安装虚拟机
3.2 卸载Oracle
4 安装准备
Oracle的安装需要图形化界面,所以身为命令形式的Linux操作系统就需要安装图形化界面:VNC;
为了安全起见,不建议使用root做为vnc用户,所以,安装oracle时要建立单独的用户去安装oracle相关
4.1 建立oracle用户和用户组
# 在Linux中创建名为oinstall的用户组 groupadd oinstall # 创建dba用户组 groupadd dba # 创建oper用户组 groupadd oper # 为dba和oper用户组创建oracle用户 # -g 主用户组 # -G 附加组 useradd -g oinstall -G dba,oper oracle # 将oracle用户的密码设置为oracle echo "oracle"|passwd oracle --stdin
4.2 为Oracle的安装创建相关目录
# 建文件夹 mkdir -p /u01/app/oracle/product/11.2.0/db_1 # 改变属主和属组 chown -R oracle:oinstall /u01/app # 为文件夹授权 chmod -R 775 /u01/app
4.3 优化OS内核参数
vim /etc/sysctl.conf # 添加如下内容 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 # kernel.shmmax 参数设置为物理内存的一半 kernel.shmmax = 1200000000 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 # 因为刚自定义配置了shmmax、shmmni、shmall,所以注释掉原有自带的shmmax、shmall这些属性
-
保存并退出后,需要使使参数生效
sysctl -p
4.4 限制oracle用户的shell权限
为了优化性能,需要添加oracle用户的限制参数
vim /etc/security/limits.conf # 在文件末尾添加下面四行 # 设置进程数软限制 oracle soft nproc 2047 # 设置进程数硬限制 oracle hard nproc 16384 # 设置文件数软限制 oracle soft nofile 1024 # 设置文件数硬限制 oracle hard nofile 65536 # 进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证 vim /etc/pam.d/login # 在文件最后添加下面一行 session required /lib64/security/pam_limits.so # 一般都是64位系统,64位系统需要设置为/lib64/security/pam_limits.so 否则重启服务器后就会出现命令行无法登录,但是通过桌面方式能登录的情况 session required pam_limits.so
-
使参数生效
source /etc/profile
4.5 为Oracle用户添加Oracle环境变量
su - oracle vim .bash_profile # 添加如下内容 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 PATH=$PATH:$ORACLE_HOME/bin ORACLE_SID=orcl NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8" export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
- 退出后需要刷新环境变量
source .bash_profile 或 source /home/oracle/.bash_profile
4.6 配置hostname(本机IP映射)
安装oracle时,一定要保证主机名出现在/etc/hosts中
vim /etc/hosts # 添加如下内容 127.0.0.1 localhost 192.168.222.30 mydb
-
测试hostname
ping -c 3 mydb
-
/etc/sysconfig/network
中的hostname
要与/etc/hosts
中的一致
vim /etc/sysconfig/network # 添加如下内容 NETWORKING=yes HOSTNAME=mydb # 服务器IP GATEWAY=192.168.222.30 NTPSERVERARGS=iburst
4.7 安装VNC&Oracle相关依赖
4.7.1 配置yum源
cd /etc mv yum.repos.d yum.repos.d.bak mkdir yum.repos.d wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 清理缓存 yum clean all # 建缓存 yum makecache #安装epel源 yum -y install epel-release
4.7.2 安装依赖
#图形界面必备`X Window System` yum -y groupinstall "X Window System" #安装VNC+图形、oracle需要的依赖(软件) yum -y install \ binutils \ compat-libcap1 \ compat-libstdc++-33 \ compat-libstdc++-33*.i686 \ elfutils-libelf-devel \ gcc \ gcc-c++ \ glibc*.i686 \ glibc \ glibc-devel \ glibc-devel*.i686 \ ksh \ libgcc*.i686 \ libgcc \ libstdc++ \ libstdc++*.i686 \ libstdc++-devel \ libstdc++-devel*.i686 \ libaio \ libaio*.i686 \ libaio-devel \ libaio-devel*.i686 \ make \ sysstat \ unixODBC \ unixODBC*.i686 \ unixODBC-devel \ unixODBC-devel*.i686 \ libXp
4.7.3 检查依赖是否安装完成
rpm -q \ binutils \ compat-libstdc++-33 \ elfutils-libelf \ elfutils-libelf-devel \ expat \ gcc \ gcc-c++ \ glibc \ glibc-common \ glibc-devel \ glibc-headers \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ make \ pdksh \ sysstat \ unixODBC \ unixODBC-devel | grep "not installed"
4.7.4 如果安装失败的依赖进行单独安装
-
方法一:通过
yum
安装yum -y install pdksh(安装失败的package)
-
方法二:
wget
命令直接下载pdksh
的rpm
包,下载到至/tmp/
wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm # 安装pdksh rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
4.7.5 安装语言包
服务器&VNC&Oracle安装包语言要统一,这里我使用的是中文安装包,为避免中文乱码,需要安装中文语言包(如果你都是英文可以忽略此步骤)
# 1.切换至oracle安装目录 cd /u01/ # 2.将文件上传至服务器 rz/sz # 或 shell工具拖拉拽 # 或 # --------------------------------------------------------------- scp -r /Users/nan/Desktop/Oracle root@10.10.1.104:/opt/test/ # 解析 scp -r dir username@host:dir 命令 递归 要拷贝的文件路径 目的主机用户名@目的主机ip:目的路径 # --------------------------------------------------------------- # 3.安装中文字体包 yum –y install pdksh-5.2.14-37.el5_8.1.x86_64.rpm
4.8 开放端口/关闭防火墙
4.8.1 开放端口
防火墙放行VNC端口5901和Oracle默认端口1521
-
编辑iptables, 开放1521端口:
sudo vi /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
-
重启防火墙
sudo service iptables restart
-
保存配置,以便linux重启后依然有效
sudo service iptables save
-
查看防火墙规则:
sudo iptables -L –n
4.8.2 关闭防火墙
service iptables stop chkconfig iptables off vim /etc/sysconfig/selinux SELINUX=enforcing改成SELINUX=disabled
4.9 上传Oracle安装文件
-
切换用户并切换目录
xhost + su - oracle cd /u01/sw
-
上传
Linux-x86-64_1of7.zip
和Linux-x86-64_2of7.zip
文件至/u01/sw
目录上传方法 -
解压缩安装文件
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
-
完成后切换root用户,复制授权
su - root mkdir /home/oracle/etc/ cp /db/database/response/* /home/oracle/etc/ chmod 777 /home/oracle/etc/*.rsp
-
登录oracle用户
su – oracle vi /home/oracle/etc/db_install.rsp # 信息如下: oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/db/app/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOSTNAME=oracle ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/db/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=true oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=orcl oracle.install.db.config.starterdb.SID=orcl oracle.install.db.config.starterdb.memoryLimit=512 oracle.install.db.config.starterdb.password.ALL=oracle DECLINE_SECURITY_UPDATES=true
4.10 安装
-
执行Oracle安装文件
su - oracle ./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
-
安装期间可以使用tail命令监看oracle的安装日志
cd /db/app/oracle/oraInventory/logs/ tail -f installActions2021-11-10_10-38-29AM.log
-
安装完成,提示
Successfully Setup Software
-
使用root用户执行脚本
su - root /db/app/oracle/product/11.2.0/db_1/root.sh
4.10.1 增加或修改oracle的环境变量
su - oracle vi ~/.bash_profile export ORACLE_HOME=/db/app/oracle/product/11.2.0/db_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH=${PATH}:/usr/bin:/bin:/usr/local/bin export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib export ORACLE_OWNER=oracle export SPFILE_PATH=$ORACLE_HOME/dbs export ORA_NLS10=$ORACLE_HOME/nls/data
-
使配置生效
source ~/.bash_profile
4.10.2 配置监听程序
-
配置监听
# 确保在oracle目录的bin下 pwd /db/app/oracle/product/11.2.0/db_1/bin ./netca /silent /responseFile /home/oracle/etc/netca.rsp
-
启动监听
# 确保在oracle目录的bin下 pwd /db/app/oracle/product/11.2.0/db_1/bin # 启动监听 lsnrctl start # 查看监听状态 lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAY-2019 00:13:21 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 25-MAY-2019 00:05:55 Uptime 0 days 0 hr. 7 min. 32 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /db/app/oracle/product/11.2.0/db_1/network/admin/listener.ora Listener Log File /db/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1522))) The listener supports no services The command completed successfully
-
监听状态
lsnrctl start # 显示如下 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAY-2019 00:13:21 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
5 创建数据库
-
编辑应答文件
vi /etc/dbca.rsp GDBNAME="orcl.oracle" SID="orcl" SYSPASSWORD = "oracle" SYSTEMPASSWORD = "oracle" CHARACTERSET="AL32UTF8" NATIONALCHARACTERSET="UTF8" # 执行: $ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp
-
建库
pwd /db/app/oracle/product/11.2.0/db_1/bin dbca -silent -responseFile etc/dbca.rsp # 至此完成数据库实例的创建
-
设置Oracle开机启动
vim /etc/oratab # 把“N”改成“Y” orcl:/db/app/oracle/product/11.2.0/db_1:Y
5.1 删除实例
[oracle@oracle bin]$ vi /etc/oratab orcl:/db/app/oracle/product/11.2.0/db_1:Y # //把“N”改成“Y” # 保存退出 [oracle@oracle bin]$ pwd /db/app/oracle/product/11.2.0/db_1/bin # 通过dbstart 启动此实例,监听器 ## ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener ## Usage: ./dbstart ORACLE_HOME [oracle@oracle bin]$ ./dbstart $ORACLE_HOME; # oracle的进程关闭,监听器也停止; [oracle@oracle bin]$ ./dbshut $ORACLE_HOME; # 启动监听 [oracle@oracle bin]$ ./lsnrctl start; # 查看监听 [oracle@oracle bin]$ ./lsnrctl status
5.2 登陆Oracle
[oracle@oracle bin]$ pwd /db/app/oracle/product/11.2.0/db_1/bin [oracle@oracle bin]$ ./sqlplus /nolog # 进入系统管理用户 SQL> conn / as sysdba Connected to an idle instance. # 启动oracle实例 SQL> startup;
1、使用oracle用户登录桌面,打开终端运行安装程序
[root@oracledb ~] cd /ora/database
[root@oracledb ~] ./runInstaller1)订阅邮件跳过
2)选择忽略更新(或者让选择桌面版还是服务器版,如果有选择服务器版)
3)这里选择仅安装数据库,稍后再配置初始化数据。
4):选择单实例安装。
5):语言,linux服务器上就别想什么中文这些了,就默认英文完事。
6):默认
7):这里就出现最开始创建的相应目录信息了,会自动读取。
8):下一步
9):选择group 组为之前创建好的oinstall
10):安装的过程中可能会出现如下的一些警告信息,如提示semmni为0 的问题,该问题一直没有找到原因,我们在上面修改内核的过程中就已经调整了kernel.sem = 250 32000 100 128 但是检测无法通过(暂时无解)、其他的一些依赖组件提示,其实我们已经安装好了,只是centos7上yum安装的依赖包要比oracle 11g 所需的包更新,版本更高,所以可以直接忽略这些提示(勾选 ignore all)。
3、安装到最后的时候会出现一个提示:需要用root权限执行2个shell脚本,那么我们在之前的root用户终端下运行提示中的对应脚本文件即可。
这里或者更早前的步骤就可能会出现一个很神奇(zhizhang)的问题,对话框可能无法正常弹出,测试在VM虚拟机或者云服务器,如阿里云等都这样,但是用鼠标可以拖开。是的,你没有看错,直接拖出对话框。这个问题不知道原因,有知道的朋友请留言告知,万分感谢。还有可能出现一个压根儿就不能拖得对话框(阿里云上反复测试,就是会出现)最后没辙了,本地跑虚拟机一步步的模拟安装,发现是一个警告提示,一般按4次tab键即可切换到下一步选项回车即可。
4、安装完成后还需要创建数据库,还是同样在Oracle用户桌面环境下,重新打开一个终端,输入 dbca 命令即可弹出相应的数据库创建向导。
如果提示没有这个命令,那么请详细检查一下上述的依赖包是否正确安装,另外创建过程中如果出现提示oracle not available 检查是否已添加主机名到hosts文件中。
-
-
Centos7安装oracle11gR2步骤
2021-11-19 15:45:08使用XManager图形化界面xstart方式,远程安装oracle11gR2(centos7) -
CentOS7安装Oracle11g超简单[视频]
2021-01-29 14:24:15《2021年CentOS7安装Oracle11g这一篇就够了》 https://blog.csdn.net/lxyoucan/article/details/113177763 创建用户 root执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)。 #创建database用户组 ... -
centos7 安装oracle jdk
2021-12-13 16:49:27centos7 默认自带的是openjdk1.8 ,我们如果需要安装oracle jdk 可以参考本文来进行 删除系统自带的版本 # 查询已安装的java rpm -qa|grep java # 删除已安装的java rpm -e --nodeps java-1.8.0-openjdk rpm -... -
CentOS6.2安装Oracle客户端
2018-07-13 17:28:52CentOs6.2下个人完整的安装客户端详细步骤,亲测可用。 -
centos7离线安装oracle12c
2018-07-27 09:45:12linux下离线安装oracle12c的详细安装过程文档,包括可能遇到问题的解决方案,oracle的所有可能需要的依赖包 -
centos7离线安装oracle11g所需要的rpm包...
2020-12-11 10:08:18centos7离线安装oracle11g所需要的rpm包...