您好,登錄后才能下訂單哦!
在計算機信息安全領域中,數據庫系統無疑有著舉足輕重的地位。例如,微軟的SQL server、IBM的DB2,以及甲骨文公司的Oracle、MySQL等,都是比較知名的數據庫管理軟件,其中Oracle數據庫更是在電信、銀行、證券、交通等大型應用場合擁有著絕對領先的優勢。
這里我們就來說說Oracle 12c的安裝。
Oracle 12c明確支持的Linux操作系統包括Oracle Linux 7、Oracle Linux 6. Oracle Linux 5. Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 6. Red Hat Enterprise Linux 5. SUSE Linux Distributions .NeoKylin Linux Advanced Server Distributions。 因為Red Hat Enterprise 和CentOS屬于同步發行的操作系統,所以Oracle 12c也同樣支持CentOS7. CentOS6. CentOS5 操作系統。在其他Linux系統中安裝時,個別軟件或配置文件可能需要做適當調整。
Linux 系統要求:
- 物理內存: 必須高于1GB,對于VMware虛擬機建議不少于2GB.
- 交換空間: 物理內存為1~ 2GB時,交換分區為物理內存的1.5~2倍;物理內存為2~ 16GB時,交換分區與物理內存大小相同:物理內存超過16GB時,交換分區使用16GB 就可以了。
一、準備工作
系統配置要求
對于Oracle 12c 數據庫,若程序文件和數據文件安裝在同一分區,則該分區硬盤空間的最小要求為企業版6.4GB.標準版6.1GB,除此以外,還應確保/tmp 目錄的可用空間不少于1GB.總地
來說,建議為Oracle 12c 準備至少15GB的硬盤空間。
實驗環境下,如果不單獨給Oracle 創建分區,那么至少要保證根分區有15GB的可用磁盤空間。如果當前的磁盤空間不足,可以考慮在虛擬機中添加一塊硬盤,格式化為XFS文件系統。同時創建/u01目錄,將新創建的分區掛載到/u01目錄。還要記得修改/etc/fstab文件,讓其開機自動掛載。
安裝Oracle數據庫前,要求規劃好主機名和IP。服務器的主機名、IP 地址也應提前確定無誤.一旦 Oracle 數據庫安裝完成,建議不要再修改主機名,否則會導致數據庫啟動失敗。查看主機名可以通過hostname命令實現,修改主機名通過配置文件/etc/hosts實現
[root@oracle /]# hostname
oracle
[root@oracle /]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10 oracle
軟件環境要求
Oracle 12c 的安裝過程通常在圖形界面中進行,因此建議使用已安裝有GNOME中文桌面環境的CentOS服務器。軟件開發工具當然也是必不可少的,如gcc. glibc, binutils 等軟件包
[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
內核要求
為了確保數據庫運行穩定,Oracle 12c針對Linux內核參數.進程會話限制提出了一些要求,其中一部分設置可以在安裝過程中自動檢測并修復,但并不一定很完整 ,所以最好的做法是根據安裝文檔提前進行配置。
內核參數調整體現在/etc/sysctl .conf文件中,主要包括與內存調度.端口范圍、打開文件數.
VO請求等相關的一些設置,相關數值不可低于安裝要求。修改完畢后通過執行如下的"sysctl -p”命令使新配置立即生效。
[root@oracle /]# vim /etc/sysctl.conf # 編輯
................... // 省略部分內容
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 /]# 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
Oracle 用戶環境要求
Oracle 12c 需要固定的運行用戶oracle.安裝組oinsall.管理組dba,這些賬號應提前建好。用
來存放Oracle程序及數據庫文件的基本目錄(如/u01/app/oracle) 也應該提前創建好
[root@oracle /]# groupadd -g 54321 oinstall # 創建安裝組
[root@oracle /]# groupadd -g 54322 dba # 創建管理組
[root@oracle /]# useradd -u 54321 -g oinstall -G dba oracle # 創建運行用戶
[root@oracle /]# passwd oracle # 配置密碼
更改用戶 oracle 的密碼 。
新的 密碼:
無效的密碼: 密碼未通過字典檢查 - 過于簡單化/系統化
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@oracle /]# mkdir -p /u01/app/oracle # 創建基本目錄
[root@oracle /]# chown -R oracle:oinstall /u01/app/
[root@oracle /]# chmod -R 775 /u01/app/oracle/
Oracle 12c的安裝任務應以運行用戶oracle的身份執行,需適當調整oracle 用戶的環境配置以滿足要求:
[root@oracle /]# vim /home/oracle/.bash_profile
........................ // 省略部分內容
umask 022
ORACLE_BASE=/u01/app/oracle # 定義基本目錄
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/ # 定義安裝家目錄
ORACLE_SID=orcl # 定義數據庫實例名稱
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8 # 確定使用何種語言環境
PATH=$PATH:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
export DISPLAY=:0.0
Oracle 用戶資源限制要求
進程會話限制可以采用pam. Jimits認證模塊來實現.通過修改登錄程序login的PAM設置以啟用該認證,然后修改/etc/security/imits. conf 文件,使用戶oracle能夠打開的進程數.進程使用的文件數加大
[root@oracle /]# vim /etc/pam.d/login
................... // 省略部分內容
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@oracle /]# vim /etc/security/limits.conf
................ // 省略部分內容
oracle soft nproc 2047 # 進程數軟限制
oracle hard nproc 16384 # 進程數硬限制
oracle soft nofile 1024 # 文件數軟限制
oracle hard nofile 65536 # 文件數硬限制
oracle soft stack 10240 # Oracle 軟堆棧限制
[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
不配置oracle用戶資源限制部分,也不會影響Oracle數據庫的成功安裝,但是,若有糟糕的SQL語句對服務器的資源無限占用,導致長時間對用戶請求無響應,則建議提前限制oralce用戶資源,準備工作完成后重啟操作系統,重啟之后再次檢查之前的配置是否生效,建議不要做臨時配置。
二、安裝 Oracle
Oracle的中文官方網址為https ://www . oracle .com/cn.它支持Oracle 12c安裝文件的免費下載(需注冊賬號).正確選擇所使用的系統平臺(如Linux x86-64),然后下載linuxx64 .12201.database .zip這個ZP壓縮包到/tmp/abc文件夾(自行創建).解壓后可獲得database文件夾, Oracle 的安裝腳本.產品手冊等文檔都位于此文件夾中
也可下載本人提供的安裝包:
開始安裝
[root@oracle /]# mkdir /tmp/abc # 為什么要在tmp下創個目錄呢,因為tmp的權限都放開了,一會需要切換Oracle用戶來進行安裝
[root@oracle /]# cd /tmp/abc/
[root@oracle abc]# ls
flash-player-npapi-26.0.0.131-release.x86_64.rpm linuxx64_12201_database.zip
[root@oracle abc]# unzip linuxx64_12201_database.zip
[root@oracle abc]# ls database/
install response rpm runInstaller sshsetup stage welcome.html
Oracle 12c 的安裝主要通過runlsaller 腳本進行,訪問網頁welcome .html可以查閱產品手冊,其中包括產品說明,發行注記、安裝指南等文檔,為管理員提供了極為豐富的幫助信息。
所有前置條件都準備好以后,就可以正式開始安裝了。如果當前的圖形桌面環境是以其他用戶的身份(如root)登錄的,則還應添加授權以允許用戶oracle 使用圖形終端。例如,“xhost +
oracle@localhost" 表示 允許用戶oracle從本機訪問,執行,xhost+” 表示取消所有 限制。
以用戶oracle的身份登錄到CentOS的圖形桌面環境,啟動database/ 目錄下的runstaller腳本文件
[root@oracle abc]# xhost + # 一定要以root用戶在圖形環境中操作
access control disabled, clients can connect from any host
[root@oracle abc]# su - oracle # 切換為 Oracle用戶
[oracle@oracle ~]$ cd /tmp/abc/database/
[oracle@oracle database]$ ./runInstaller
正在啟動 Oracle Universal Installer...
檢查臨時空間: 必須大于 500 MB。 實際為 28334 MB 通過
檢查交換空間: 必須大于 150 MB。 實際為 2047 MB 通過
檢查監視器: 監視器配置至少必須顯示 256 種顏色。 實際為 16777216 通過
準備從以下地址啟動 Oracle Universal Installer /tmp/OraInstall2019-12-11_09-32-31PM. 請稍候...
[root@oracle /]# /u01/app/oraInventory/orainstRoot.sh # 直接執行即可
更改權限/u01/app/oraInventory.
添加組的讀取和寫入權限。
刪除全局的讀取, 寫入和執行權限。
更改組名/u01/app/oraInventory 到 oinstall.
腳本的執行已完成。
[root@oracle /]# /u01/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= /u01/app/oracle/product/12.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: # 回車
安裝 flash player
[root@oracle /]# cd /tmp/abc/
[root@oracle abc]# ls
database linuxx64_12201_database.zip
flash-player-npapi-26.0.0.131-release.x86_64.rpm
[root@oracle abc]# rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm
準備中... ################################# [100%]
正在升級/安裝...
1:flash-plugin-26.0.0.131-release ################################# [100%]
下圖就是Oracle 的企業管理器
Oracle 12c 數據庫的創建
[oracle@oracle /]$ sqlplus / as sysdba # 登錄數據庫
SQL*Plus: Release 12.2.0.1.0 Production on 星期三 12月 11 22:00:15 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
連接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
sys用戶是Oracle的最高管理員,以sys用戶登錄的時候一般要加上as sysdba,
而其他用戶則不需要。
SQL> help index # ketongguy可通過此命令來查看支持的指定列表
創建數據庫:
[oracle@oracle /]$ dbca # shuru輸入此命令可彈出創建數據庫的向導
Oracle 12c 數據庫的啟動與關閉
1. 數據庫的啟動
啟動(STARTUP) 一個數據庫需要三個步驟,①啟動Oracle實例(非裝 載階段);②由實例裝載
數據庫(裝載階段);③打開數據庫(打開階段)。
在STARTUP命令中,可以通過不同的選項來控制數據庫的不同啟動步驟。
1) STARTUP NOMOUNT
NOMOUNT選項僅僅啟動一個Oracle實例,讀取init ora初始化參數文件、啟動后臺進程、初始
化SGA.當實例啟動后,系統將顯示一個SGA內存結構和大小的列表,如下所示.
SQL> startup nomount
ORACLE instance started.
Total System G1obal Area 2516582400 bytes
Fixed Size 8795904 bytes
Variable Size 671090944 bytes
Database Buffers 1828716544 bytes
Redo Buffers 7979008 bytes
2) STARTUP MOUNT
STARTUP MOUNT命令啟動實例并且裝載數據庫,但沒有打開數據庫。Oracle 系統讀取控制文件中關于數據文件和重做日志文件的內容,但并不打開該文件。這種打開方式常在數據庫維護操作中使用,如對數據文件的更名,改變重做日志及打開歸檔模式等,在這種打開方式下,除了可以看到SGA系統列表以外,系統還會給出“數據庫裝載完畢 ”的提示。
3) STARTUP
STARTUP命令完成啟動實例、裝載數據庫和打開數據庫三個步驟。此時,數據庫使數據文件和重做日志文件在線,通常還會請求一個或者多個回滾段;系統除了可以看到前STARTUP MOUNT方式下的所有提示外,還會給出一個‘數據庫已經打開” 的提示: 數據庫系統處于正常工作狀態,可以接收用戶請求。
如果采用STARTUP NOMOUNT或者STARTUP MOUNT的數據庫打開方式,必須采用ALTER DATABASE命令來執行裝載或打開數據庫的操作。例如,如果以STARTUP NOMOUNT方式打開數據庫,也就是說實例已經啟動,但是數據庫沒有裝載和打開。這時必須運行下面的兩條命令,數據庫才能正確啟動。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
如果以STARTUP MOUNT方式啟動數據庫,只需要運行下面-條命令即可以打開數據庫。
ALTER DATABASE OPEN;
2.數據庫的關閉
對于數據庫的關閉(SHUTDOWN), 有四種不同的關閉選項.
1) SHUTDOWN NORMAL
SHUTDOWN NORMAL是SHUTDOWN命令的默認選項。也就是說,如果用戶發出SHUTDOWN命令,即執行SHUTDOWN NORMAL命令。
發出該命令后,任何新的連接都將不再允許連接到數據庫。在數據庫關閉之前,Oracle 將等待目前連接的所有用戶都從數據庫中退出后才開始關閉數據庫。采用這種方式關閉數據庫,在下一-次啟動時不需要進行任何的實例恢復。但需要注意的是.采用這種方式時,也許關閉一個數據庫需要幾天或更長的時間。
2) SHUTDOWN IMEDIATE
SHUTDOWN IMEDIATE是常用的一種關閉數據庫的方式。若既想很快地關閉數據庫,又想讓數據庫“干凈”地關閉,則常采用這種方式。
發出該命令后,當前正在被Oracle處理的SaL語句立即中斷,系統中任何沒有提交的事務全部回滾。如果系統中存在-個很長的未提交的事務,那么采用這種方式關閉數據庫也需要一段時間 (該事務回滾時間)。系統不會等待連接到數據庫的所有用戶退出系統,而會強行回滾當前所有的活動事務,然后斷開所有的連接用戶。
3) SHUTDOWN TRANSACTIONAL
SHUTDOWN TRANSACTIONAL命令常用來計劃關閉數據庫,它會等待當前連接到系統且正在活動的事務執行完畢,運行該命令后 ,任何新的連接和事務都是不允許的。在所有活動的事務執行完成后,數據庫將以和SHUTDOWN IMEDIATE同樣的方式關閉數據庫.
4) SHUTDOWN ABORT
SHUTDOWN ABORT是關閉數據庫方式的最后選擇,是在沒有任何辦法關閉數據庫的情況下不得不采用的方式,- -般不要采用。在下列情況出現時可以考慮采用這種方式關閉數據庫。
(1)數據庫處于一種非正常工作狀態,不能用SHUTDOWN NORMAL 或SHUTDOWN IMEDIATE 命令關閉數據庫。
(2) 需要立即關閉數據庫。
(3)在啟動數據庫實例時遇到問題.
發出該命令后,所有正在運行的SQL語句將立即中止,所有未提交的事務將不回滾,Oracle 也不等待目前連接到數據庫的用戶退出系統,下-次啟動數據庫時需要實例恢復,因此,下一-次啟動可能比平時需要更多的時間。
在關閉數據庫時最好使用SHUTDOWN IMMEDIATE方式,因為這種方式安全且相對較快。不是萬不得已不要使用SHUTDOWN ABORT方式,因為這種方式會造成數據丟失,并且恢復數據庫也需要較長時間。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。