Linux 6.5(oracle 11.2.0.4)單實例ASM安裝

来源:http://www.cnblogs.com/oracle-ziyuhou/archive/2016/11/22/6088824.html
-Advertisement-
Play Games

Linux 6.5(oracle 11.2.0.4) 1、解析主機、配置網路等 /etc/hosts /etc/sysconfig/network /etc/init.d/NetworkManager stop chkconfig NetworkManager off iptables F serv ...


Linux 6.5(oracle 11.2.0.4)
1、解析主機、配置網路等
/etc/hosts
/etc/sysconfig/network

/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
iptables -F
service iptables save
sed -ri 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
2、配置yum
cd /etc/yum.repos.d/
touch yum_oel5.repo
vi yum_oel5.repo

添加以下內容:
[oel6]
name=oel6
baseurl=file:///mnt/Server
gpgcheck=0
enabled=1

yum clean all
yum repolist
yum list

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

Pdksh 一定要先裝,不然後面會報錯的
3、修改系統參數
調整內核參數,並使其生效
vi /etc/sysctl.conf
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
fs.aio-max-nr = 1048576

sysctl -p

修改limits.conf

vi /etc/security/limits.conf

oracle settings

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 1024

修改/etc/pam.d/login
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required 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

修改/etc/csh.login

if ( $USER == "oracle" ) then
limit maxproc 16384
limit deors 65536
endif
4、
--添加用戶和組(非Oracle Linux環境配置)

groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmdba
groupadd -g 506 asmoper

useradd -u 500 -g oinstall -G dba,asmdba,asmadmin,oper oracle
useradd -u 507 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

註意,oper組不是必須的,dba,asmdba,asmadmin必須有

--修改grid和oracle用戶密碼

passwd oracle
passwd grid

--配置環境變數

grid:

export ORACLE_SID=+ASM
export ORACLE_BASE=/home/u01/grid
export ORACLE_HOME=$ORACLE_BASE/11.2.0
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:
export NLS_LANG=American_america.ZHS16GBK
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
umask 022

oracle:

ORACLE_SID=ydasm; export ORACLE_SID
ORACLE_BASE=/home/u01/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
GRID_HOME=/home/u01/grid/11.2.0; export GRID_HOME
NLS_DATE_FORMAT="YYYY:MM:DD HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$GRID_HOME/bin export PATH
export NLS_LANG=American_america.ZHS16GBK
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

主要是配置幾個環境變數必須
mkdir -p /home/u01/grid/11.2.0
mkdir -p /home/u01/grid
mkdir -p /home/u01/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /home/u01
chmod -R 775 /home/u01
5、上傳Oracle安裝介質到/u01/tmp目錄下
mkdir -p /u01/tmp

p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip
6、vi /etc/redhat-release

Red Hat Enterprise Linux Server release 4.0 (Santiago)
7、安裝grid組件

--利用udev綁定磁碟

for Linux 6.x
for i in b c d;
do
echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/\$name",
RESULT=="/sbin/scsi_id -g -u /dev/sd$i", NAME="asm-disk$i", OWNER="grid",
GROUP="asmadmin", MODE="0660""
done

for Linux 5.x
for i in b c d;
do
echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="scsi_id -g -u -s /block/sd$i", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""
done

使用的時候要註意在不同版本上腳本的區別,否則獲取不到磁碟的scsi_id

[root@rac1 ]# /sbin/service ntpd stop
關閉 ntpd: [失敗][root@rac1 ]# chkconfig ntpd off
[root@rac1 ]# mv /etc/ntp.conf /etc/ntp.conf.original
直接使用裸設備的方法:
1.在RHEL6以前的可以直接通過rawdevices的管理方法,系統安裝後預設已存在/etc/init.d/rawdevices和/etc/sysconfig/rawdevices這兩個文件。

  1. 在RHEL6中,系統裡面雖然已經不存在/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件了,但是依然支持rawdevices的方式,可以通過如下方法來管理raw文件。
    a.手動創建/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件,然後依然以rawdevices的方式
    b.通過udev來管理raw,同樣也可以通過udev固定磁碟對應的設備名
    採用新建的方法

vi /etc/init.d/rawdevices

!/bin/bash

rawdevices This shell script assignes rawdevices to block devices

chkconfig: 345 56 44

description: This scripts assignes raw devices to block devices \

(such as hard drive partitions). This is for the use \

of applications such as Oracle. You can set up the \

raw device to block device mapping by editing \

the file /etc/sysconfig/rawdevices.

config: /etc/sysconfig/rawdevices

[ -f /bin/raw ] || exit 0
[ -f /etc/sysconfig/rawdevices ] || exit 0

Exit if the file just has the default comments.

LC_ALL=C /bin/egrep -q -v "^ #" /etc/sysconfig/rawdevices 2>/dev/null || exit 0
. /etc/init.d/functions
function assign_raw()
{
LC_ALL=C egrep -v '^
#' /etc/sysconfig/rawdevices |
while read RAW BLOCK; do
if [ -n "$RAW" -a -n "$BLOCK" ]; then
rawdirname=${RAW%/*}
if [ "$rawdirname" = "/dev" -a -d /dev/raw ]; then
echo $" Please correct your /etc/sysconfig/rawdevices:"
echo $" rawdevices are now located in the directory /dev/raw/ "
echo $" If the command 'raw' still refers to /dev/raw as a file."
echo $" you'll have to upgrade your util-linux package"
exit 0
fi
if [ "$rawdirname" = "/dev/raw" -a -f /dev/raw ]; then
echo $" Please correct your /etc/sysconfig/rawdevices:"
echo $" rawdevices are now located in the directory /dev/raw/ "
echo $" If the command 'raw' still refers to /dev/raw as a file."
echo $" you'll have to upgrade your util-linux package"
exit 0
fi
echo " $RAW --> $BLOCK";
raw $RAW $BLOCK
fi
done
}

See how we were called.

case "$1" in
start)
# Assign devices
echo $"Assigning devices: "
assign_raw

添加以下兩行(預設不存在),即預設情況下生成的裸設備為root所有,

所以必須修改屬主,否則oracle用戶無法使用裸設備

    sleep 5
    chown -R grid:asmadmin /dev/raw/
   echo $"done"
    ;;

stop)
# No action to be taken here
;;
status)
ID=id -u
if [ $ID -eq 0 ]; then
raw -qa
else
echo $"You need to be root to use this command ! "
fi
;;
restart|reload)
$0 start
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac
exit 0


vi /etc/sysconfig/rawdevices //映射將要綁定的裸設備

/dev/raw/raw5 /dev/sdb
/dev/raw/raw6 /dev/sdc
/dev/raw/raw7 /dev/sdd
/dev/raw/raw8 /dev/sde

[root@rac1]# chkconfig rawdevices on
[root@rac1]# service rawdevices start

1.4 綁定裸設備(用於創建ASM磁碟組,更詳細的內容請參考:http://www.linuxidc.com/Linux/2013-06/85973.htm

[root@ydtest host2]# pwd
/sys/class/scsi_host/host2
[root@ydtest host2]# echo '- - -' > scan
[root@ydtest host2]#
[root@ydtest host2]# cd ../host0
[root@ydtest host0]# echo '- - -' > scan
虛擬機加盤後 掃描盤

[root@rac1]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 5 40131 83 Linux
/dev/sda2 6 2172 17406427+ 8e Linux LVM
/dev/sda3 2173 2237 522112+ 82 Linux swap / Solaris
/dev/sda4 2238 3916 13486567+ 5 Extended
/dev/sda5 2238 2542 2449881 83 Linux
/dev/sda6 2543 2847 2449881 83 Linux
/dev/sda7 2848 3152 2449881 83 Linux
/dev/sda8 3153 3457 2449881 83 Linux
/dev/sda9 3458 3916 3686886 83 Linux
[root@rac1 rules.d]# cd /etc/udev/rules.d/
[root@rac1 rules.d]# vi 99-oracle.rules
ACTION=="add",KERNEL=="sdb",RUN+="/bin/raw /dev/raw/raw5 %N",OWNER="grid", GROUP="asmadmin", MODE="660"
ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw /dev/raw/raw6 %N",OWNER="grid", GROUP="asmadmin", MODE="660"
ACTION=="add",KERNEL=="sdd",RUN+="/bin/raw /dev/raw/raw7 %N",OWNER="grid", GROUP="asmadmin", MODE="660"
ACTION=="add",KERNEL=="sde",RUN+="/bin/raw /dev/raw/raw8 %N",OWNER="grid", GROUP="asmadmin", MODE="660"

--重啟udev,使配置生效

/sbin/start_udev

[root@rac1]# vi /etc/sysconfig/rawdevices
/dev/raw/raw5 /dev/sdb
/dev/raw/raw6 /dev/sdc
/dev/raw/raw7 /dev/sdd
/dev/raw/raw8 /dev/sde

[root@rac1]# chmod +x /etc/rc.d/init.d/rawdevices
[root@rac1]# chkconfig --add rawdevices
[root@rac1]# chkconfig rawdevices on
[root@rac1]# service rawdevices start
Assigning devices:
/dev/raw/raw5 --> /dev/sdb
/dev/raw/raw5: bound to major 8, minor 5
/dev/raw/raw6 --> /dev/sdc
/dev/raw/raw6: bound to major 8, minor 6
/dev/raw/raw7 --> /dev/sdd
/dev/raw/raw7: bound to major 8, minor 7
/dev/raw/raw8 --> /dev/sde
/dev/raw/raw8: bound to major 8, minor 8
done
[root@rac1]# raw -qa
/dev/raw/raw5: bound to major 8, minor 5
/dev/raw/raw6: bound to major 8, minor 6
/dev/raw/raw7: bound to major 8, minor 7
/dev/raw/raw8: bound to major 8, minor 8

如果執行腳本的時候停在Adding daemon to inittab,這是 11.2.0.1和11.2.0.2 在RHEL6上的bug,可以以root身份執行以下命令:

[root@rac1]# dd if=/var/tmp/.oracle/npohasdof=/dev/null bs=1024 count=1

ydasm 2016/11/22 11:21:57 /home/u01/grid/11.2.0/cdata/ydasm/backup_20161122_112157.olr
Successfully configured Oracle Grid Infrastructure for a Standalone Server

Asmca
Dbca

2.3 安裝後的檢查、配置

檢查是否正確安裝:

$ oraenv

ORACLE_SID=+ASM

The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle

$ echo $ORACLE_SID

+ASM

$ crsctl check has

CRS-4638: Oracle High Availability Services is online

$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE ydasm
ora....ER.lsnr ora....er.type ONLINE ONLINE ydasm
ora.VOTE.dg ora....up.type ONLINE ONLINE ydasm
ora.asm ora.asm.type ONLINE ONLINE ydasm
ora.cssd ora.cssd.type ONLINE ONLINE ydasm
ora.diskmon ora....on.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE ydasm
ora.ons ora.ons.type OFFLINE OFFLINE

從11.2.0.3以後,在非Exadata上, ora.diskmon的預設狀態為offline
ora.ons主要用於中間件和資料庫的相連

設置開機自動啟動crs:

[root@rac1]# tail -n 1 /etc/inittab //安裝完成預設會向inittab文件添加該記錄

h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 > /etc/rc.local <

[root@rac1]#rm -rf /u01/app/oracle/product/11.2.0/grid/ //刪除grid的安裝文件

[root@rac1]# for i in {5..8} ;do dd if=/dev/zero of=/dev/raw/raw$i bs=1024 count=10 ;done //低格裸設備(清除ASM磁碟組信息)


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

-Advertisement-
Play Games
更多相關文章
  • Master/Slave主從複製 主從複製MongoDB中比較常用的一種方式,如果要實現主從複製至少應該有兩個MongoDB實例,一個作為主節點負責客戶端請求,另一個作為從節點負責從主節點映射數據,提供數據備份,客戶端讀取等,推薦一主多從模式 MongoDB主從複製的實現方式: 主節點的操作會被記錄... ...
  • 11g新特性:Health Monitor Checks 一、什麼是Health Monitor Checks Health Monitor Checks能夠發現文件損壞,物理、邏輯塊損壞,undo、redo損壞,數據字典損壞等等。 Health Monitor Checks產生結果報告,它包含瞭解 ...
  • Sqoop的使用應該是Oozie裡面最常用的了,因為很多BI數據分析都是基於業務資料庫來做的,因此需要把mysql或者oracle的數據導入到hdfs中再利用mapreduce或者spark進行ETL,生成報表信息。 因此本篇的Sqoop Action其實就是運行一個sqoop的任務而已。 同樣ac ...
  • 1.SELECT DISTINCT 語句 關鍵詞DISTINCT用於返回唯一不同的值。 語法: SELECT DISTINCT 列名稱 FROM 表名稱 2.SELECT INTO語句 SELECT INTO語句從一個表中選取數據,然後把數據插入另一個表中。 SELECT INTO語句常用於創建表的 ...
  • 1. 【事件起因】 今天在做項目的時候,發現提供給客戶端的介面時間很慢,達到了2秒多,我第一時間,抓了介面,看了運行的sql,發現就是 2個sql慢,分別占了1秒多。 一個sql是 鏈接了5個表同時使用了 2個 order by和 1個limit的分頁 sql。 一個sql是上一個sql的count ...
  • 原文地址 1)、id列數字越大越先執行,如果說數字一樣大,那麼就從上往下依次執行,id列為null的就表是這是一個結果集,不需要使用它來進行查詢。 2)、select_type列常見的有: A:simple:表示不需要union操作或者不包含子查詢的簡單select查詢。有連接查詢時,外層的查詢為s ...
  • 測試方法 為了對Ignite做一個基本瞭解,做了一個性能測試,測試方法也比較簡單主要是針對client模式,因為這種方法和使用redis的方式特別像。測試方法很簡單主要是下麵幾點: 不作參數優化 ,預設配置進行測試 在一臺linux伺服器上部署Ignite服務端,然後自己的筆記本作客戶端 按1,10 ...
  • 裝好ubuntu系統後的第一見事就是替換自帶的更新源,原因是系統自帶的源有些在中國訪問不了,可以訪問的速度又特別慢。幸好國內的一些公司和大學提供了速度不錯的更新源。下麵介紹如何使用更快的更新源 裝好ubuntu系統後的第一見事就是替換自帶的更新源,原因是系統自帶的源有些在中國訪問不了,可以訪問的速度 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...