史上最詳細Oracle 12c搭建過程(內附源碼包)
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫系統是目前世界上流行的關系數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的適應高吞吐量的數據庫解決方案。
優點
可用性強
可擴展性強
數據安全性強
穩定性強
操作系統要求
物理內存不少於4G
swap交換分區不少於8G
磁盤空間不少於30G
掛載分區文件類型為xfs
GNOME中文桌面環境
實驗環境
系統環境:centos7.4
Oracle服務IP地址:192.168.1.99
安裝相關目錄:/opt
源碼包下載地址:點擊下載oracle 12c軟件包 提取碼:v9kx
搭建步驟
一、準備工作
1、修改主機名稱
[root@localhost ~]# vim /etc/hostname
oracle #修改主機名稱。註意,修改完成後,不建議再次進行更改
2、修改本地主機映射文件
[root@localhost ~]# vim /etc/hosts
#末行添加
192.168.100.99 oracle #添加本地主機名與本地IP地址的映射
3、關閉selinux以及防火墻
[root@localhost ~]# vim /etc/sysconfig/selinux
4、查看掛載分區
[root@oracle ~]# df -h
二、安裝Oracle
1、安裝相關依賴包
[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
2、調整內核參數
[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 #重新加載配置文件
3、添加管理用戶、組
[root@oracle ~]# groupadd oinstall #創建安裝組
[root@oracle ~]# groupadd dba #創建管理員組
[root@oracle ~]# useradd -g oinstall -G dba oracle #創建管理用戶
[root@oracle ~]# passwd oracle #這裏設置的密碼是"123"
4、修改Oracle安裝目錄權限
[root@oracle ~]# mkdir -p /opt/app/oracle #創建工作目錄
[root@oracle ~]# chown -R oracle:oinstall /opt/app/
[root@oracle ~]# chmod -R 755 /opt/app/oracle/
5、修改Oracle源碼包權限
[root@oracle oracle]# chown -R oracle:oinstall /home/oracle/database/
[root@oracle oracle]# chmod -R 755 /home/oracle/database/
6、配置Oracle用戶環境
[root@oracle ~]# vim /home/oracle/.bash_profile
umask 022 #權限,設置的是反掩碼
ORACLE_BASE=/opt/app/oracle #指定基目錄
ORACLE_HOME=/opt/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
[root@oracle ~]# source /home/oracle/.bash_profile #重新讀取配置文件
7、配置Oracle用戶資源限制
[root@oracle ~]# vim /etc/pam.d/login #啟用pam認證模塊
#添加以下兩行,使用pam_limits認證模塊
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 #堆棧設置
[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 ~]# source /etc/profile #重新讀取配置文件
8、安裝oracle
[root@oracle ~]# export DISPLAY=:0 #設置圖形化界面顯示
[root@oracle ~]# xhost + #允許所有用戶訪問Xserver
access control disabled, clients can connect from any host
[root@oracle ~]# su - oracle
[oracle@oracle ~]$ ls #源碼文件此時在oracle家目錄下
database
[oracle@oracle ~]$ export DISPLAY=:0.0
[oracle@oracle ~]$ ./database/runInstaller #執行安裝腳本
執行相應腳本
[root@oracle ~]# /opt/app/oraInventory/orainstRoot.sh
[root@oracle ~]# /opt/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= /opt/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] : #是否要設置oracle跟蹤文件,選擇"yes"
yes
Installing Oracle Trace File Analyzer (TFA).
Log File: /opt/app/oracle/product/12.2.0/dbhome_1/install/root_oracle_2018-09-28_22-24-59-774450920.log #註意這裏有點慢,請耐心等待
Finished installing Oracle Trace File Analyzer (TFA)
安裝flash插件
[root@oracle ~]# rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm
https://oracle:5500/em #url中輸入進行訪問
三、連接數據庫
[oracle@Oracle ~]$ sqlplus / as sysdba #連接數據庫
SQL> help index #查看命令列表
SQL> show user; #查看當前用戶
史上最詳細Oracle 12c搭建過程(內附源碼包)