1. Oracle安裝部署文檔

来源:https://www.cnblogs.com/lottu/archive/2018/08/23/9522702.html
-Advertisement-
Play Games

一. 部署環境步驟 1.1 軟體環境 操作系統:CentOS release 6.5oracle安裝包:linux.x64_11gR2_database_1of1.zip;linux.x64_11gR2_database_1of2.zip 1.2 配置主機名 1.3 配置網路 1.4 配置系統內核參 ...


一. 部署環境步驟

1.1 軟體環境

操作系統:CentOS release 6.5
oracle安裝包:linux.x64_11gR2_database_1of1.zip;linux.x64_11gR2_database_1of2.zip

1.2 配置主機名

# vim /etc/sysconfig/network
HOSTNAME= oracle235
# 或者執行 hostname oracle235

1.3 配置網路

# vim /etc/hosts
192.168.1.235 oracle235

1.4 配置系統內核參數

  配置 /etc/sysctl.conf :添加如下內容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586

  註意上述參數中,需要根據實際情況修改 kernel.shmmax 參數的值,可以直接設置為物理記憶體大小。
  執行命令使之生效: 

# /sbin/sysctl -p

1.5 設置 Shell對Oracle用戶的限制

  配置 /etc/security/limits.conf 文件:增加如下內容

oracle      soft  nproc  2047
oracle      hard  nproc  16384
oracle      soft  nofile 2047
oracle      hard  nofile 65536

  接著,修改 /etc/pam.d/login,在文件最後添加如下內容:

session required /lib64/security/pam_limits.so

  最後,修改 /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

  所有修改完畢,重啟所有 Linux 系統

1.6 創建grid/Oracle用戶和組

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/groupadd oper
# /usr/sbin/useradd -g oinstall -G dba,oper oracle
# passwd oracle

  創建 oracle 軟體安裝目錄

# mkdir -p /u01/oraInventory
# chown -R oracle:oinstall /u01/
# chmod -R 775 /u01/

  配置 oracle 用戶的環境變數

export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
alias sqlplus='rlwrap sqlplus'

1.7 安裝 oracle 安裝包的依賴

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libcap1
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106 
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2 
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11

  執行命令 查看是否遺漏包;

rpm -q binutils compat-libstdc++-33 compat-libcap1 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

  安裝依賴包

yum install -y binutils compat-libstdc++-33 compat-libcap1 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

二. 用xshell打開圖形界面

  可以採用 VNC 或者 xshell 軟體登錄 linux 界面去安裝 Oracle Grid Infrastructure 軟體。本例採用 xshell 軟體

2.1 安裝與下載圖形界面GNOME

yum groupinstall "Desktop"
yum groupinstall "X Window System"

2.2 修改 /etc/gdm/custom.conf

[daemon]
[security]
AllowRemoteRoot=true  
[xdmcp]
Port=177
Enable=true    
[gui]
[greeter]
[chooser]
[debug]

2.3 啟動xshell工具

 

三. 安裝Oracle資料庫圖解

3.1 安裝 Oracle 軟體

  進入 linux 桌面;打開終端;用 oracle 用戶登錄。進入 oracle 安裝包目錄;執行命令

./runInstaller

  下麵是每一步都圖解演示:點擊 next 按鈕

  跳過軟體更新;點擊next按鈕

  選擇只安裝資料庫軟體

  選擇單實例安裝

  選擇Languages

  選擇"Enterprise Edition"

  選擇oracle軟體安裝路徑

  安裝前環境監測

  安裝Oracle軟體

  接下來的時間慢慢等待 Oracle 軟體安裝;在安裝過程中要用 root 用戶執行兩個腳本;如下截圖

3.2 配置Oracle資料庫

  Oracle伺服器軟體已經安裝完成;接下來需要配置Oracle資料庫;在終端下執行命令

dbca

  執行dbca之後;會彈出資料庫配置助手;如下圖所示:

 

  跳過軟體更新;點擊 next 按鈕

  選擇定製;可以根據業務定製

  經過漫長的等待;Oracle安裝就完成

四. Oracle網路配置

  資料庫啟動之後,要想提供對外服務。還需要配置 Oracle 的監聽器配置文件 listener.ora(可以使用 netca 命令創建);而遠程客戶端則需要配置 tnsnames.ora 文件。與伺服器建立網路連接。

4.1 伺服器監聽文件 listener.ora

  我們先看下資料庫SID和SERVICE_NAME。 

SQL> show parameter instance_name;
NAME            TYPE       VALUE
--------------  ---------  ---------------
service_names   string     ora235
SQL> alter system set service_names='lottu' scope=both;
System altered.
SQL> show parameter service_name;
NAME            TYPE       VALUE
--------------  ---------  ---------------
service_names   string     lottu

  一般 Oracle 的實例名跟 SERVICE_NAME 是一致的

  在目錄 $ORACLE_HOME/network/admin/ 目錄下;配置監聽文件 listener.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
       (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.235)(PORT = 1521)(IP = FIRST)))
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
       )
     )
  )

SID_LIST_LISTENER =
  (SID_LIST =
   (SID_DESC =
     (SID_NAME = ora235)
     (GLOBAL_DBNAME = lottu)
     (ORACLE_HOME =/u01/app/oracle)
   )
  )

  再啟動監聽

lsnrctl start

4.2 客戶端網路服務文件 tnsnames.ora

  在客戶端的 $ORACLE_HOME/network/admin/ 目錄下;配置如下:

T235=
  (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.235)(PORT = 1521))
    (CONNECT_DATA =
      (SID = ora235)
    )
 (HS = OK)
  )
# 或者用 (SERVICE_NAME = lottu) 替換 (SID = ora235)

  測試是否配置OK?

[oracle@oracle235 admin]$ tnsping T235

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 03-AUG-2018 23:48:59

Copyright (c) 1997, 2013, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.235)(PORT = 1521)) (CONNECT_DATA = (SID = ora235)) (HS = OK))
OK (0 msec)

  這樣就可以通過客戶端連接 Oracle 伺服器

五. Oracle開機自啟動

  預設 Oracle 資料庫是不會隨著機器重啟或者開機啟動 Oracle 服務。

5.1 修改Oracle系統配置文件

  用 root 用戶修改文件 /etc/oratab ;將 N 改成 Y;本例如下

$ORACLE_SID:$ORACLE_HOME:<N|Y>:
ora235:/u01/app/oracle:Y

5.2 在 /etc/init.d/ 下創建文件oracle

#!/bin/bash
#chkconfig:345 61 61 
#description:oracle
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
 then
 echo "Oracle startup: cannot start"
 exit
fi
case "$1" in 
'start')
# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"

# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;

'stop')
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle

# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;

'restart')
$0 stop
$0 start
;;
esac

5.3 添加服務

# chmod 755 /etc/init.d/oracle
# chkconfig --level 35 oracle on
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle

5.4 測試啟動和關閉 Oracle

[root@oracle235 ~]# service oracle stop
Stoping Oracle Listeners ... 
Done.
Stoping Oracle Databases ... 
Done.

[root@oracle235 ~]# service oracle start
Starting Oracle Databases ... 
Done
Starting Oracle Listeners ... 
Done.

  本課程總共有 12 課;是給公司員工培訓所編輯。未完待續...


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. centos 7安裝工作 對於mysql二進位安裝,我這裡在使用一臺新的centos系統。準備好VMware,Xftp-6.0, Xshell-6.0。在VMware中網路使用橋接模式,分配20G硬碟,1個處理器4個內核。進入centos安裝界面後選擇中文,時區上海,配置分區/boot 200 ...
  • 由於近期項目中有使用圖數據的需求,經過對比,我們選擇嘗試使用 JanusGraph。本篇小記記錄了我們安裝 JanusGraph 以及需要一起集成的 Cassandra + Elasticsearch 的過程。 根據官網的介紹,JanusGraph 是一個可擴展的圖資料庫,針對存儲和查詢包含分佈在多... ...
  • DECLARE @tableNames varchar(500)SET @tableNames='xxx,DB2, ' -- 關鍵此處填寫需要刷新視圖的資料庫名稱 DECLARE @i_start intSET @i_start=1; DECLARE @i_end intSET @i_end = C ...
  • 系統:windows 重啟mysql服務出現 Server] Can't read from messagefile 等錯誤時候, 應先執行 mysqld --initialize-insecure 進項初始化操作 然後重啟服務成功 ...
  • oracle資料庫創建SEQUENCE 從0開始,不迴圈,自增1的SEQUENCE。 以上,關於SEQUENCE就不贅述了。 mybatis的mapper配置 這樣後,就能獲取自增序列後插入資料庫了。 ...
  • 我們只要用到資料庫,一般會遇到資料庫運維方面的事情,需要我們尋找原因,有很多是關乎處理器(CPU)、記憶體(Memory)、磁碟(Disk)以及操作系統的,這時我們就需要查詢他們的一些設置和內容,下麵講的就是如何查詢它們的相關信息。1、(1)獲取資料庫伺服器CPU核數等信息(只適用於SQL 2005以 ...
  • 有沒有想過一個問題,電腦編程語言眾多,常用的編程語言有Java,Python等,在開始學習大數據之前都會選擇學習Java,那Java到底好在哪呢?為什麼學大數據之前要先學Java呢? 大數據人才越來越多的受到社會和企業的青睞,很多想要學習大數據的新人在開始的時候都會覺得自己學的就是大數據,但是真的 ...
  • 1、環境 資料庫版本:12.1 操作系統:Windows Server 2008 客戶端:IBM Data Studio 4.1.3 2、配置 資料庫安裝後預設是無法遠程訪問的,需要修改sqlhosts文件,文件路徑:[安裝根目錄]\etc\sqlhosts.ol_informix1210 將紅框中 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...