1、给虚拟机添加一块硬盘,并格式化
[[email protected] ~]# systemctl stop firewalld.service ##关闭防火墙
[[email protected] ~]# setenforce 0
[[email protected] ~]# systemctl disable firewalld.service ##开启不自动启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[[email protected] ~]# fdisk /dev/sdb ##分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xbb26ef93 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n ##创建
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p ##主分区
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, 扇区 or size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w ##保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[[email protected] ~]# mkfs.xfs /dev/sdb1 ##格式化
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[[email protected] ~]#
[[email protected] ~]# vim /etc/hostname
localhost.localdomain
HOSTNAME=oracle ##修改主机名(添加)
[[email protected] ~]# ifconfig ##查询IP地址
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.52.150 netmask 255.255.255.0 broadcast 192.168.52.255
inet6 fe80::5134:22f5:842b:5201 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0d:f1:75 txqueuelen 1000 (Ethernet)
RX packets 956 bytes 80659 (78.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 369 bytes 49985 (48.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[[email protected] ~]# vim /etc/hosts
192.168.52.150 oracle ##本地解析
[[email protected] ~]# init 6 ##重启
2、挂载分区,修改系统环境和用户环境
[[email protected] ~]# mkdir /orc
[[email protected] ~]# mount /dev/sdb1 /orc/ ##挂载
[[email protected] ~]# df -h ##查看挂载点
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 20G 3.3G 17G 17% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.0M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 6.0G 179M 5.9G 3% /boot
/dev/mapper/centos-home 10G 37M 10G 1% /home
tmpfs 183M 12K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb1 20G 33M 20G 1% /orc
[[email protected] ~]#
[[email protected] ~]# yum -y install binutils compat-libcap1 compat-libstdc -33 gcc gcc-c glibc glibc-devel ksh libaio libaio-devel libgcc libstdc libstdc -devel libXi libXtst make sysstat unixODBC unixODBC-devel
##安装环境必要的组件
[[email protected] ~]# vim /etc/sysctl.conf ##修改内核参数
fs.aio-max-nr = 1048576
#异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K个
fs.file-max = 6815744
#打开的文件句柄的最大数量,防止文件描述符耗尽的问题
kernel.shmall = 2097152
#共享内存总量,页为单位,内存除以4K所得
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#SEMMSL:每个信号集的最大信号数量SEMMNS:用于控制整个Linux系统中信号的最大数
#SEMOPM:内核参数用于控制每个semop系统调用可以执行的信号操作的数量
#SEMMNI :内核参数用于控制整个Linux系统中信号集的最大数量
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
#套接字发送缓冲区大小的最大值
[[email protected] ~]# sysctl -p ##加载
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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
[[email protected] ~]#
[[email protected] ~]# groupadd oinstall ##创建用户组
[[email protected] ~]# groupadd dba
[[email protected] ~]# useradd -g oinstall -G dba oracle ##创建系统用户
[[email protected] ~]# passwd oracle ##创建密码
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[[email protected] ~]#
[[email protected] ~]# mkdir -p /orc/app/oracle ##创建目录
[[email protected] ~]# chown -R oracle.oinstall /orc/app/ ##给与属组属主
[[email protected] ~]# chmod -R 755 /orc/app/oracle/ ##给与权限
[[email protected] ~]# vim /home/oracle/.bash_profile ##修改Oracle自己的环境变量
# User specific environment and startup programs
umask 022 ##权限
ORACLE_BASE=/orc/app/oracle ##文件路径
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/ ##*目录
ORACLE_SID=orcl ##实例
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8 ##简体中文
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin ##命令导入环境变量
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
##导入到系统环境变量中
3、oracle用户资源限制
[[email protected] ~]# vim /etc/pam.d/login ##修改pam_limits认证模块
##在password include system-auth下面插入
session required /lib/security/pam_limits.so
session required pam_limits.so
[[email protected] ~]# vim /etc/security/limits.conf ##修改limits配置文件
oracle soft nproc 2047
#单用户可使用的进程数量
oracle hard nproc 16384
oracle soft nofile 1024
#用户可打开的文件数量
oracle hard nofile 65536
oracle soft stack 10240
#堆栈设置
[[email protected] ~]# vim /etc/profile ##修改环境变量
##末行插入
if [ $USER = "oracle" ]
then
if [ $SHELL = "/bin/ksh" ]
then
ulimit -p 16384 #缓冲区大小
ulimit -n 65536 #文件数
else
ulimit -u 16384 -n 65536 #进程数 文件数
fi
fi
[[email protected] ~]# mkdir /mnt/tools
[[email protected] ~]# mount.cifs //192.168.100.100/tools /mnt/tools/ ##挂载
Password for [email protected]//192.168.100.100/tools:
[[email protected] ~]# cd /mnt/tools/oracle/
[[email protected] oracle]# ls
install response rpm runInstaller sshsetup stage welcome.html ##查看安装脚本
4、使用图形化界面用oracle用户进行安装
[[email protected] ~]# xhost ##以root用户在图形化界面操作
access control disabled, clients can connect from any host
[[email protected] ~]# su - oracle ##切换oracle用户
[[email protected] ~]$ export DISPLAY=:0.0 ##设置DISPLAY环境变量, 用以运行图形程序
[[email protected] ~]$ cd /mnt/tools/oracle/
[[email protected] oracle]$ ls
install response rpm runInstaller sshsetup stage welcome.html
[[email protected] database-Oracle]$ ./runInstaller ##执行安装脚本
正在启动 Oracle Universal Installer...
检查临时空间: 必须大于 500 MB。 实际为 16860 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 4095 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2019-12-12_01-54-52PM. 请稍候...
5、进行图形化安装
(1)不选择安全更新,下一步
(2)选择创建和配置数据库,下一步
(3)选择服务器类,下一步
(4)选择单实例安装,下一步
(5)选择典型安装,下一步
(6)输入超级管理员密码,下一步
(7)默认进行下一步
(8)查看清单,进行安装
(9)进度为79%时,需要切换到远程终端登录,用root执行下面的两个脚本
[[email protected] oracle]# /orc/app/oraInventory/orainstRoot.sh ##用root用户执行
更改权限/orc/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/orc/app/oraInventory 到 oinstall.
脚本的执行已完成。
[[email protected] oracle]# /orc/app/oracle/product/12.2.0/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /orc/app/oracle/product/12.2.0/dbhome_1
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.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : ##选择yes
yes
Installing Oracle Trace File Analyzer (TFA).
Log File: /orc/app/oracle/product/12.2.0/dbhome_1/install/root_oracle_2019-12-12_14-13-30-822286981.log
Finished installing Oracle Trace File Analyzer (TFA)
[[email protected] oracle]#