Oracle RAC中srvctl命令詳細說明(轉)
SRVCTL Add
添加數據庫或實例的配置信息。在增加實例中,與-i一起指定的名字應該與INSTANCE_NAME 和 ORACLE_SID參數匹配。
srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]
srvctl add instance -d database_name -i instance_name -n node_name
表- SRVCTL Add命令詳細選項
命令 選項
-m 數據庫域名 格式如"us.mydomain.com"
-m 選項指定的數據庫域名必須匹配數據庫INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME參數。在增加數據庫時,-d指定的數據庫名必須與DB_NAME參數匹配
-n 實例節點名
-o $ORACLE_HOME(用來確定lsnrctl和Oracle等命令路徑)
-s SPFILE 文件名
實例:添加一個新的數據庫
srvctl add database -d mydb -o /ora/ora
實例:向數據庫添加實例
srvctl add instance -d mydb -i mydb0 -n gm0
srvctl add instance -d mydb -i mydb0 -n gm0
srvctl add instance -d mydb -i mydb0 -n gm0
SRVCTL Config
顯示保存在SRVM配置文件中的配置信息
srvctl config database
顯示數據庫配置列表
srvctl config database -d database_name
數據庫配置信息顯示的格式:
nodename instancename oraclehome
nodename instancename oraclehome
實例:顯示數據庫配置信息
srvctl config database -d mydb
SRVCTL Getenv
getenv操作用來從SRVM配置文件中獲取與顯示環境變量
srvctl getenv database -d database_name [-t name[,name,……]]
srvctl getenv instance -d database_name -i instance_name [-t name[,name,……]]
實例:列出數據庫的所有環境變量
srvctl getenv database -d mydb
SRVCTL Modify
修改實例的節點配置信息。這些修改會在程序下次重新啟動后生效。修改后的信息將永久保存。
srvctl modify instance -d database_name -i instance_name -n node_name
實例:修改實例到另一個節點
srvctl modify instance -d mydb -n my_new_node
SRVCTL Remove
這是用來刪除SRVM庫中配置信息的命令。對象相關的環境設置也同樣刪除。如果你未使用強制標志(-f),ORACLE將提示你確認是否刪除。
使用強制選項(-f),刪除操作將不進行提示
srvctl remove database -d database_name [-f]
srvctl remove instance -d database_name -i instance_name [-f]
SRVCTL Remove命令詳細選項
-f 強制刪除應用時不進行確認提示
實例:刪除數據庫
srvctl remove database -d mydb
實例:刪除數據庫實例
srvctl remove instance -d mydb -i mydb0
srvctl remove instance -d mydb -i mydb0
srvctl remove instance -d mydb -i mydb0
SRVCTL Setenv
設置SRVM配置文件中的環境變量值。
srvctl setenv database -d database_name -t name=value [,name=value,……]
srvctl setenv instance -d database_name [-i instance_name] -t name=value [,name=value,……]
實例:設置數據庫環境變量
srvctl setenv database -d mydb -t LANG=en
SRVCTL Start
啟動數據庫,所有實例或指定的實例,及啟動所有相關未啟動的監聽。
注:
對於start命令和其它一些可以使用連接字符串的操作,如果你不提供連接字符串,那么ORACLE會使用"/ as sysdba"在實例上執行相關的操作。另外,要執行類似的操作,你必須是OSDBA組的成員。關於更多的OSDBA組權限信息,請參考ORACLEi的 安裝指南。
srvctl start database -d database_name [-o start_options] [-c connect_string]
srvctl start instance -d database_name -i instance_name [,instance_name-list] [-o start_options] [-c connect_string]
表- SRVCTL Start命令詳細選項
命令 選項
-o 在SQL*Plus直接傳遞的startup命令選項,可以包括PFILE
-c 使用SQL*Plus連接數據庫實例的連接字符串
實例:啟動數據庫及所有的實例
srvctl start database -d mydb
實例:啟動指定的實例
srvctl start instance -d mydb -i mydb,mydb
SRVCTL Status
顯示指定數據庫的當前狀態
srvctl status database -d database_name
srvctl status instance -d database_name -i instance_name [,instance_name-list]
實例:顯示數據和所有實例狀態
srvctl status database -d mydb
實例:顯示指定實例的狀態
srvctl status instance -d mydb -i mydb,mydb
SRVCTL Stop
停止數據庫所有實例可者指定實例
srvctl stop database -d database_name [-o stop_options] [-c connect_string]
srvctl stop instance -d database_name -i instance_name [,instance_name_list] [-o stop_options][-c connect_string]
表- SRVCTL Stop命令詳細選項
命令 選項
-c 使用SQL*Plus連接數據庫實例的連接字符串
-o 在SQL*Plus直接傳遞的shutdown命令選項
實例:停止數據庫所有的實例
srvctl stop database -d mydb
實例:停止指定實例
srvctl stop instance -d mydb -i mydb
SRVCTL Unsetenv
取消SRVM配置文件中環境變量定義值
srvctl unsetenv database -d database_name-t name[,name,……]
srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,……]
實例:取消環境變量,回到缺省值
srvctl unsetenv database -d mydb -t CLASSPATH
使用SRVCONFIG導入和導出RAW設備配置信息
你可使用SRVCONFIG導入和導出RAW設備配置信息,不管配置文件是在集群文件系統上還是在RAW設備上。你可以使用這種方法來備份與恢復SRVM配置信息。
例如:
下面的命令用來導出配置信息的內容到你指定文件名的文本文件中。
srvconfig -exp file_name
下面的命令用來從指定文本文件中導入配置信息到到你運行命令的RAC環境配置信息庫。
srvconfig -imp file_name
核實 RAC 集群/數據庫配置
應在集群的所有節點上執行以下 RAC 核實檢查!對於本指南,我將只從 linux1 中執行這些檢查。
本節提供了幾個可用於驗證 Oracle RAC 10g 配置的 srvctl 命令和 SQL 查詢。
有五個為 SRVCTL 定義的節點級任務:
- 添加和刪除節點級應用程序
- 設置和取消設置節點級應用程序的環境
- 管理節點應用程序
- 管理 ASM 實例
- 啟動和停止一組包含虛擬 IP 地址、監聽器、Oracle 通知服務和 Oracle 企業管理器代理的程序(出於維護目的)。
所有實例和服務的狀態
$ srvctl status database -d orclInstance orcl1 is running on node linux1
Instance orcl2 is running on node linux2
單個實例的狀態
$ srvctl status instance -d orcl -i orcl2Instance orcl2 is running on node linux2
在數據庫全局命名服務的狀態
$ srvctl status service -d orcl -s orcltestService orcltest is running on instance(s) orcl2, orcl1
特定節點上節點應用程序的狀態
$ srvctl status nodeapps -n linux1VIP is running on node:linux1
GSD is running on node:linux1
Listener is running on node:linux1
ONS daemon is running on node:linux1
ASM 實例的狀態
$ srvctl status asm -n linux1ASM instance +ASM1 is running on node linux1.
列出配置的所有數據庫
$ srvctl config databaseorcl
顯示 RAC 數據庫的配置
$ srvctl config database -d orcllinux1 orcl1 /u01/app/oracle/product/10.1.0/db_1
linux2 orcl2 /u01/app/oracle/product/10.1.0/db_1
顯示指定集群數據庫的所有服務
$ srvctl config service -d orclorcltest PREF:orcl2 orcl1 AVAIL:
顯示節點應用程序的配置 -(VIP、GSD、ONS、監聽器)
$ srvctl config nodeapps -n linux1 -a -g -s -lVIP exists.:/vip-linux1/192.168.1.200/255.255.255.0/eth0:eth1
GSD exists.
ONS daemon exists.
Listener exists.
顯示 ASM 實例的配置
$ srvctl config asm -n linux1+ASM1 /u01/app/oracle/product/10.1.0/db_1
集群中所有正在運行的實例
SELECTinst_id
, instance_number inst_no
, instance_name inst_name
, parallel
, status
, database_status db_status
, active_state state
, host_name host
FROM gv$instance
ORDER BY inst_id;
INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST
-------- -------- ---------- --- ------- ------------ --------- -------
1 1 orcl1 YES OPEN ACTIVE NORMAL linux1
2 2 orcl2 YES OPEN ACTIVE NORMAL linux2
位於磁盤組中的所有數據文件
select name from v$datafileunion
select member from v$logfile
union
select name from v$controlfile
union
select name from v$tempfile;
NAME
-------------------------------------------
+ORCL_DATA1/orcl/controlfile/current.256.1
+ORCL_DATA1/orcl/datafile/indx.269.1
+ORCL_DATA1/orcl/datafile/sysaux.261.1
+ORCL_DATA1/orcl/datafile/system.259.1
+ORCL_DATA1/orcl/datafile/undotbs1.260.1
+ORCL_DATA1/orcl/datafile/undotbs1.270.1
+ORCL_DATA1/orcl/datafile/undotbs2.263.1
+ORCL_DATA1/orcl/datafile/undotbs2.271.1
+ORCL_DATA1/orcl/datafile/users.264.1
+ORCL_DATA1/orcl/datafile/users.268.1
+ORCL_DATA1/orcl/onlinelog/group_1.257.1
+ORCL_DATA1/orcl/onlinelog/group_2.258.1
+ORCL_DATA1/orcl/onlinelog/group_3.265.1
+ORCL_DATA1/orcl/onlinelog/group_4.266.1
+ORCL_DATA1/orcl/tempfile/temp.262.1
15 rows selected.
屬於“ORCL_DATA1”磁盤組的所有 ASM 磁盤
SELECT pathFROM v$asm_disk
WHERE group_number IN (select group_number
from v$asm_diskgroup
where name = 'ORCL_DATA1');
PATH
----------------------------------
ORCL:VOL1
ORCL:VOL2
ORCL:VOL3
此時,我們已經完全安裝並配置了 Oracle RAC 10g 並擁有了一個功能完善的集群化數據庫。
至此完成所有工作后,您可能會問“那我又怎樣啟動和停止服務呢?”如果您遵循了本指南中的說明,則所有服務(包括 CRS、所有 Oracle 實例、企業管理器數據庫控制台等)應在 Linux 節點每次重新引導時自動啟動。
但有時您可能想要關閉某個節點,然后手動重新啟動它。或者,您可能發現企業管理器沒有而需要啟動它。本節提供了啟動和停止集群環境的命令(使用 SRVCTL)。
確保您是以 oracle UNIX 用戶登錄的。我們將從 linux1 運行本節中的所有命令:
# su - oracle$ hostname
linux1
停止 Oracle RAC 10g 環境
第一步是停止 Oracle 實例。當此實例(和相關服務)關閉后,關閉 ASM 實例。最后,關閉節點應用程序(虛擬 IP、GSD、TNS 監聽器和 ONS)。
$ export ORACLE_SID=orcl1$ emctl stop dbconsole
$ srvctl stop instance -d orcl -i orcl1
$ srvctl stop asm -n linux1
$ srvctl stop nodeapps -n linux1
啟動 Oracle RAC 10g 環境
第一步是啟動節點應用程序(虛擬 IP、GSD、TNS 監聽器和 ONS)。當成功啟動節點應用程序后,啟動 ASM 實例。最后,啟動 Oracle 實例(和相關服務)以及企業管理器數據庫控制台。
$ export ORACLE_SID=orcl1$ srvctl start nodeapps -n linux1
$ srvctl start asm -n linux1
$ srvctl start instance -d orcl -i orcl1
$ emctl start dbconsole
使用 SRVCTL 啟動/停止所有實例
啟動/停止所有實例及其啟用的服務。我只是覺得有意思就把此步驟作為關閉所有實例的一種方法加進來了!
$ srvctl start database -d orcl$ srvctl stop database -d orcl
10G RAC: srvctl
1. Grammar:
srvctl <command> <object> [<options]]
available <command>: enable/disable/start/stop/relocate/status/
add/remove/modify/getenv/setenv/unsetenv/config
avaliable <object>: database/instance/service/nodeapps/vip_range
show help: srvctl <command> <object> -h
2. Examples:
2.1 srvctl config
Available options: database|service|nodeapps|asm
Usage for backward compatibility
srvctl config: Display database name
srvctl config -V : Display the version of srvctl
# display the database info on the specfied node
srvctl config -p orcl -n rac1 :
Full usage:
# list all registered instance of the database
srvctl config database -d orcl
example output:
rac1 orcl1 /orabase/product/10.1.0/db_1
rac2 orcl2 /orabase/product/10.1.0/db_1
# show additional attributes
srvctl config database -d orcl -a
example output:
DB_NAME: orcl
ORACLE_HOME: /orabase/product/10.1.0/db_1
SPFILE: /oradata/orcl/spfileorcl.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
# show tns entries
srvctl config database -d orcl -t
Example client-side TNS entry for service orcltest:
orcltest =
(description=
(address=(protocol=tcp)(host=db_vip)(port=dedicated_port))
(connect_data=
(service_name=orcltest)
(failover_mode=
(type=select)
(method=basic)
)
)
)
# Display help
srvctl config service -h
# Display service's information
srvctl config service -d orcl -s <service_name>
# display help
srvctl config nodeapps -h
# display node's information
srvctl config nodeapps -n rac1
example output:
rac1 orcl1 /orabase/product/10.1.0/db_1
# display VIP configuration
srvctl config nodeapps -n rac1 -a
# display GSD configuration
srvctl config nodeapps -n rac1 -g
# display OSD configuration
srvctl config nodeapps -n rac1 -s
# display Listener configuration
srvctl config nodeapps -n rac1 -l
2.2 srvctl status
Available options: database|instance|service|nodeapps|asm
# Display help for database level
srvctl status database -h
# Display instance's running status on each node
srvctl status database -d orcl
example output:
Instance orcl1 is(not) running on node rac1
Instance orcl2 is(not) running on node rac2
# include disabled applications
srvctl status database -d orcl -f
# verbos output
srvctl status database -d orcl -v
# Additional information for EM Console
srvctl status database -d orcl -S EM_AGENT_DEBUG
# Additional information for EM Console
srvctl status database -d orcl -i orcl1 -S EM_AGENT_DEBUG
# Display help for instance level
srvctl status instance -h
# display appointed instance's running status
srvctl status instance -d orcl -i orcl1
# Display help for node level
srvctl status nodeapps -h
# Display all app's status on the node xxx
srvctl status nodeapps -n <node_name>
Not finished, Continue...
2.3 srvctl start
I think maybe it's one of the most frequently used commands
as well as 'srvctl stop'.
Available options: database|instance|service|nodeapps|asm
# Start database
srvctl start database -d orcl -o nomount
srvctl start database -d orcl -o mount
srvctl start database -d orcl -o open
# Grammar for start instance
srvctl start instance -d [db_name] -i [instance_name]
-o [start_option] -c [connect_str] -q
# Start all instances on the all nodes
srvctl start instance -d orcl -i orcl1,orcl2,...
# Start ASM instance
srvctl start ASM -n [node_name] -i asm1 -o open
# Start all apps in one node
srvctl start nodeapps -n [node_name]
2.4 srvctl stop
I think maybe it's also one of the most frequently used
commands as well as 'srvctl start'.
Available options: database|instance|service|nodeapps|asm
# Stop database
srvctl stop database -d orcl -o normal
srvctl stop database -d orcl -o immediate
srvctl stop database -d orcl -o abort
# Grammar for stop instance
srvctl stop instance -d [db_name] -i [instance_name]
-o [start_option] -c [connect_str] -q
# Stop all instances on the all nodes
srvctl stop instance -d orcl -i orcl1,orcl2,...
# Stop ASM instance
srvctl stop ASM -n [node_name] -i asm1 -o [option]
# Stop all apps in one node
srvctl stop nodeapps -n [node_name]
2.5 srvctl add
Available options: database|instance|service|nodeapps|asm
Description:
Add a configuration to your cluster database configuration.
"srvctl add service" adds services to a database and
assigns them to instances. You can use "srvctl add service"
to configure the Transparent Application Failover (TAF)
policy for a service.
2.6 srvctl remove
Available options: database|instance|service|nodeapps|asm
Description: Removes the named object from the cluster
environment.
SRVCTL是ORACLEi RAC集群配置管理的工具。本文是對SRVCTL的所有命令進行詳細說明的一篇參考文檔。
SRVCTL Add
添加數據庫或實例的配置信息。在增加實例中,與-i一起指定的名字應該與INSTANCE_NAME 和 ORACLE_SID參數匹配。
srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]
srvctl add instance -d database_name -i instance_name -n node_name
表- SRVCTL Add命令詳細選項
命令 選項
-m 數據庫域名 格式如"us.mydomain.com"
-m 選項指定的數據庫域名必須匹配數據庫INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME參數。在增加數據庫時,-d指定的數據庫名必須與DB_NAME參數匹配
-n 實例節點名
-o $ORACLE_HOME(用來確定lsnrctl和Oracle等命令路徑)
-s SPFILE 文件名
實例:添加一個新的數據庫
srvctl add database -d mydb -o /ora/ora
實例:向數據庫添加實例
srvctl add instance -d mydb -i mydb0 -n gm0
srvctl add instance -d mydb -i mydb0 -n gm0
srvctl add instance -d mydb -i mydb0 -n gm0
SRVCTL Config
顯示保存在SRVM配置文件中的配置信息
srvctl config database
顯示數據庫配置列表
srvctl config database -d database_name
數據庫配置信息顯示的格式:
nodename instancename oraclehome
nodename instancename oraclehome
實例:顯示數據庫配置信息
srvctl config database -d mydb
SRVCTL Getenv
getenv操作用來從SRVM配置文件中獲取與顯示環境變量
srvctl getenv database -d database_name [-t name[,name,……]]
srvctl getenv instance -d database_name -i instance_name [-t name[,name,……]]
實例:列出數據庫的所有環境變量
srvctl getenv database -d mydb
SRVCTL Modify
修改實例的節點配置信息。這些修改會在程序下次重新啟動后生效。修改后的信息將永久保存。
srvctl modify instance -d database_name -i instance_name -n node_name
實例:修改實例到另一個節點
srvctl modify instance -d mydb -n my_new_node
SRVCTL Remove
這是用來刪除SRVM庫中配置信息的命令。對象相關的環境設置也同樣刪除。如果你未使用強制標志(-f),ORACLE將提示你確認是否刪除。
使用強制選項(-f),刪除操作將不進行提示
srvctl remove database -d database_name [-f]
srvctl remove instance -d database_name -i instance_name [-f]
SRVCTL Remove命令詳細選項
-f 強制刪除應用時不進行確認提示
實例:刪除數據庫
srvctl remove database -d mydb
實例:刪除數據庫實例
srvctl remove instance -d mydb -i mydb0
srvctl remove instance -d mydb -i mydb0
srvctl remove instance -d mydb -i mydb0
SRVCTL Setenv
設置SRVM配置文件中的環境變量值。
srvctl setenv database -d database_name -t name=value [,name=value,……]
srvctl setenv instance -d database_name [-i instance_name] -t name=value [,name=value,……]
實例:設置數據庫環境變量
srvctl setenv database -d mydb -t LANG=en
SRVCTL Start
啟動數據庫,所有實例或指定的實例,及啟動所有相關未啟動的監聽。
注:
對於start命令和其它一些可以使用連接字符串的操作,如果你不提供連接字符串,那么ORACLE會使用"/ as sysdba"在實例上執行相關的操作。另外,要執行類似的操作,你必須是OSDBA組的成員。關於更多的OSDBA組權限信息,請參考ORACLEi的 安裝指南。
srvctl start database -d database_name [-o start_options] [-c connect_string]
srvctl start instance -d database_name -i instance_name [,instance_name-list] [-o start_options] [-c connect_string]
表- SRVCTL Start命令詳細選項
命令 選項
-o 在SQL*Plus直接傳遞的startup命令選項,可以包括PFILE
-c 使用SQL*Plus連接數據庫實例的連接字符串
實例:啟動數據庫及所有的實例
srvctl start database -d mydb
實例:啟動指定的實例
srvctl start instance -d mydb -i mydb,mydb
SRVCTL Status
顯示指定數據庫的當前狀態
srvctl status database -d database_name
srvctl status instance -d database_name -i instance_name [,instance_name-list]
實例:顯示數據和所有實例狀態
srvctl status database -d mydb
實例:顯示指定實例的狀態
srvctl status instance -d mydb -i mydb,mydb
SRVCTL Stop
停止數據庫所有實例可者指定實例
srvctl stop database -d database_name [-o stop_options] [-c connect_string]
srvctl stop instance -d database_name -i instance_name [,instance_name_list] [-o stop_options][-c connect_string]
表- SRVCTL Stop命令詳細選項
命令 選項
-c 使用SQL*Plus連接數據庫實例的連接字符串
-o 在SQL*Plus直接傳遞的shutdown命令選項
實例:停止數據庫所有的實例
srvctl stop database -d mydb
實例:停止指定實例
srvctl stop instance -d mydb -i mydb
SRVCTL Unsetenv
取消SRVM配置文件中環境變量定義值
srvctl unsetenv database -d database_name-t name[,name,……]
srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,……]
實例:取消環境變量,回到缺省值
srvctl unsetenv database -d mydb -t CLASSPATH
使用SRVCONFIG導入和導出RAW設備配置信息
你可使用SRVCONFIG導入和導出RAW設備配置信息,不管配置文件是在集群文件系統上還是在RAW設備上。你可以使用這種方法來備份與恢復SRVM配置信息。
例如:
下面的命令用來導出配置信息的內容到你指定文件名的文本文件中。
srvconfig -exp file_name
下面的命令用來從指定文本文件中導入配置信息到到你運行命令的RAC環境配置信息庫。
srvconfig -imp file_name
核實 RAC 集群/數據庫配置
應在集群的所有節點上執行以下 RAC 核實檢查!對於本指南,我將只從 linux1 中執行這些檢查。
本節提供了幾個可用於驗證 Oracle RAC 10g 配置的 srvctl 命令和 SQL 查詢。
有五個為 SRVCTL 定義的節點級任務:
- 添加和刪除節點級應用程序
- 設置和取消設置節點級應用程序的環境
- 管理節點應用程序
- 管理 ASM 實例
- 啟動和停止一組包含虛擬 IP 地址、監聽器、Oracle 通知服務和 Oracle 企業管理器代理的程序(出於維護目的)。
所有實例和服務的狀態
$ srvctl status database -d orclInstance orcl1 is running on node linux1
Instance orcl2 is running on node linux2
單個實例的狀態
$ srvctl status instance -d orcl -i orcl2Instance orcl2 is running on node linux2
在數據庫全局命名服務的狀態
$ srvctl status service -d orcl -s orcltestService orcltest is running on instance(s) orcl2, orcl1
特定節點上節點應用程序的狀態
$ srvctl status nodeapps -n linux1VIP is running on node:linux1
GSD is running on node:linux1
Listener is running on node:linux1
ONS daemon is running on node:linux1
ASM 實例的狀態
$ srvctl status asm -n linux1ASM instance +ASM1 is running on node linux1.
列出配置的所有數據庫
$ srvctl config databaseorcl
顯示 RAC 數據庫的配置
$ srvctl config database -d orcllinux1 orcl1 /u01/app/oracle/product/10.1.0/db_1
linux2 orcl2 /u01/app/oracle/product/10.1.0/db_1
顯示指定集群數據庫的所有服務
$ srvctl config service -d orclorcltest PREF:orcl2 orcl1 AVAIL:
顯示節點應用程序的配置 -(VIP、GSD、ONS、監聽器)
$ srvctl config nodeapps -n linux1 -a -g -s -lVIP exists.:/vip-linux1/192.168.1.200/255.255.255.0/eth0:eth1
GSD exists.
ONS daemon exists.
Listener exists.
顯示 ASM 實例的配置
$ srvctl config asm -n linux1+ASM1 /u01/app/oracle/product/10.1.0/db_1
集群中所有正在運行的實例
SELECTinst_id
, instance_number inst_no
, instance_name inst_name
, parallel
, status
, database_status db_status
, active_state state
, host_name host
FROM gv$instance
ORDER BY inst_id;
INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST
-------- -------- ---------- --- ------- ------------ --------- -------
1 1 orcl1 YES OPEN ACTIVE NORMAL linux1
2 2 orcl2 YES OPEN ACTIVE NORMAL linux2
位於磁盤組中的所有數據文件
select name from v$datafileunion
select member from v$logfile
union
select name from v$controlfile
union
select name from v$tempfile;
NAME
-------------------------------------------
+ORCL_DATA1/orcl/controlfile/current.256.1
+ORCL_DATA1/orcl/datafile/indx.269.1
+ORCL_DATA1/orcl/datafile/sysaux.261.1
+ORCL_DATA1/orcl/datafile/system.259.1
+ORCL_DATA1/orcl/datafile/undotbs1.260.1
+ORCL_DATA1/orcl/datafile/undotbs1.270.1
+ORCL_DATA1/orcl/datafile/undotbs2.263.1
+ORCL_DATA1/orcl/datafile/undotbs2.271.1
+ORCL_DATA1/orcl/datafile/users.264.1
+ORCL_DATA1/orcl/datafile/users.268.1
+ORCL_DATA1/orcl/onlinelog/group_1.257.1
+ORCL_DATA1/orcl/onlinelog/group_2.258.1
+ORCL_DATA1/orcl/onlinelog/group_3.265.1
+ORCL_DATA1/orcl/onlinelog/group_4.266.1
+ORCL_DATA1/orcl/tempfile/temp.262.1
15 rows selected.
屬於“ORCL_DATA1”磁盤組的所有 ASM 磁盤
SELECT pathFROM v$asm_disk
WHERE group_number IN (select group_number
from v$asm_diskgroup
where name = 'ORCL_DATA1');
PATH
----------------------------------
ORCL:VOL1
ORCL:VOL2
ORCL:VOL3
此時,我們已經完全安裝並配置了 Oracle RAC 10g 並擁有了一個功能完善的集群化數據庫。
至此完成所有工作后,您可能會問“那我又怎樣啟動和停止服務呢?”如果您遵循了本指南中的說明,則所有服務(包括 CRS、所有 Oracle 實例、企業管理器數據庫控制台等)應在 Linux 節點每次重新引導時自動啟動。
但有時您可能想要關閉某個節點,然后手動重新啟動它。或者,您可能發現企業管理器沒有而需要啟動它。本節提供了啟動和停止集群環境的命令(使用 SRVCTL)。
確保您是以 oracle UNIX 用戶登錄的。我們將從 linux1 運行本節中的所有命令:
# su - oracle$ hostname
linux1
停止 Oracle RAC 10g 環境
第一步是停止 Oracle 實例。當此實例(和相關服務)關閉后,關閉 ASM 實例。最后,關閉節點應用程序(虛擬 IP、GSD、TNS 監聽器和 ONS)。
$ export ORACLE_SID=orcl1$ emctl stop dbconsole
$ srvctl stop instance -d orcl -i orcl1
$ srvctl stop asm -n linux1
$ srvctl stop nodeapps -n linux1
啟動 Oracle RAC 10g 環境
第一步是啟動節點應用程序(虛擬 IP、GSD、TNS 監聽器和 ONS)。當成功啟動節點應用程序后,啟動 ASM 實例。最后,啟動 Oracle 實例(和相關服務)以及企業管理器數據庫控制台。
$ export ORACLE_SID=orcl1$ srvctl start nodeapps -n linux1
$ srvctl start asm -n linux1
$ srvctl start instance -d orcl -i orcl1
$ emctl start dbconsole
使用 SRVCTL 啟動/停止所有實例
啟動/停止所有實例及其啟用的服務。我只是覺得有意思就把此步驟作為關閉所有實例的一種方法加進來了!
$ srvctl start database -d orcl$ srvctl stop database -d orcl