oracle12c单机部署

一、虚拟机图形化界面部署

ps:这个是在虚拟机部署的时候,安装oracle需要图形化界面,部署虚拟机的环境

1.创建虚拟机(典型)

创建虚拟机选择"典型"方式

避免自动安装-选择稍后安装系统.

选择虚拟机中的linux centos7系统

设置虚拟机名字与位置

在电脑中创建出指定文件存储虚拟机,一个文件存储一个。

虚拟机会占用大量内存,选用大内存的硬盘

设置虚拟机最大磁盘空间,搭建架构机器内存最少50g(本次给60g)

最后进入配置,调整内存大小选择系统光盘

本次安装的是oracle,给的内存大点,本次给了4g内存

内存选择好,选择系统光盘镜像

2.部署linux环境

准备部署安装Linux系统 :CentOS-7-x86_64-DVD-2009.iso

对网卡名进行配置
biosdevname=0 net.ifnames=0
#网卡名字 ensxxx -->eth0 eth1
#用于让网卡名字变成ethx 形式eth0 eth1 ,centos 7中默认是ens33

进入系统后后,选择 Istall cento7 ,按下‘tab键’,进入下方命令行模式,输入上方修改网卡配置。

选择语言,选择为英文模式

对网卡进行配置

检查 net.ifnames=0 biosdevname=0 是否配置成功

点击“配置”,进行网卡配置

选择开机自启动网卡

手动配置eth0网卡,点击save进行保存

配置ip地址等信息
ip: 10.0.0.200
子网掩码:24
网关: 10.0.0.2
dns: 223.5.5.5,223.6.6.6 #配置的时候是逗号

最后检查

关闭Kdump

磁盘分区(自动)

选择软件包(安装oracle要选择带gui的图像化界面)

检查时间

开始安装

设置root密码,本次密码为1

配置普通用户cmx,密码为1

3.进入Linux系统

配置认证

以root用户登录系统

配置语言

命令行管理模式

检查IP地址并检查网络连通性

4.基础优化

关闭防火墙和selinux

#firewalld
systemctl stop firewalld     #关闭防火墙
systemctl disable firewalld  #关闭防火墙开启自启动
systemctl status firewalld

#selinux 
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config          #enforcing更改为disabled
setenforce 0                 #关闭selinux
getenforce           #结果只要不是enforcing就表示关闭了.

配置yum源

#备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

#修改base源 为阿里云 
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#增加epel源 
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

运行 yum makecache 生成缓存
#清除缓存
yum clean all 
#查看yum源
yum repolist

安装常用工具

yum install -y vim tree wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect ntpdate cowsay  sl

优化ssh(远程连接)连接速度

#将这一行注释掉
sed -i '/^GSSAPIAuthentication/s@^@#@g'  /etc/ssh/sshd_config

#将配置写入文件
cat >>/etc/ssh/sshd_config<<EOF
UseDNS no #相当于网络命令的-n选项.
GSSAPIAuthentication no #关闭GSS认证.
EOF

systemctl restart sshd #重启服务

#检查 
egrep '^(GSSAPIAuthentication|UseDNS)'  /etc/ssh/sshd_config

时间同步

#修改时区(如果不对)
timedatectl status #查看时区 time zone部分
timedatectl set-timezone Asia/Shanghai #如果时区不对再修改.

#配置定时时间同步.

yum install -y ntpdate #安装同步时间命令

crontab -e             #编辑定时任务
#1. sync time lidao996 #粘贴进定时任务
*/2 * * * * /sbin/ntpdate ntp1.aliyun.com  &>/dev/null

crontab -l              #查看定时任务是否写入

命令行修改颜色

export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$ ' #临时修改



写入到/etc/profile中,放结尾即可,永久修改
vim  /etc/profile    #编辑文件
source /etc/profile  #重启服务

修改主机名

hostnamectl set-hostname

hosts解析(方便使用主机名进行互相访问)

cat >>/etc/hosts <<EOF
10.0.0.200 oracle
EOF

基础环境配置完成,关机拍快照

5.克隆模板主机名和IP修改

1.克隆机器修改IP地址
[root@oracle12g ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
[root@oracle12g ~]# cat  /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=eth0
UUID=e01824b9-311c-4992-b683-7bf9e0e9305d
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.10  #修改IP地址
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=223.6.6.6
IPV6_PRIVACY=no
[root@oracle12g ~]# 

2.重启网卡
[root@oracle12g ~]# systemctl restart  network

3.检查IP地址
[root@oracle12g ~]# ip a

4.修改主机名
[root@oracle12g ~]# hostnamectl set-hostname  cmx (新主机名)
[root@oracle12g ~]# hostname
cmx

二、网络与存储

1.网络配置

1.克隆机器修改IP地址
[root@oracle12g ~]# oracle12c 
[root@oracle12g ~]# cat  /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=eth0
UUID=e01824b9-311c-4992-b683-7bf9e0e9305d
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.10  #修改IP地址
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=223.6.6.6
IPV6_PRIVACY=no
[root@oracle12g ~]# 

2.重启网卡
[root@oracle12g ~]# systemctl restart  network

3.检查IP地址
[root@oracle12g ~]# ip a



4.修改主机名
[root@oracle12g ~]# hostnamectl set-hostname  cmx (新主机名)
[root@oracle12g ~]# hostname
cmx

5.检查网卡
[root@Trac01 named]# cat /etc/resolv.conf 

#search localdomain
#下方的是生产环境的网卡,本虚拟机设置的是223.5.5.5,223.6.6.6
nameserver 10.1.98.14
nameserver 10.1.98.16

6.测试网络是否可用
[root@Trac01 network-scripts]# ping ractst.testdomain.com.cn
PING ractst.testdomain.com.cn (10.1.13.211) 56(84) bytes of data.
64 bytes from rac-scan02 (10.1.13.211): icmp_seq=1 ttl=64 time=1.43 ms
64 bytes from rac-scan02 (10.1.13.211): icmp_seq=2 ttl=64 time=0.328 ms

[root@Trac01 network-scripts]# host ractst.testdomain.com.cn  #域名
ractst.testdomain.com.cn has address 10.1.13.211
ractst.testdomain.com.cn has address 10.1.13.210

2.存储配置(模板机分配好的可跳过)

## 创建应用文件系统
i_appfs=oracle
i_appfs_size=20G
i_vgname=vg_root
i_fs_type=ext4
lvcreate -L $i_appfs_size -n lv_${i_appfs} $i_vgname
mkfs.${i_fs_type} /dev/mapper/${i_vgname}-lv_${i_appfs}
mkdir /${i_appfs}
cat >> /etc/fstab <<!
/dev/mapper/${i_vgname}-lv_${i_appfs} /${i_appfs} ${i_fs_type} acl,user_xattr 0 0
!
echo "----"
tail -2 /etc/fstab
mount -a

三、硬件要求

1.硬件最低配置要求

组件

内存需求

Oracle Grid Infrastructure installations
Oracle网格基础架构安装

4GB以上

Oracle Database installations
Oracle数据库安装

最小1GB,建议2GB以上

2.内存大小要求

至少1G的物理内存

[root@oracle12g ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.8G        778M        1.7G         21M        1.4G        2.8G
Swap:          3.9G          0B        3.9G

3.交换空间要求

RAM(内存)

Swap Space(交换分区)

Between 1 GB and 2 GB
介于1 GB和2 GB之间

1.5 times the size of RAM
RAM大小的1.5倍

Between 2 GB and 16 GB
介于2 GB和16 GB之间

Equal to the size of RAM
等于RAM的大小

More than 16 GB
超过16 GB

16 GB

4.临时空间要求

/tmp 目录的大小

/tmp目录中大约1.0GB(1024MB)的磁盘空间(并且小于2TB的磁盘空间)。

用于数据库软件的大约4.4GB的本地磁盘空间。

大约1.7GB的磁盘空间,用于使用文件系统存储的预配置数据库(可选)。

[root@oracle12g ~]# df -h /tmp
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/centos_oracle12g-root   38G  4.8G   33G  13% /

[root@oracle12g ~]# df -h 
Filesystem                         Size  Used Avail Use% Mounted on
devtmpfs                           2.0G     0  2.0G   0% /dev
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              2.0G   13M  2.0G   1% /run
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/centos_oracle12g-root   38G  4.8G   33G  13% /
/dev/sda1                         1014M  172M  843M  17% /boot
/dev/mapper/centos_oracle12g-home   19G   33M   19G   1% /home
tmpfs                              394M   28K  394M   1% /run/user/0
/dev/sr0                           4.4G  4.4G     0 100% /run/media/root/CentOS 7 x86_64

四、软件要求

1.版本要求

这个不限制,生产环境用官方正版产品,测试环境随意喽

版本要求:Redhat Linux Enterprise 7.3

2.操作系统内核要求

Red Hat Enterprise Linux 7
Oracle Linux 7
Unbreakable Enterprise Kernel (ueknano) 4.1.12-124.23.4 or later.

查看系统内核版本一般有两种方式:

1、cat /proc/version
[root@oracle12g ~]# cat /proc/version 
Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020

2、uname -a
[root@oracle12g ~]# uname -a
Linux cmx 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

3.禁用防火墙

ps:基础环境已优化,可跳过(或检查一遍)

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

4.禁用SELinux

ps:基础环境已优化,可跳过(或检查一遍)

1.先临时将delinxu关闭
setenforce 0

2.在配置文件中更改,实现永久关闭
[root@oracle tmp]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled        修改为disable
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

3.检查
[root@oracle tmp]# getenforce 
Enforcing        #开启

[root@oracle tmp]# getenforce 
Permissive       #关闭

5.配置Hosts文件

修改每个结点的”/etc/hosts”文件加入如下内容:
#以实际生产环境为准,自行配置
# hostname for oracle rac node1

[root@cmx ~]# cat   /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.100  oracle

6.修改系统内核参数

每一个种类机器内核参数都不一定是一样的,比如,IBM,hp服务器,很可能不一样,参数也和机器的配置有关系的(比如内存多少,CPU核心数等等因素有关),查询出来的参数才是正确的参数。

生产环境内核参数配置
vi /etc/sysctl.conf

fs.aio-max-nr = 6553600
kernel.hung_task_timeout_secs = 120
net.ipv4.neigh.default.gc_thresh1 = 20480
net.ipv4.neigh.default.gc_thresh2 = 40960
net.ipv4.neigh.default.gc_thresh3 = 81920
net.ipv6.conf.all.dad_transmits = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.all.accept_dad = 0
net.ipv6.conf.default.accept_dad = 0

fs.file-max = 6815744
kernel.sem = 10000  10240000 10000 1024
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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 = 40960000
vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
vm.swappiness=10
vm.nr_hugepages = 153600
vm.min_free_kbytes=524288
net.ipv4.conf.all.rp_filter = 0
kernel.panic_on_oops=1
net.ipv4.ipfrag_high_thresh=16640000
net.ipv4.ipfrag_low_thresh=15600000
net.ipv4.ipfrag_time=60

#让内核参数生效
/sbin/sysctl -p
自己虚拟机内核参数配置
在正式安装Oracle前,需要查出当前的系统内核在使用的参数,这些参数尤其是关于内存的参数基本都是最优的。

1.查看系统的内核参数
[root@oracle ~]# sysctl -a |grep shm
kernel.shm_next_id = -1
kernel.shm_rmid_forced = 0
kernel.shmall = 18446744073692774399    #共享内存参数
kernel.shmmax = 18446744073692774399    #共享内存参数最大值
kernel.shmmni = 4096                    #共享内存参数最小值

[root@oracle ~]# sysctl -a |grep fs.aio
fs.aio-max-nr = 1048576     #io读写参数
fs.aio-nr = 0

[root@oracle ~]# sysctl -a |grep fs.file
fs.file-max = 380941        #最大打开文件数
fs.file-nr = 8384	0	380941
fs.xfs.filestream_centisecs = 3000

[root@oracle ~]# sysctl -a |grep sem
kernel.sem = 250	32000	32	128           
#	以kernel.sem = 250 32000 100 128为例:
	250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
	32000是参数semmns的值,表示系统内可允许的信号量最大数目。
	100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
	128是参数semmni的值,表示系统信号量集合总数。
kernel.sem_next_id = -1

[root@oracle ~]# sysctl -a |grep net.core.rmem
net.core.rmem_default = 212992             #接收套接字缓冲区大小的默认值(以字节为单位)
net.core.rmem_max = 212992                 #接收套接字缓冲区大小的最大值(以字节为单位)

[root@oracle ~]# sysctl -a |grep net.core.wmem
net.core.wmem_default = 212992             #发送套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_max = 212992                 #用来限制监听(listen)队列最大数据包的数量,超过这个数量就会导致链接超时或者触发重传机制

[root@oracle ~]# sysctl -a |grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768	60999  #允许本机允许对外的端口映射范围

2.将原本的内核参数备份
   cp /etc/sysctl.conf /etc/sysctl.conf.backup

3.根据查询出来的参数,配置本机sysctl.conf文件
   vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2061395968
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


4.执行如下命令使修改的参数生效:
/sbin/sysctl -p

内核参数详解

1.kernel.shmmax*
	用于定义单个共享内存段的最大值,shmmax设置的应该足够大,能在一个共享内存段下容纳下整个的SGA

官方建议值:
	32位linux系统:可取最大值为4GB(4294967296bytes) -1byte,即4294967295。建议值为多于内存的一半,所以如果是32位系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

	64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。

2.kernel.shmall*
	用来控制可以使用的共享内存的总页数。该参数大小为物理内存除以pagesize(linux共享内存页大小为4kb)
	查看os系统页的大小
	[root@oracle tmp]# getconf PAGESIZE
	4096

3.kernel.shmmni*
	shmmni参数是共享内存段的最大数量(注意这个参数不是 shmmin,是shmmni, shmmin 表示内存段最小大小)
	shmmni缺省值4096,一般肯定是够用了

4.fs.feil-max*
	fs.file-max参数决定了系统中所允许的文件最大数据,文件句柄设置代表linux系统中可以打开的文件的数量
	fs.file-max为512 乘以 processes。
	如128个process,则file-max=512*128=65536。

5.fs.aio-max-nr*
	限制并发为完成的请求,应该设置避免i/o子系统故障

6.kernel.sem
	以kernel.sem = 250 32000 100 128为例:
	250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
	32000是参数semmns的值,表示系统内可允许的信号量最大数目。
	100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
	128是参数semmni的值,表示系统信号量集合总数。

7.net.ipv4.ip_local_prot_range
	表示应用程序可使用的ipv4端口范围

8.net.core.rmem_default
	表示套接字接收缓冲区大小的缺省值

9.net.core.rmem_max
	表示套接字接收缓冲区大小的最大值

10.net.core.wmem_default
	表示套接字发送缓冲区大小的缺省值

11.net.core.wmem_max
	表示套接字发送缓冲区大小的最大值

原文链接:https://blog.csdn.net/Ruishine/article/details/121357983

7.配置时间同步服务

ps:基础环境已优化,可跳过(或检查一遍)

主机组会自动配置好时间同步(Chrony)
		检查个各节点时间同步源状态:
[root@oracle tmp]# chronyc sourcestats –v
210 Number of sources = 0
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================


如果不使用ntp,使用Oracle自有的CTSS,则需要停掉ntp,两节点都需要运行。
/sbin/service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
chkconfig ntpd --list
rm /var/run/ntpd.pid  -- 此文件保存了 NTP 后台程序的 pid

8.检查软件包版本,查漏补缺

在公司部署的时候,自己的虚拟机是没网的状态,可以自己用热点让机器联网,然后进行软件包检测

Oracle建议安装操作系统时使用default software packages (RPMs)而不是使用自定义RPM包

 
1.必须安装的如下软件包(版本与内核有关):
binutils-2.17.50.0.6-6.el5 (x86_64) 
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-61 (x86_64) << both ARCH's are required. See next line. 
compat-libstdc++-33-3.2.3-61 (i386) << both ARCH's are required. See previous line. 
elfutils-libelf-0.125-3.el5 (x86_64) 
glibc-2.5-24 (x86_64) << both ARCH's are required. See next line. 
glibc-2.5-24 (i686) << both ARCH's are required. See previous line. 
glibc-common-2.5-24 (x86_64) 
ksh-20060214-1.7 (x86_64) 
libaio-0.3.106-3.2 (x86_64) << both ARCH's are required. See next line. 
libaio-0.3.106-3.2 (i386) << both ARCH's are required. See previous line. 
libgcc-4.1.2-42.el5 (i386) << both ARCH's are required. See next line. 
libgcc-4.1.2-42.el5 (x86_64) << both ARCH's are required. See previous line. 
libstdc++-4.1.2-42.el5 (x86_64) << both ARCH's are required. See next line. 
libstdc++-4.1.2-42.el5 (i386) << both ARCH's are required. See previous line. 
make-3.81-3.el5 (x86_64) 
The remaining Install Guide requirements will have to be installed: 
elfutils-libelf-devel-0.125-3.el5.x86_64.rpm 
a.) requires elfutils-libelf-devel-static-0.125-3.el5.x86_64.rpm as a prerequisite, as listed below. 
b.) elfutils-libelf-devel and elfutils-libelf-devel-static each depend upon the other. Therefore, they must be installed together, in one (1) "rpm -ivh" command as follows: 
rpm -ivh elfutils-libelf-devel-0.125-3.el5.x86_64.rpm elfutils-libelf-devel-static-0.125-3.el5.x86_64.rpm 
glibc-headers-2.5-24.x86_64.rpm 
a.) requires kernel-headers-2.6.18-92.el5.x86_64.rpm as a prerequisite, as listed below 
glibc-devel-2.5-24.x86_64.rpm << both ARCH's are required. See next item. 
glibc-devel-2.5-24.i386.rpm << both ARCH's are required. See previous item. 
gcc-4.1.2-42.el5.x86_64.rpm 
a.) requires libgomp-4.1.2-42.el5.x86_64.rpm as a prerequisite, as listed below 
libstdc++-devel-4.1.2-42.el5.x86_64.rpm 
gcc-c++-4.1.2-42.el5.x86_64.rpm 
libaio-devel-0.3.106-3.2.x86_64.rpm << both ARCH's are required. See next item 
libaio-devel-0.3.106-3.2.i386.rpm << both ARCH's are required. See previous item. 
sysstat-7.0.2-1.el5.x86_64.rpm 
unixODBC-2.2.11-7.1.x86_64.rpm << both ARCH's are required. See next item 
unixODBC-2.2.11-7.1.i386.rpm << both ARCH's are required. See previous item. 
unixODBC-devel-2.2.11-7.1.x86_64.rpm << both ARCH's are required. See next item 
unixODBC-devel-2.2.11-7.1.i386.rpm << both ARCH's are required. See previous item.


	2.可使用如下命令查询这些软件的安装情况:
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
compat-libstdc++-33 \
compat-libcap1 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libXp \
make \
sysstat \
unixODBC \
unixODBC-devel


	3.或者使用如下命令每个安装
yum install binutils -y 
yum install compat-libcap1 -y 
yum install compat-libstdc++-33 -y 
yum install compat-libstdc++-33.i686 -y 
yum install gcc -y 
yum install gcc-c++ -y 
yum install glibc -y 
yum install glibc.i686 -y 
yum install glibc-devel -y 
yum install glibc-devel.i686 -y 
yum install ksh -y 
yum install libgcc -y 
yum install libgcc.i686 -y 
yum install libstdc++ -y 
yum install libstdc++.i686 -y 
yum install libstdc++-devel -y 
yum install libstdc++-devel.i686 -y 
yum install libaio -y 
yum install libaio.i686 -y 
yum install libaio-devel -y 
yum install libaio-devel.i686 -y 
yum install libXext -y 
yum install libXext.i686 -y 
yum install libXtst -y 
yum install libXtst.i686 -y 
yum install libX11 -y 
yum install libX11.i686 -y 
yum install libXau -y 
yum install libXau.i686 -y 
yum install libxcb -y 
yum install libxcb.i686 -y 
yum install libXi -y 
yum install libXi.i686 -y 
yum install make -y 
yum install sysstat -y 
yum install unixODBC -y 
yum install unixODBC-devel –y



#安装xmange图像化界面
yum grouplist
yum groupinstall “X Window System”
yum groupinstall Desktop
yum install xterm -y
yum install xclock -y
配置oracleyum源(非生产环境,使用引导文件按照时可自行配置)

1.oracle yum源下载
wget http://public-yum.oracle.com/public-yum-ol7.repo

2.oracle密钥认证
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

9.安全配置

修改/etc/pam.d/login文件,对用户会话强制执行资源限制。

[root@oracle ~]# vim /etc/pam.d/login

session required pam_limits.so

10.Limit配置

修改grid及oracle用户的/etc/security/limits.conf文件
vim /etc/security/limits.conf

oracle   soft   nofile    65536
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    32768
oracle   hard   stack    32768
oracle   soft   memlock    476354830
oracle   hard   memlock    476354830

检查
[root@cmx oracle]# tail -f /etc/security/limits.conf
# End of file

oracle          soft    nproc           2047
oracle          hard    nproc           16384
oracle          soft    nofile          1024
oracle          hard    nofile          65536
oracle          soft    stack           10240 
oracle          hard    stack           32768
oracle   soft   memlock    475008959
oracle   hard   memlock    475008959

五、安装oracle服务

1.创建用户及组

1.查看组:
grep dba /etc/group

2.创建组:
groupadd -g 301 oinstall
groupadd -g 302 dba

3.检查
[root@oracle12g ~]# tail -f /etc/group
postdrop:x:90:
postfix:x:89:
ntp:x:38:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
cmx:x:1000:cmx
oinstall:x:301:
dba:x:302:

4.创建oracle用户
#-g 组名称
#-G 从属主 
#-u 使用者id
[root@oracle12g ~]# useradd -g oinstall -G dba -u 301 oracle

5.修改oracle用户密码
#密码为1
echo "oracle:1" |chpasswd

6.切换oracle用户检查
su  - oracle
#su root 切换回root用户

su - root

2.配置目录

#在root用户下操作
su - root

mkdir -p  /oracle
mkdir -p  /oradata
chown -R oracle:oinstall /oracle
chown -R oracle:oinstall /oradata
chmod -R 775 /oracle
chmod -R 775 /oradata
ll /oracle -d
ll /oradata -d

3.配置环境变量

1.设置Oracle环境变量
#切换用户
su - oracle
#切换为当前用户家目录
cd

#编辑profile文件
vi .bash_profile
#SID要进行修改

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup program
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/dbsoft/product/12cr2
export ORACLE_SID=dgmaster
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
PATH=$PATH:$HOME/bin
export PATH


2.让环境变量生效
source .bash_profile

3.测试


[oracle@dgmaster ~]$ echo $ORACLE_SID
dgmaster

4.解压软件

1.切换用户
su - oracle

2.创建目录
[oracle@cmx root]$ mkdir -p /oracle/soft

3.切换目录
[oracle@cmx root]$ cd  /oracle/soft

4.上传压缩保
[oracle@cmx soft]$ ls  /oracle/soft
#上传压缩包
linuxx64_12201_database.zip
#可以在windows直接传送到指定IP的服务器上
$ scp linuxx64_12201_database.zip   oracle@10.0.0.100:/oracle/soft/


5.解压压缩包
[oracle@cmx soft]$ unzip linuxx64_12201_database.zip 

6.检查
[oracle@cmx soft]$ ll
total 3372752
drwxr-xr-x 7 oracle oinstall        117 Jan 27  2017 database
-rw-r--r-- 1 root   root     3453696911 Jun 14 00:17 linuxx64_12201_database.zip

5.调整显示参数(在虚拟机中操作)

方法一:

用XMANAGER连接服务器,切换到ORACLE用户,设置DISPLAY变量,运行 runInstaller安装程序
#su – oracle
$ xhost +
$ export DISPLAY=10.0.0.200:0.0

方法二:

6.安装数据库软件

1.切换oracle用户
su oracle
#检查当前用户
id

2.切换目录
[oracle@cmx soft]$ cd /oracle/soft/database/

3.开启安装
[oracle@cmx database]$ ./runInstaller
#开始安装需要进行检查,多等待一下

su - root
sh /oracle/oraInventory/orainstRoot.sh
sh /oracle/dbsoft/product/12cr2/root.sh

7.安装数据库

oracle用户运行 dbca

生产环境这样配置

https://10.0.0.100:5500/em

8.检查监听

检查监听状态
lsnrctl status

若未配置监听,使用下方流程进行配置

natca向导方式创建监听

[oracle@cmx ~]$ sh /oracle/dbsoft/product/12cr2/bin/netca

1.检查监听器的状态
[oracle@cmx ~]$ lsnrctl status

2.查看动态监听
[oracle@cmx /oracle/product/12.2.0/dbhome_1/network/admin]$ cat  $ORACLE_HOME/network/admin/listener.ora
# listener.ora Network Configuration File: /oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

六. 数据库配置调整

1配置PDB默认随CDB 自启动

#修改
SQL> ALTER PLUGGABLE DATABASE ORACLE12C(PDB的名字)   save state;

Pluggable database altered.

#检测
select con_name, state from dba_pdb_saved_states;

CON_NAME
--------------------------------------------------------------------------------
STATE
--------------
ORACLE12C
OPEN

2.数据库日志文件大小调整,建议修改为 1024M

1.修改会话为cdb容器
SQL> alter session set container=CDB$ROOT;

Session altered.

2.查看当前日志文件的大小
SQL>  SELECT group#, bytes/1024/1024 AS size_mb
FROM v$log; 

    GROUP#    SIZE_MB
---------- ----------
         1        200
         2        200
         3        200


3.查看redo日志文件
SQL> select group#, member from v$logfile;

    GROUP#            MEMBER

         3
/oradata/oracle12/redo03.log

         2
/oradata/oracle12/redo02.log

         1
/oradata/oracle12/redo01.log


4.添加几组redo日志文件,大小为1024m
举例: alter database add logfile group 4(修改) '/oradata/oracle12/redo04(序号修改).log' size 1024m;

alter database add logfile group 4 '/oradata/oracle12/redo04.log' size 1024m;
alter database add logfile group 5 '/oradata/oracle12/redo05.log' size 1024m;
alter database add logfile group 6 '/oradata/oracle12/redo06.log' size 1024m;

select * from v$log;
alter system switch logfile;
alter system checkpoint;  
直到 非CURRENT且是 INCATIVE 状态。

5.删除旧的redo日志
#在删除redo日志组时,Inactive状态对应的redo group才能进行alter database drop logfile group操作。
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.

status 有四种状态:

UNUSED: 新添加的日志组,还没有使用 ;

INACTIVE: 日志组对应的脏块已经从 data buffer 写入到 data file ,可以覆盖 ;

ACTIVE: 日志组对应的脏块还没有从 data buffer 写入到 data file,不能被覆盖 ;

CURRENT: 当前日志组,日志组对应的脏块还没有从 data buffer 写入到 data file,不能被覆盖 ;

THREAD: 线程(通过后台进程 lgwr 启动),在单实例的环境下,thread# 永远是 1 ;

SEQUENCE: 日志序列号。在日志切换时会递增 ;

FIRST_CHANGE#: 在当前日志中记录的首个数据块的 scn。(当事务完成的时候会在数据块上写入一个 scn,代表数据块的变化)。

3.数据库Undo表空间大小调整

1.修改会话为cdb
alter session set container=CDB$ROOT;

2.查看undo表空间存放位置
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name = 'UNDOTBS1';

FILE_NAME                          TABLESPACE_NAME

/oradata/oracle12/undotbs01.dbf    UNDOTBS1


3.修改undo表空间的大小
alter database datafile '/oradata/oracle12/undotbs01.dbf' resize 10240m;

4.数据库temp表空间大小调整

1.修改会话为pdb
SQL> alter session set container=ORACLE12C;

2.查看temp表空间的路径
select name, bytes/1024/1024 as "大小(M)" from v$tempfile order by bytes;
NAME    大小(M)

/oradata/oracle12/oracle12c/temp01.dbf            64


3.修改temp表空间的大小
SQL> alter database tempfile '/oradata/oracle12/oracle12c/temp01.dbf' resize 10240m;
Database altered.

5.文件系统库配置service

1.修改会话为pdb
SQL> alter session set container=ORACLE12C;

创建一个服务
SQL> exec dbms_service.create_service('cmx2', 'cmx2');

启动一个服务
SQL> exec dbms_service.start_service('cmx2');
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值