Linux 上安裝Oracle12C 數據庫流程


前情提要:

1. 實驗環境:Linux (RedHat7.6)+ Oracle 12C 

2. 實驗目的:完全是用於自己學習的實驗環境,下列所有截圖均是實驗環境截圖

3. VMware Workstation版本:WORKSTATION 15.5 PRO

4. 整個流程比較長,因為幾乎每一步都有截圖,生產環境中大體流程也是如此,細節部分根據生產環境實際情況來

 

安裝流程:

1. 創建虛擬機

1.1 自定義(高級)來安裝

1.2 虛擬機硬件兼容性選擇“workstation 15.x” (這里的兼容性是和物理機版本有關系,本實驗環境物理機是Windows10)

1.3 選擇“稍后安裝操作系統”

 

1.4 客戶機操作系統選擇“Linux(L)”,版本選擇“RedHat7 64位”

1.5 自定義虛擬機名稱及安裝路徑

 

1.6 處理器配置保持默認即可

1.7 虛擬機內存設置為物理機內存的一半即可(該實驗環境物理機內存為8G)

 

1.8 網絡連接建議使用橋接網絡(這樣可以保證虛擬機和物理機處於同一個網段)

1.9 I/O控制器類型保持默認即可

 

1.10 磁盤類型保持默認即可

1.11 選擇“創建新虛擬磁盤”

 

1.12 磁盤容量自定義,選擇“將虛擬磁盤存儲為單個文件”,后面還會再創建兩塊磁盤,每一塊磁盤都是專盤專用

1.13 自定義名字即可(此塊磁盤是用來存儲Linux 相關安裝)

 

1.14 最后點擊 “完成”

完成以上步驟,此時虛擬機是不能正常啟動的,因為還沒有加載鏡像文件,還需要進行下列步驟

1.15 點擊“編輯虛擬機設置”

 

1.16 點擊“添加”,此處要添加另外兩塊磁盤,其中一塊大小為20G,用來存放各種軟件,另外一塊大小為100G,用來存放安裝的數據庫以及后續數據庫中創建的各種表空間等都將使用此磁盤空間,添加新磁盤的各種選項與上面創建第一塊磁盤時相同,此處不在贅述

 

 

添加完成后,如下圖所示

 

1.17 加載鏡像文件

1.18 設置網絡,點擊VMware左上角的“編輯”選項,然后選擇“虛擬網絡編輯器”,點擊右下角的“更改設置”,選擇“橋接模式”,其中“已橋接至”后面要選擇物理機正在使用的網卡(注意:有線網卡和無線網卡不要選錯)選擇完成,點擊“確定”

 

1.19 點擊“開啟此虛擬機”

 

1.20 看到此界面后,鼠標點擊一下,然后用鍵盤的方向鍵,選擇到第一行,按下TAB鍵,然后空格,輸入 vga=791(此處是用來調整分辨率,也可忽略此步驟,直接選擇到第一行,按回車)

1.21 選擇“English” 點擊繼續

 

1.21 點擊繼續后,看到如下界面,其中時間和日期,設置成上海即可,鍵盤不用更改,語言支持(此處選擇中文--中文簡體)INSTALLATION SOURCE 選擇下圖的"Auto-detected installation media",SOFTWARE SELECTION 按照下圖選擇“Server with GUI” 勾選圖中的8個選項即可,

INSTALLATION SOURCE 選擇下圖的"Auto-detected installation media"

SOFTWARE SELECTION 按照下圖選擇“Server with GUI” 勾選圖中的8個選項即可

 

INSTALLATION DESTINATION 如下圖所示

選擇 標准分區

 

划分三個分區,/boot分區   /swap分區   /根分區  划分完成后,選擇"Done“,     "Accept Changes"   

 

SECURITY POLICY 選擇OFF,KDUMP選擇不啟用

 

NETWORK & HOST NAME 為了保證虛擬機IP地址不變,建議將其設置成靜態IP,hostname自定義即可

 

 

 

 

配置完成后,點擊"Begin Installation" 開始安裝,

 

這里要設置一下ROOT PASSWORD (密碼可以不滿足密碼復雜度要求)

 

完成安裝后點擊右下角的”Reboot“ 重啟,重啟完成后,有一個LICENSE 需要勾選一下,如下圖

這里需要創建一個用戶,並且設置密碼(此處的密碼需要滿足密碼復雜度要求)設置完成后,即可進入虛擬機,虛擬機創建成功。

 

 2.  創建文件系統,分區並格式化 /software/ 和 /u01/

 1 [root@oracle12c ~]# fdisk -l
 2 [root@oracle12c ~]# fdisk /dev/sdb --- 輸入n/回車/回車/回車/回車/w
 3 [root@oracle12c ~]# fdisk /dev/sdc --- 輸入n/回車/回車/回車/回車/w
 4 格式化
 5 [root@oracle12c ~]# mkfs.xfs /dev/sdb1
 6 [root@oracle12c ~]# mkfs.xfs /dev/sdc1
 7 創建目錄並授權
 8 [root@oracle12c ~]# mkdir /software/
 9 [root@oracle12c ~]# mkdir /u01
10 [root@oracle12c ~]# chmod -R 777 /software/
11 [root@oracle12c ~]# chmod -R 777 /u01/
12 掛載
13 [root@oracle12c ~]# mount /dev/sdb1 /software/
14 [root@oracle12c ~]# mount /dev/sdc1 /u01/
15 [root@oracle12c ~]# df -Th

3. 更改開機自啟文件,將掛載好的分區加入到開機自啟文件,這樣下次開機時便可自動掛載

 1 獲取分區的UUID
 2 [root@oracle12c ~]# blkid /dev/sdb1
 3 [root@oracle12c ~]# blkid /dev/sdc1
 4 [root@oracle12c ~]# vim /etc/fstab
 5 [root@oracle12c ~]# cat /etc/fstab
 6 
 7 #
 8 # /etc/fstab
 9 # Created by anaconda on Fri Nov 13 18:09:57 2020
10 #
11 # Accessible filesystems, by reference, are maintained under '/dev/disk'
12 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
13 #
14 UUID=4e6cd6f6-df6b-459f-a0b1-8586aba017cd /                       xfs     defaults        0 0
15 UUID=de906cc8-deed-4114-a3fa-2c46d53dc3b0 /boot                   xfs     defaults        0 0
16 UUID=87a2f0bb-4df6-4aab-b151-6f4ed8a4b8a6 swap                    swap    defaults        0 0
17 UUID=ac15bffc-cb81-4973-8d3c-ac082c408f59 /software        xfs    defaults    0 0
18 UUID=af29bc0a-b93b-43f4-8e81-d1b70950e778 /u01            xfs    defaults    0 0

4. 將所需的各種軟件包上傳到/software  目錄,然后連接光盤,配置YUM源

 1 [root@oracle12c ~]# mount /dev/cdrom /mnt
 2 mount: /dev/sr0 is write-protected, mounting read-only
 3 [root@oracle12c ~]# cd /etc/yum.repos.d/
 4 [root@oracle12c yum.repos.d]# ls
 5 redhat.repo
 6 [root@oracle12c yum.repos.d]# vim oracle12c.repo
 7 [root@oracle12c yum.repos.d]# cat oracle12c.repo
 8 [oracle12c.repo]
 9 name = oracle12c
10 baseurl = file:///mnt/
11 enable = 1
12 gpgcheck = 0
13 [root@oracle12c yum.repos.d]# yum repolist all
14 Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
15 This system is not registered with an entitlement server. You can use subscription-manager to register.
16 oracle12c.repo                                                                                                            | 4.3 kB  00:00:00
17 (1/2): oracle12c.repo/group_gz                                                                                            | 146 kB  00:00:00
18 (2/2): oracle12c.repo/primary_db                                                                                          | 4.2 MB  00:00:00
19 repo id                                                             repo name                                                      status
20 oracle12c.repo                                                      oracle12c                                                      enabled: 5,152
21 repolist: 5,152
22 [root@oracle12c yum.repos.d]#

5. 設置主機名,將其加入到配置文件中

1 [root@oracle12c ~]# hostname
2 oracle12c
3 [root@oracle12c ~]# echo "192.168.11.5 oracle12c" >> /etc/hosts
4 [root@oracle12c ~]# cat /etc/hosts
5 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
6 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
7 192.168.11.5 oracle12c
8 [root@oracle12c ~]#

6. 關閉防火牆,禁用SELINUX

 1 [root@oracle12c ~]# systemctl stop firewalld.service
 2 [root@oracle12c ~]# systemctl disable firewalld.service
 3 Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
 4 Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
 5 [root@oracle12c ~]# vim /etc/selinux/config
 6 [root@oracle12c ~]# cat /etc/selinux/config
 7 
 8 # This file controls the state of SELinux on the system.
 9 # SELINUX= can take one of these three values:
10 #     enforcing - SELinux security policy is enforced.
11 #     permissive - SELinux prints warnings instead of enforcing.
12 #     disabled - No SELinux policy is loaded.
13 SELINUX=disabled 14 # SELINUXTYPE= can take one of three values:
15 #     targeted - Targeted processes are protected,
16 #     minimum - Modification of targeted policy. Only selected processes are protected.
17 #     mls - Multi Level Security protection.
18 SELINUXTYPE=targeted
19 
20[root@oracle12c ~]#

7. RPM包檢測,賦予腳本執行權限

1 [root@oracle12c ~]#chmod +x rpminstall.sh---注意該文件的目錄位置
2 [root@oracle12c ~]#./rpminstall.sh

8. 創建Oracle用戶及相關組

 1 [root@oracle12c ~]# groupadd oinstall
 2 [root@oracle12c ~]# groupadd dba
 3 [root@oracle12c ~]# useradd -g oinstall -G dba -m oracle
 4 [root@oracle12c ~]# passwd oracle
 5 Changing password for user oracle.
 6 New password:
 7 BAD PASSWORD: The password is shorter than 8 characters
 8 Retype new password:
 9 passwd: all authentication tokens updated successfully.
10 [root@oracle12c ~]#

9. 更改官方要求的三個文件內容,最后執行 sysctl -p使其生效

  9.1 /etc/pam.d/login

1 [root@oracle12c ~]# echo "session required pam_limits.so" >> /etc/pam.d/login
2 [root@oracle12c ~]#

  9.2 /etc/security/limits.conf 

 1 [root@oracle12c ~]# vim /etc/security/limits.conf
 2 [root@oracle12c ~]# tail -10 /etc/security/limits.conf
 3 #ftp             hard    nproc           0
 4 #@student        -       maxlogins       4
 5 
 6 # End of file
 7 oracle soft nproc 16384
 8 oracle hard nproc 16384
 9 oracle soft nofile 65536
10 oracle hard nofile 65536
11 oracle soft stack 32768
12 oracle hard stack 32768
13 [root@oracle12c ~]#

  9.3 /etc/sysctl.conf

 1 [root@oracle12c ~]# vim /etc/sysctl.conf
 2 [root@oracle12c ~]# tail -15 /etc/sysctl.conf
 3 # name in /etc/sysctl.d/ and put new settings there.
 4 #
 5 # For more information, see sysctl.conf(5) and sysctl.d(5).
 6 fs.aio-max-nr = 1048576
 7 fs.file-max = 6815744
 8 kernel.sem = 250 32000 100 128
 9 net.ipv4.ip_local_port_range = 9000 65500
10 net.core.rmem_default = 262144
11 net.core.rmem_max = 4194304
12 net.core.wmem_default = 262144
13 net.core.wmem_max = 1048586
14 kernel.panic_on_oops = 1
15 kernel.shmmax = 5033164800
16 kernel.shmall = 1228800
17 kernel.shmmni = 4096
18 [root@oracle12c ~]#

其中:(生產環境與實驗環境不同之處)
kernel.shmmax = 內存大小*1024*1024*1024*0.9
kernel.shmall = kernel.shmmax/4096

[root@oracle12c ~]# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586
kernel.panic_on_oops = 1
kernel.shmmax = 5033164800
kernel.shmall = 1228800
kernel.shmmni = 4096
[root@oracle12c ~]#

10. 配置Oracle環境變量

 1 [root@oracle12c ~]# su - oracle --- 切換到Oracle用戶
 2 [oracle@oracle12c ~]$ vim .bash_profile
 3 [oracle@oracle12c ~]$ cat .bash_profile
 4 # .bash_profile
 5 
 6 # Get the aliases and functions
 7 if [ -f ~/.bashrc ]; then
 8     . ~/.bashrc
 9 fi
10 
11 # User specific environment and startup programs
12 
13 PATH=$PATH:$HOME/.local/bin:$HOME/bin
14 
15 export PATH
16 umask 022
17 export ORACLE_SID=OCP12C
18 export ORACLE_BASE=/u01/app/oracle
19 export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
20 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
21 export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
22 export TMP=/tmp
23 export TMPDIR=$TMP
24 export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
25 export EDITOR=vim
26 export TNS_ADMIN=$ORACLE_HOME/network/admin
27 export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
28 export SQLPATH=$ORACLE_HOME/sqlplus/admin
29 export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
30 alias sqlplus='rlwrap sqlplus'
31 alias rman='rlwrap rman'
32 alias asmcmd='rlwrap asmcmd'
33 [oracle@oracle12c ~]$

11. 更改/software/和/u01/目錄的擁有者,所屬組,並賦予相關權限,然后切換到Oracle用戶,解壓之前已經上傳好的數據庫軟件包

1 [root@oracle12c ~]# chown -R oracle:oinstall /software/
2 [root@oracle12c ~]# chmod -R 777 /software/---因為是實驗環境,所以授予777權限,生產環境要根據實際情況來
3 [root@oracle12c ~]# chown -R oracle:oinstall /u01/
4 [root@oracle12c ~]# chmod -R 777 /u01/
5 [root@oracle12c ~]# su - oracle
6 Last login: Fri Nov 13 22:48:59 CST 2020 on pts/1
7 [oracle@oracle12c ~]$ cd /software/
8 [oracle@oracle12c software]$ unzip 數據庫軟件包.zip

12. 解壓完成后,重啟虛擬機,然后在圖形化界面中必須以Oracle用戶身份登錄,登錄成功后,打開終端,開始進行數據庫軟件的安裝,安裝完成后,再進行數據庫的創建,具體步驟如下

13. 進入/software/database目錄,里面有一個runInstaller的文件,直接 ./runInstaller,調出圖形化安裝界面,各種選項如下圖所示:

 

僅安裝數據庫軟件

 

單實例安裝

 

Enterprise Edition

 

保持默認

 

保持默認

 

選擇dba即可

 

 

在安裝過程中,會出現一個窗口,需要執行窗口中的兩個腳本,需要切換到root用戶執行,執行完成后,點擊OK

 

點擊 close,數據庫軟件安裝完成,

 

 14. 數據庫軟件安裝完成后,開始建庫

 1 查看監聽狀態
 2 [oracle@oracle12c ~]$ lsnrctl status
 3 
 4 LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 13-NOV-2020 23:53:00
 5 
 6 Copyright (c) 1991, 2016, Oracle.  All rights reserved.
 7 
 8 Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
 9 TNS-12541: TNS:no listener
10  TNS-12560: TNS:protocol adapter error
11   TNS-00511: No listener
12    Linux Error: 111: Connection refused
13 使用netca創建監聽文件,next-->next-->next-->next-->next-->next-->next-->next-->Finish
14 [oracle@oracle12c ~]$ netca
15 
16 Oracle Net Services Configuration:
17 Configuring Listener:LISTENER
18 Listener configuration complete.
19 Oracle Net Listener Startup:
20     Running Listener Control: 
21       /u01/app/oracle/product/12.2.0.1/db_1/bin/lsnrctl start LISTENER
22     Listener Control complete.
23     Listener started successfully.
24 Oracle Net Services configuration successful. The exit code is 0
25 啟動監聽
26 [oracle@oracle12c ~]$ lsnrctl start
27 
28 LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 13-NOV-2020 23:56:27
29 
30 Copyright (c) 1991, 2016, Oracle.  All rights reserved.
31 
32 TNS-01106: Listener using listener name LISTENER has already been started

建庫的流程如下列各圖所示

 

 

下圖中建議Global database name 與 SID名字相同,如果不勾選Create as Container database 選項,則和11g是一樣的,這里勾選以后,就是創建容器數據庫,下面的PDB name 自定義

 

 

這里選擇不指定閃回區和不啟用歸檔

 

 

下圖中的兩個選項不要勾選

 

下圖中的Sample schemas選擇不勾選,因為后面會手動創建HR模式,如果勾選了,則會自動創建HR模式

 

不配置EM

 

下圖中的密碼設置時,密碼中不要包含 ”@" 字符,否則建庫失敗

 

 

 

這里一般情況下,超過4%不報錯,就可以建庫成功。

 

完成,點擊 close

 

 登錄數據庫,建庫成功。

 1 [oracle@oracle12c ~]$ sqlplus / as sysdba
 2 
 3 SQL*Plus: Release 12.2.0.1.0 Production on Sat Nov 14 00:47:14 2020
 4 
 5 Copyright (c) 1982, 2016, Oracle.  All rights reserved.
 6 
 7 
 8 Connected to:
 9 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
10 
11 SQL> show pdbs
12 
13     CON_ID CON_NAME              OPEN MODE  RESTRICTED
14 ---------- ------------------------------ ---------- ----------
15      2 PDB$SEED              READ ONLY  NO
16      3 ERP                  READ WRITE NO
17 SQL> 

 

 

以上流程便是在Linux上安裝Oracle12C 數據庫的全過程,基本上每一步都有截圖。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM