macOS搭建Oracle虛擬機(jī)環(huán)境

軟件環(huán)境:CentOS7.2 + Oracle11.2.0.1.0 + VMware Fusion8.5 + macOS10.12.4

一、配置CentOS環(huán)境

1. 創(chuàng)建用戶和用戶組

$groupadd oinstall
$groupadd dba   
$useradd -g oinstall -g dba -m oracle
$passwd oracle
$id oracle

2. 創(chuàng)建Oracle安裝目錄

$mkdir -p /data/oracle
$mkdir -p /data/oraInventory
$mkdir -p /data/database
$chown -R oracle:oinstall /data/oracle
$chown -R oracle:oinstall /data/oraInventory
$chown -R oracle:oinstall /data/database

3. 修改系統(tǒng)標(biāo)識(shí)

$cat /proc/version
$cat /etc/redhat-release
*CentOS Linux release 7.2.1511 (Core) 
$vi /etc/redhat-release
$cat /etc/redhat-release 
*redhat-7 

4. 安裝組件依賴

$yum -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libXi libXtst make sysstat

5. 關(guān)閉防火墻

$systemctl status firewalld.service
$systemctl stop firewalld.service   
$systemctl disable firewalld.service

6. 關(guān)閉SELinux

$vi /etc/selinux/config
$cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#      permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled   #此處修改為disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

7. 修改內(nèi)核參數(shù)

$vi /etc/sysctl.conf
$cat /etc/sysctl.conf
添加以下配置:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
$sysctl -p

8. 對(duì)oracle用戶進(jìn)行限制

$vi /etc/security/limits.conf
$cat /etc/security/limits.conf
->添加如下配置:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

9. 配置環(huán)境變量

$vi /home/oracle/.bash_profile 
$cat /home/oracle/.bash_profile
->添加如下配置:
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
$source /home/oracle/.bash_profile

10. 準(zhǔn)備安裝文件

$cd /usr/local/src
$unzip linux.x64_11gR2_database_1of2.zip -d /data/database/
$unzip linux.x64_11gR2_database_2of2.zip -d /data/database/
$chown -R oracle:oinstall /data/database/database/

二、在CentOS上安裝Oracle

1. 切換用戶至oracle,執(zhí)行runInstaller安裝程序

$cd /data/database/database/
$./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0

2. 先決條件檢查

安裝程序會(huì)檢查當(dāng)前系統(tǒng)環(huán)境是否滿足安裝要求,如果相應(yīng)的依賴包沒有安裝,yum install package_name安裝上即可,如果已安裝的版本較高時(shí),Oracle安裝程序仍會(huì)提示不滿足要求,忽視即可

3. 調(diào)整SWAP分區(qū)

$su root
$free -m
$dd if=/dev/zero of=/home/swap bs=1024 count=1024000
$mkswap /home/swap
$swapon /home/swap
$free -m

4. 安裝失敗解決方案

安裝過程中可能出現(xiàn)錯(cuò)誤提示框未正確顯示的問題,如果無法根據(jù)顯示內(nèi)容跟蹤安裝情況,可以通過檢查安裝日志的方法來繼續(xù)進(jìn)行,日志保存在/data/oraInventory/logs目錄下。如果遇到安裝失敗的情況,重啟虛擬機(jī),先清理之前安裝遺留的文件,再進(jìn)行下一步操作

$su root
$rm -rf /data/oracle/product
$rm -rf /data/oraInvenroty/*

本文操作時(shí)遇到的兩個(gè)情況記錄如下:

ins_ctx.mk
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/data/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/data/oraInventory/logs/installActions2017-05-11_02-20-57PM.log' for details.

- 缺少compat-libstdc++-33-3.2.3-69.el6導(dǎo)致此問題
- 官網(wǎng)手動(dòng)下載組件對(duì)應(yīng)的rpm包,**http://vault.centos.org/6.3/os/x86_64/Packages/**
- 將依賴包遷移至虛擬機(jī)Downloads目錄下
- 手動(dòng)安裝rpm包

$pwd
#/home/oracle/Downloads
$ls

#compat-libstdc++-33-3.2.3-69.el6.i686.rpm
#compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
#glibc-2.12-1.80.el6.i686.rpm
#glibc-2.12-1.80.el6.x86_64.rpm
#glibc-common-2.12-1.80.el6.x86_64.rpm
#glibc-devel-2.12-1.80.el6.i686.rpm
#glibc-devel-2.12-1.80.el6.x86_64.rpm
#glibc-headers-2.12-1.80.el6.x86_64.rpm

$su root
$rpm -ivh --force --nodeps *.rpm
ins_emagent.mk
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/data/oraInventory/logs/installActions2017-05-12_11-49-32AM.log' for details.

- 調(diào)用ins_emagent.mk文件發(fā)生錯(cuò)誤
- 手動(dòng)修改ins_emagent.mk文件,然后點(diǎn)擊錯(cuò)誤提示框的Retry按鈕即可

$cat /data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk
$vi /data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk
#將$(MK_EMAGENT_NMECTL)修改為$(MK_EMAGENT_NMECTL) -lnnz11

5. 執(zhí)行腳本

安裝完畢后,安裝程序出現(xiàn)Successful字樣,關(guān)閉安裝程序,執(zhí)行兩個(gè)腳本程序

$su root
$pwd
#/data/oracle/product/11.2.0/db_1
$./root.sh
$cd /data/oraInventory
$./orainstRoot.sh

6. 進(jìn)行監(jiān)聽服務(wù)配置和數(shù)據(jù)庫(kù)實(shí)例創(chuàng)建

$netca
$lsnrctl start
$lsnrctl status
$dbca

7. 檢查是否安裝完成

$sqlplus / as sysdba
$startup
$show parameter service_names

$su -oracle
$emctl unsecure dbconsole
#with https
$emctl secure dbconsole
$with http
$emctl start dbconsole

三、在macOS上配置Oracle客戶端

Oracle服務(wù)端安裝完成后,在macOS上可以使用SQLDeveloper/Toad/DataGrip進(jìn)行連接,現(xiàn)在開始配置在macOS中使用終端+SQLPlus連接服務(wù)端Orale

$sqlplus
zsh: sqlplus: command not found...

1. 確定服務(wù)端Oracle版本

$sqlplus / as sysdba
SQL> select * from v$version
  2  /

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0  Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

2. 客戶端文件配置

下載macOS平臺(tái)適用的對(duì)應(yīng)版本的Oracle客戶端,將兩個(gè)壓縮包解壓至同一目錄

$unzip instantclient-basic-macos.x64-11.2.0.4.0.zip
$unzip instantclient-sqlplus-macos.x64-11.2.0.4.0.zip

# Tuple @ Johnson in /Applications/instantclient_11_2 [11:36:19]
$ cd /Applications/instantclient_11_2

# Tuple @ Johnson in /Applications/instantclient_11_2 [11:36:24]
$ ls
BASIC_README         libclntsh.dylib.11.1 libsqlplus.dylib     uidrvci
SQLPLUS_README       libnnz11.dylib       libsqlplusic.dylib   xstreams.jar
adrci                libocci.dylib.11.1   ojdbc5.jar
genezi               libociei.dylib       ojdbc6.jar
glogin.sql           libocijdbc11.dylib   sqlplus

3.環(huán)境變量配置

$vim .bash_profile
->添加如下信息
export ORACLE_HOME=/Applications/instantclient_11_2
export ORACLE_SID=oracent
export DYLD_LIBRARY_PATH=$ORACLE_HOME
export SQLPATH=$ORACLE_HOME
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export PATH=$SQLPATH:$PATH

$vim .zshrc
->添加一行
source .bash_profiile

$env

4.配置tnsnames.ora

$mkdir -p Applications/instantclient_11_2/network/admin
vim $ORACLE_HOME/network/admin/tnsnames.ora

->新增如下內(nèi)容
oracent=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.31.236)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oracent)
    )
  )

5.配置hosts文件

$ hostname
#Johnson.local
$sudo vim /etc/hosts
->將localhost修改與hostname一致
$cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             Johnson.local

6.使用SQLPlus連接局域網(wǎng)Oracle

$sqlplus scott/jansondors@192.168.31.236/oracent
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復(fù) [日期:2016-11-29] 來源:Linux社區(qū) 作...
    陽屯okyepd閱讀 3,838評(píng)論 0 7
  • 最近公司購(gòu)買了一臺(tái)新的服務(wù)器,我負(fù)責(zé)給這臺(tái)服務(wù)器安裝oracle ,磕磕絆絆的終于裝好了,但是卻花了不少時(shí)間,算起...
    testerPM閱讀 9,478評(píng)論 3 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,553評(píng)論 19 139
  • 一. 就在昨天,我收到了期盼已久的研究生錄取通知書,心里惴惴不安的石頭可以落地了,終于可以大聲慶祝自己成為女神校的...
    不要黑眼圈的小胖達(dá)閱讀 604評(píng)論 0 0
  • 我大概很經(jīng)常跟我的朋友提起我媽。我的好朋友都很喜歡她。想起一些小時(shí)候的事,到現(xiàn)在也會(huì)讓她津津樂道。 大概5、6歲的...
    嗚七閱讀 332評(píng)論 1 1

友情鏈接更多精彩內(nèi)容