a. 首先停止Oracle10g 環(huán)境
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站10多年經(jīng)驗成就非凡,專業(yè)從事成都網(wǎng)站設(shè)計、成都做網(wǎng)站,成都網(wǎng)頁設(shè)計,成都網(wǎng)頁制作,軟文推廣,廣告投放平臺等。10多年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:13518219792,我們期待您的來電!
$ lsnrctl stop (每個節(jié)點(diǎn)上停止監(jiān)聽,也可以用srvctl來操作)
$ emctl stop dbconsole (每個節(jié)點(diǎn)停止dbconsole)
$ srvctl stop database -d RACDB (停止數(shù)據(jù)庫所有實例)
$ srvctl stop nodeapps -n node1 (停節(jié)點(diǎn)1服務(wù))
$ srvctl stop nodeapps -n node2 (停節(jié)點(diǎn)2服務(wù))
# /etc/init.d/init.crs stop (root 停cluster 軟件)(兩節(jié)點(diǎn))
或者用 $ crs_stop -all
crsctl stop crs
b. 然后# init 0 關(guān)閉服務(wù)器,或者如果重新啟動#init 6
c. 關(guān)閉電源 。
d. 開啟Server ,開始開啟Oracle10g數(shù)據(jù)庫及服務(wù)等(如果OS重新啟動,那么下面的所有服務(wù)是自動打開的【除了dbconsole】,不用手工執(zhí)行了)。
$ srvctl start nodeapps -n node1 (開啟節(jié)點(diǎn)1服務(wù))
$ srvctl start nodeapps -n node2 (開啟節(jié)點(diǎn)2服務(wù))
# /etc/init.d/init.crs start (root 開啟cluster 軟件)
或者用 $ crs_start -all
$ srvctl start database -d RACDB (開啟數(shù)據(jù)庫所有實例)
$ lsnrctl start (每個節(jié)點(diǎn)上停止監(jiān)聽,也可以用srvctl來操作)
$ emctl start dbconsole (每個節(jié)點(diǎn)開啟dbconsole)
正好剛整理了一個這方面的資料,先貼給你吧.
準(zhǔn)備ASM環(huán)境
ASM使用一個名叫“+ASM”的數(shù)據(jù)庫實例來管理ASM磁盤,因此在配置ASM磁盤之前,需要先啟動ASM實例。另外還需要注意,ASM 實例必須要先于數(shù)據(jù)庫實例啟動,和數(shù)據(jù)庫實例同步運(yùn)行,遲于數(shù)據(jù)庫實例關(guān)閉。ASM 實例的創(chuàng)建和刪除可以用DBCA 工具來操作。在DBCA的第一個界面選擇配置自動存儲管理就可以進(jìn)入ASM配置的界面。
根據(jù)提示運(yùn)行腳本就可以配置和啟動CSS(Cluster Synchronization Service)了,注意要以root的身份運(yùn)行這個腳本,運(yùn)行情況如下:
# /u01/app/oracle/product/10.2.0/db_1/bin/localconfig add
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized
Adding to inittab
Startup will be queued to init within 90 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
s1
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
ASM可以使用裸設(shè)備或者ASMLib方式, 因為裸設(shè)備的維護(hù)更羅嗦一些,本文只討論ASMLib方式。為了在Linux系統(tǒng)中使用ASMLib方式準(zhǔn)備ASM磁盤,需要安裝相關(guān)的軟件,下載鏈接如下:
下載時注意選擇自己的操作系統(tǒng)和內(nèi)核的版本,我下載到的是以下三個軟件:
oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-support-2.1.4-1.el5.i386.rpm
這里特別需要注意第一個軟件要和你的Linux內(nèi)核的版本一致。(其實我的內(nèi)核版本是2.6.18-155.el5,但是在官方網(wǎng)站找不到完全對應(yīng)的版本,只好使用這個2.6.18-164.el5的版本了,后面會講怎么解決這個問題。)接下來進(jìn)行軟件的安裝,只需要使用rpm命令即可。
# rpm -ivh oracleasm*
現(xiàn)在安裝oracleasm模塊可能會報錯,像我因為沒有找到對應(yīng)我的內(nèi)核版本的oracleasm軟件就遇到了這個問題。經(jīng)過一番查找,發(fā)現(xiàn)軟件將oracleasm的模塊文件oracleasm.ko安裝到了目錄/lib/modules/2.6.18-164.el5/kernel/drivers/addon/oracleasm中,而我的默認(rèn)的模塊文件路徑應(yīng)該是/lib/modules/2.6.18-155.el5,因此決定手工建立相關(guān)的目錄和文件。
# mkdir -p /lib/modules/2.6.18-155.el5/kernel/drivers/addon/oracleasm
# cp oracleasm.ko /lib/modules/2.6.18-155.el5/kernel/drivers/addon/oracleasm
然后再安裝oracleasm的模塊文件就可以通過了:
# depmod -a
# modprobe oracleasm
最后進(jìn)行oracleasm服務(wù)的初始配置
# service oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting ENTER without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
好了,現(xiàn)在已經(jīng)有了初步的ASM配置環(huán)境,接下來就可以準(zhǔn)備磁盤了。
添加ASM磁盤組
為了實現(xiàn)ASM的磁盤負(fù)載均衡和冗余能力,我準(zhǔn)備使用四個磁盤建立ASM的磁盤組,因此需要為Linux系統(tǒng)添加四個磁盤。為了搭建這個環(huán)境,我使用的是VMware環(huán)境,因此添加磁盤就非常容易了。只需要在VMware的設(shè)置中選擇添加硬件即可,而且現(xiàn)在的VMware版本是可以支持磁盤的熱插拔的。無需關(guān)閉Linux系統(tǒng),直接添加磁盤即可。添加完四個磁盤之后,為了讓Linux系統(tǒng)馬上識別這幾個磁盤,可以運(yùn)行如下命令:
# echo 'scsi add-single-device 0 0 1 0' /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 2 0' /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 3 0' /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 4 0' /proc/scsi/scsi
運(yùn)行fdisk -l命令可以看到系統(tǒng)中增加了/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde四個磁盤。使用fdisk工具在這個四個磁盤上各建立一個分區(qū)(具體步驟略,不熟悉的可以查閱Linux的fdisk命令用法)。
然后運(yùn)行oracleasm createdisk命令添加ASM磁盤:
# oracleasm createdisk VOL1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
依次添加/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四個磁盤分區(qū),完成后檢查如下:
# oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
這時運(yùn)行DBCA工具的ASM配置向?qū)Ь涂梢越SM磁盤組了。進(jìn)入DBCA向?qū)Ш?,選擇“Configure Automatic Storage Management”,然后單擊“Create New”按鈕,可以看到ASM磁盤組的配置界面。輸入磁盤組的名稱,如“dg1”,關(guān)于冗余級別,我選擇了Norma,并且將VOL1和VOL2設(shè)置為一個Failure Group,而VOL3和VOL4設(shè)置為一個Failure Group。
以上操作也可以使用sqlplus連接到ASM實例上,使用命令完成。
為了連接到ASM實例上,首先需要設(shè)置ORACLE_SID環(huán)境變量,然后再使用sqlplus進(jìn)行連接:
# ORACLE_SID=+ASM
# sqlplus / as sysdba
創(chuàng)建Disk Group的語句如下:
SQL create diskgroup dg1 normal redundancy
failgroup fg1 disk 'ORCL:VOL1','ORCL:VOL2'
failgroup fg2 disk 'ORCL:VOL3','ORCL:VOL4';
至此,ASM磁盤組的準(zhǔn)備已經(jīng)完成,終于可以在ASM上建立數(shù)據(jù)庫了。還是使用DBCA工具,選擇“Create Database”進(jìn)入創(chuàng)建數(shù)據(jù)庫的向?qū)?。按照向?qū)Р僮鳎皇窃谶x擇存儲機(jī)制時,選擇ASM類型。
ORACLE g中ASMCMD使用及ASM文件XML DB訪問
引言
自動存儲管理(ASM) 是Oracle 數(shù)據(jù)庫 g 的新功能 它為數(shù)據(jù)庫管理員提供了一個簡單的存儲管理界面 并且該界面在所有服務(wù)器和存儲平臺上都是一致的 作為專門為 Oracle 數(shù)據(jù)庫文件創(chuàng)建的整合的文件系統(tǒng)和卷管理器 ASM 提供了異步 I/O 的性能以及文件系統(tǒng)的易管理性 它簡化了數(shù)據(jù)庫的管理 使管理員可以將可用的存儲劃分為磁盤組(disk groups) 只需管理少量的磁盤組而不再需要直接管理大量的oracle數(shù)據(jù)庫文件 ASM可自動管理磁盤組內(nèi)數(shù)據(jù)庫文件的放置 優(yōu)化了性能和資源利用率
ORACLE g中的高效存儲技術(shù)ASM
自動存儲管理直接在Oracle 內(nèi)核提供了文件系統(tǒng)和卷管理器的垂直整合 從而帶來了存儲區(qū)域網(wǎng)系統(tǒng)提供的 虛擬化 類型的優(yōu)點(diǎn)(易于管理 更高的可用性) 并專門用于Oracle 數(shù)據(jù)庫文件 ASM 提供了配置數(shù)據(jù)庫的快捷方法 以達(dá)到最佳性能和資源利用率 它通過Oracle 內(nèi)核自動管理數(shù)據(jù)庫文件和這些文件的放置 不再需要第三方文件系統(tǒng)和卷管理器來管理Oracle 文件 ASM 免去了耗時的手動I/O 性能與調(diào)整任務(wù) 大大節(jié)省了DBA 的時間
ASM的鏡像(mirroring)與條帶化(striping) ASM 將文件分成 MB 大小的區(qū)(extent) 并將所有文件的區(qū)平均分布到磁盤組的所有磁盤中 ASM 不使用數(shù)學(xué)函數(shù)跟蹤每個區(qū)的放置 而使用指針記錄區(qū)的位置 這樣 ASM 就可以在磁盤組配置變化時移動某個文件的某些區(qū) 而不必按照公式并根據(jù)磁盤數(shù)來移動所有的區(qū) 對于需要低延遲的文件(例如日志文件) ASM 提供了細(xì)粒度( k) 分段 以便由多個磁盤并行分隔并處理較大的I/O ASM 在所有可用的資源中分布I/O 負(fù)載 在免除手動I/O 調(diào)節(jié)需要(通過分散數(shù)據(jù)庫文件來避免熱點(diǎn))的同時優(yōu)化性能 ASM的鏡像比操作系統(tǒng)的磁盤鏡像更為靈活 因為ASM可基于文件設(shè)置冗余級別 也就是說在同一磁盤組中的兩個文件可以一個是鏡像的而另一個不做鏡像 ASM鏡像發(fā)生在區(qū)級
ASM的動態(tài)存儲配置 ASM使得在線調(diào)整存儲配置成為可能 即它幫助DBA 管理動態(tài)數(shù)據(jù)庫環(huán)境 讓DBA 能夠在擴(kuò)大或縮小數(shù)據(jù)庫規(guī)模的情況下 無需關(guān)閉數(shù)據(jù)庫以調(diào)整存儲配置 而在往磁盤組中增加磁盤或從磁盤組中刪除磁盤后 ASM將自動重新平衡――均衡地在磁盤組中的所有磁盤上重新分布文件數(shù)據(jù)
ASM 是一種能力 它通過實現(xiàn)手動存儲器的自動化來節(jié)省DBA 的時間 使其能夠以更高的效率管理更大 更多的數(shù)據(jù)庫
通過ASMCMD工具管理ASM
在oracle數(shù)據(jù)庫 g的第一個版本中 管理ASM只能通過SQL語句 g的第二個版本提供了一個管理ASM文件的新選擇――命令行工具ASMCMD 它使我們可以更為方便地瀏覽和管理ASM磁盤組中的文件和目錄 它可以列出磁盤組的內(nèi)容 執(zhí)行搜索 創(chuàng)建或刪除目錄及別名 顯示空間利用率等等 下面將通過一個在AIX 操作系統(tǒng)上的oracle g的應(yīng)用實例來介紹ASMCMD命令行工具的使用方法以及ASM文件的FTP及HTTP訪問方式 相關(guān)環(huán)境信息如下
操作系統(tǒng)平臺 AIX
數(shù)據(jù)庫版本 ORACLE ( 節(jié)點(diǎn)RAC)
磁盤組 ORAHIS_ G ORAHIS_ G(將 G和 G的LUN劃分為 個磁盤組)
磁盤組類型 外部冗余方式(EXTERNAL REDUNDANCY)
創(chuàng)建磁盤組
首選需要創(chuàng)建磁盤組 由于不能通過ASMCMD命令創(chuàng)建或刪除磁盤組 以及添加或刪除磁盤組中的磁盤 所以我們通過oracle g中新的SQL命令來完成磁盤組的創(chuàng)建
在本實例中有 G和 G兩種大小的LUN 先通過操作系統(tǒng)命令或通過ASM實例中v$a *** _disk視圖中的信息確認(rèn)這兩種大小的LUN的設(shè)備名 建立 個磁盤組ORAHIS_ G及ORAHIS_ G
CREATE?DISKGROUP?ORAHIS_ G?EXTERNAL?REDUNDANCY?disk /dev/rhdisk /dev/rhdisk …… / CREATE?DISKGROUP?ORAHIS_ G?EXTERNAL?REDUNDANCY?disk /dev/rhdisk /dev/rhdisk …… /
創(chuàng)建了磁盤組后就可以使用磁盤組 在上面創(chuàng)建數(shù)據(jù)庫 分布數(shù)據(jù)庫文件等
運(yùn)行ASMCMD
以一個擁有SYSDBA權(quán)限的操作系統(tǒng)用戶登錄到運(yùn)行了ASM實例的主機(jī)上 同時設(shè)置正確的ORACLE_HOME及ORACLE_SID環(huán)境變量以選擇ASM實例 再設(shè)置正確的PATH環(huán)境變量 就可以運(yùn)行ASMCMD工具了 ASMCMD可以以交互或非交互模式兩種模式運(yùn)行
) 交互模式運(yùn)行 在操作系統(tǒng)命令提示符下輸入a *** cmd 會得到ASMCMD提示符 可以輸入相關(guān)的命令 如果使用 p選項 將在ASMCMD提示符中包含當(dāng)前路徑 如下
gdhish :/oracle/orahisexport?ORACLE_SID=+hisa *** gdhish :/oracle/orahisa *** cmd? p ASMCMD?[+]??ls ORAHIS_ G/ ORAHIS_ G/ ASMCMD?[+]??cd?ORAHIS_ G ASMCMD?[+ORAHIS_ G]?
) 非交互模式運(yùn)行 命令格式為 a *** cmd mand arguments 如下
gdhish :/oracle/orahisa *** cmd?ls? l State?Type?Rebal?Unbal?Name MOUNTED?EXTERN?N?N?ORAHIS_ G/ MOUNTED?EXTERN?N?N?ORAHIS_ G/
ASMCMD命令參考
) 部分常用的ASMCMD命令列表
命令 說明 du 顯示指定的ASM目錄下ASM文件占用的所有磁盤空間 ls 列出ASM目錄下的內(nèi)容及其屬性 lsct 列出當(dāng)前ASM客戶端的信息 lsdg 列出所有磁盤組及其屬性 mkalias 為系統(tǒng)生成的文件名創(chuàng)建別名
) ASMCMD命令示例
ASMCMD lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N ORAHIS_ G/
MOUNTED EXTERN N N ORAHIS_ G/
上述lsdg命令的結(jié)果顯示共有兩個磁盤組ORAHIS_ G和ORAHIS_ G 狀態(tài)是 MOUNTED 類型是外部冗余(EXTERNAL REDUNDANCY) 當(dāng)前沒有重現(xiàn)平衡(rebalance)操作 也沒有磁盤組需要重現(xiàn)平衡 Sector大小是 字節(jié) Block大小是 字節(jié) 分配單元是 字節(jié) 即 M ORAHIS_ G磁盤組大小為 M 空閑大小為 M offline disks的數(shù)量為 由于是外部冗余類型 故Req_mir_free_MB 為
ASMCMD [+ORAHIS_ G/hisrac/datafile] ls ls
Type Redund Striped Time Sys Block_Size Blocks Bytes Space Name
DATAFILE UNPROT COARSE MAY : : Y BILL_TS_DT
DATAFILE UNPROT COARSE MAY : : Y UNDOTBS
上述ls –ls命令的結(jié)果顯示ASM目錄+ORAHIS_ G/hisrac/datafile下的文件及其屬性 如文件BILL_TS_DT 和UNDOTBS 類型為DATAFILE 由于是外部冗余方式 Redund為UNPROT 即對于ASM而言是uprotected 條帶化方式為COARSE 文件是系統(tǒng)創(chuàng)建的 塊大小為 字節(jié) 塊數(shù)為 文件大小為 字節(jié)
通過XML DB虛擬目錄訪問ASM文件
由于ASM 是專為處理Oracle 數(shù)據(jù)庫文件而建立的整合的文件系統(tǒng)與卷管理器 它不是一般意義上的文件系統(tǒng)或集群文件系統(tǒng) 因此不能使用標(biāo)準(zhǔn)的FTP和HTTP服務(wù)來訪問ASM文件 我們可以通過XML DB repository中的虛擬目錄/sys/a *** 來訪問ASM文件和目錄 內(nèi)容并非真正存儲在repository中 所以稱為虛擬目錄 /sys/a *** 提供了通過XML DB協(xié)議如FTP和HTTP/WebDAV來訪問和操作ASM文件的一種方法
) 配置
下面以選擇FTP端口 HTTP/WebDAV端口 為例進(jìn)行配置(前提是已經(jīng)安裝好XDB)
gdhish :/oracle/orahisexport ORACLE_SID=hisrac
gdhish :/oracle/orahissqlplus /as sysdba
SQL@?/rdbms/admin/catxdbdbca sql
訪問時注意必須以擁有dba權(quán)限的數(shù)據(jù)庫用戶(非sys)登錄
) FTP訪問示例(通過FTP傳輸XDB dbf文件)
zhcxxt :/dsgh ?#ftp? ? Connected?to? ?gdhish Unauthorised?use?of?this?FTP?server?is?prohibited?and?may?be?subject?to?civil?and?criminal?prosecution ?gdhish ?FTP?Server?(Oracle?XML?DB/Oracle?Database)?ready Name?( :root):?system ?pass?required?for?SYSTEM Password: ?SYSTEM?logged?in ftp?cd?sys/a *** ?CWD?Command?successful ftp?ls ?PORT?Command?successful ?ASCII?Data?Connection ORAHIS_ G ORAHIS_ G ?ASCII?Transfer?Complete ftp?cd?ORAHIS_ G/datafile ?CWD?Command?successful ftp?bin ?Type?set?to?I ftp?get?XDB dbf ?PORT?Command?successful ?BIN?Data?Connection ?BIN?Transfer?Complete ?bytes?received?in? ?seconds?( e+ ?Kbytes/s) local:?XDB dbf?remote:?XDB dbf ftp
) HTTP訪問示例
通過類似的URL來訪問
小結(jié)
lishixinzhi/Article/program/Oracle/201311/16705
oracle 用gi怎么啟動asm實例
啟動實例需要在服務(wù)器上做。遠(yuǎn)程做不了的。 因為實例未啟動,就無法通過listener注冊,遠(yuǎn)程client就到不實例。
題目如下所示:
在Oracle中,創(chuàng)建ASM磁盤的方式有哪幾種?
答案如下所示:
可以通過ASMLIB、udev及Faking的方式來創(chuàng)建ASM磁盤。其中,F(xiàn)aking的方式不需要額外添加磁盤,可以在現(xiàn)有文件系統(tǒng)上分配一些空間用于ASM磁盤,過程如下所示:
mkdir -p /oracle/asmdisk
dd if=/dev/zero of=/oracle/asmdisk/disk1 bs=1024k count=1000
dd if=/dev/zero of=/oracle/asmdisk/disk2 bs=1024k count=1000
/sbin/losetup /dev/loop1 /oracle/asmdisk/disk1
/sbin/losetup /dev/loop2 /oracle/asmdisk/disk2
raw /dev/raw/raw1 /dev/loop1
raw /dev/raw/raw2 /dev/loop2
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
將以下內(nèi)容添加到文件/etc/rc.local文件中: