一、給虛擬機添加一塊硬盤,並格式化
[root@localhost ~]# systemctl stop firewalld.service ##關閉防火牆
[root@localhost ~]# setenforce 0
[root@localhost ~]# 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.
[root@localhost ~]# 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.
正在同步磁盤。
[root@localhost ~]# 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
[root@localhost ~]#
[root@localhost ~]# vim /etc/hostname
localhost.localdomain
HOSTNAME=oracle ##修改主機名(添加)
[root@localhost ~]# 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
[root@localhost ~]# vim /etc/hosts
192.168.52.150 oracle ##本地解析
[root@localhost ~]# init 6 ##重啓
二、掛載分區,修改系統環境和用戶環境
[root@oracle ~]# mkdir /orc
[root@oracle ~]# mount /dev/sdb1 /orc/ ##掛載
[root@oracle ~]# 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
[root@oracle ~]#
[root@oracle ~]# 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
##安裝環境必要的組件
[root@oracle ~]# 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
#套接字發送緩衝區大小的最大值
[root@oracle ~]# 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
[root@oracle ~]#
[root@oracle ~]# groupadd oinstall ##建立用戶組
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba oracle ##建立系統用戶
[root@oracle ~]# passwd oracle ##建立密碼
更改用戶 oracle 的密碼 。
新的 密碼:
無效的密碼: 密碼少於 8 個字符
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。
[root@oracle ~]#
[root@oracle ~]# mkdir -p /orc/app/oracle ##建立目錄
[root@oracle ~]# chown -R oracle.oinstall /orc/app/ ##給與屬組屬主
[root@oracle ~]# chmod -R 755 /orc/app/oracle/ ##給與權限
[root@oracle ~]# 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
##導入到系統環境變量中
三、oracle用戶資源限制
[root@oracle ~]# vim /etc/pam.d/login ##修改pam_limits認證模塊
##在password include system-auth下面插入
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@oracle ~]# 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
#堆棧設置
[root@oracle ~]# 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
[root@oracle ~]# mkdir /mnt/tools
[root@oracle ~]# mount.cifs //192.168.100.100/tools /mnt/tools/ ##掛載
Password for root@//192.168.100.100/tools:
[root@oracle ~]# cd /mnt/tools/oracle/
[root@oracle oracle]# ls
install response rpm runInstaller sshsetup stage welcome.html ##查看安裝腳本
四、使用圖形化界面用oracle用戶進行安裝
[root@oracle ~]# xhost + ##以root用戶在圖形化界面操做
access control disabled, clients can connect from any host
[root@oracle ~]# su - oracle ##切換oracle用戶
[oracle@oracle ~]$ export DISPLAY=:0.0 ##設置DISPLAY環境變量, 用以運行圖形程序
[oracle@oracle ~]$ cd /mnt/tools/oracle/
[oracle@oracle oracle]$ ls
install response rpm runInstaller sshsetup stage welcome.html
[oracle@oracle 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. 請稍候...
五、進行圖形化安裝
(1)不選擇安全更新,下一步
(2)選擇建立和配置數據庫,下一步
(3)選擇服務器類,下一步
(4)選擇單實例安裝,下一步
(5)選擇典型安裝,下一步
(6)輸入超級管理員密碼,下一步
(7)默認進行下一步
(8)查看清單,進行安裝
(9)進度爲79%時,須要切換到遠程終端登陸,用root執行下面的兩個腳本
[root@oracle oracle]# /orc/app/oraInventory/orainstRoot.sh ##用root用戶執行
更改權限/orc/app/oraInventory.
添加組的讀取和寫入權限。
刪除全局的讀取, 寫入和執行權限。
更改組名/orc/app/oraInventory 到 oinstall.
腳本的執行已完成。
[root@oracle 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)
[root@oracle oracle]#
執行完腳本後點擊肯定
(10)安裝完成