Oracle10203RAC環境新增新節點(六)
簡單描述一下,在Oracle 10203 for Solaris sparc的RAC雙節點環境中,新增一個節點的過程。共享儲存已經在第三個節點上配置完成,這裡主要介紹作業系統上和Oracle上的配置。
簡單描述新增節點的資料庫新增例項過程中碰到的問題。
Oracle10203RAC環境新增新節點(一):http://yangtingkun.itpub.net/post/468/493738
Oracle10203RAC環境新增新節點(二):http://yangtingkun.itpub.net/post/468/493764
Oracle10203RAC環境新增新節點(三):http://yangtingkun.itpub.net/post/468/493811
Oracle10203RAC環境新增新節點(四):http://yangtingkun.itpub.net/post/468/493848
Oracle10203RAC環境新增新節點(五):http://yangtingkun.itpub.net/post/468/493883
首先碰到一個錯誤,當新例項ASM例項啟動後,在V$ASM_DISK中僅能查詢到一個磁碟,而從DBCA的狀況看,3個例項只有2個MOUNT到磁碟組。
這個問題以前碰到多,應該是缺少許可權造成的:
# cd /dev/rdsk/
# chown oracle:oinstall c1t500601603022*
授權後:
bash-3.00$ export ORACLE_SID=+ASM3
bash-3.00$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 4月 2 15:07:23 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> select count(*) from v$asm_disk;
COUNT(*)
----------
45
在使用dbca新增例項的時候碰到幾個問題,所有的問題都是在新增例項9個步驟中的第3個步驟:Select an active cluster database to add on instance。
首先需要確保資料庫例項處於啟動狀態,否則dbca在新增例項的時候會報錯。
其次應該保證所有節點的LISTENER處於啟動狀態,否則dbca新增例項的介面點選NEXT後不會有任何的反應。
即使LISTENER全部啟動也是不夠的,必須確保LISTENER檢測每個節點的PUBLIC IP。對於以及執行的RAC環境而言,LISTENER一般監聽的是每個節點的VIP,而如果沒有新增PUBLIC IP,那麼dbca就會報錯,說明監聽的物件racnode1:1521:testrac1不存在。
需要手工在所有的節點上新增對PUBLIC IP的監聽設定,比如節點1的LISTENER.ORA設定如下:
bash-2.03$ more listener.ora
# listener.ora.racnode1 Network Configuration File: /data/oracle/product/10.2/database/network/admin/listener.ora.racnode1
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /data/oracle/product/10.2/database)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = testrac)
(ORACLE_HOME = /data/oracle/product/10.2/database)
(SID_NAME = testrac1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.224)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.222)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
隨後重啟監聽:
bash-2.03$ lsnrctl stop
LSNRCTL for Solaris: Version 10.2.0.3.0 - Production on 01-2月 -2009 00:35:54
Copyright (c) 1991, 2006, Oracle. All rights reserved.
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.198.224)(PORT=1521)))
命令執行成功
bash-2.03$ lsnrctl start
LSNRCTL for Solaris: Version 10.2.0.3.0 - Production on 01-2月 -2009 00:36:02
Copyright (c) 1991, 2006, Oracle. All rights reserved.
啟動/data/oracle/product/10.2/database/bin/tnslsnr: 請稍候...
TNSLSNR for Solaris: Version 10.2.0.3.0 - Production
系統引數檔案為/data/oracle/product/10.2/database/network/admin/listener.ora
寫入/data/oracle/product/10.2/database/network/log/listener.log的日誌資訊
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.224)(PORT=1521)))
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.222)(PORT=1521)))
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.25.198.224)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名 LISTENER
版本 TNSLSNR for Solaris: Version 10.2.0.3.0 - Production
啟動日期 01-2月 -2009 00:36:02
正常執行時間 0 天 0 小時 0 分 0 秒
跟蹤級別 off
安全性 ON: Local OS Authentication
SNMP OFF
監聽程式引數檔案 /data/oracle/product/10.2/database/network/admin/listener.ora
監聽程式日誌檔案 /data/oracle/product/10.2/database/network/log/listener.log
監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.224)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.222)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
服務摘要..
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "testrac" 包含 1 個例程。
例程 "testrac1", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
命令執行成功
每個節點執行此操作後,再次點選next,終於可以到達下一個步驟。
最後一個問題在於DBCA對於ASM例項的處理還存在問題。由於使用了ASM,自然也就使用了OMF特性。於是新增的例項所需要新增的UNDOTBS3表空間,以及THREAD3對應的REDO.LOG檔案,都採用了OMF方式。如果說DBCA採用了OMF而不執行使用者提供儲存位置,那麼它能在正確的位置儲存檔案也可以,可惜DBCA存在問題,當最後執行的時候報錯:Failed to create directory “” on “racnode3”, “PRKC-1055: Directory name passed was null”. PRKC-1055: Directory name passed was null。
所以只能採用提前建立UNDOTBS3表空間,以及THREAD3對應的REDO.LOG的方法:
SQL> select group#, thread#, sequence#, bytes/1024/1024
2 from v$log;
GROUP# THREAD# SEQUENCE# BYTES/1024/1024
---------- ---------- ---------- ---------------
1 1 1716 512
2 1 1717 512
3 2 839 512
4 2 840 512
SQL> select member from v$logfile;
MEMBER
---------------------------------------------------
+DISK/testrac/onlinelog/group_1.258.633485433
+DISK/testrac/onlinelog/group_2.260.633485441
+DISK/testrac/onlinelog/group_3.268.633485447
+DISK/testrac/onlinelog/group_4.270.633485455
下面手工新增THREAD 3對應的REDO.LOG:
SQL> alter database add logfile thread 3 group 5 '+DISK/testrac/onlinelog/redo5.log' size 512m;
資料庫已更改。
SQL> alter database add logfile thread 3 group 6 '+DISK/testrac/onlinelog/redo6.log' size 512m;
資料庫已更改。
SQL> select group#, thread#, sequence#, bytes/1024/1024
2 from v$log;
GROUP# THREAD# SEQUENCE# BYTES/1024/1024
---------- ---------- ---------- ---------------
1 1 1716 512
2 1 1717 512
3 2 839 512
4 2 840 512
5 3 0 512
6 3 0 512
已選擇6行。
SQL> select member from v$logfile;
MEMBER
----------------------------------------------------------------
+DISK/testrac/onlinelog/group_1.258.633485433
+DISK/testrac/onlinelog/group_2.260.633485441
+DISK/testrac/onlinelog/group_3.268.633485447
+DISK/testrac/onlinelog/group_4.270.633485455
+DISK/testrac/onlinelog/redo5.log
+DISK/testrac/onlinelog/redo6.log
已選擇6行。
接著新增UNDOTBS3表空間:
SQL> select file_name from dba_data_files
2 where tablespace_name like 'UNDOTBS_';
FILE_NAME
----------------------------------------------------------------------
+DISK/testrac/datafile/undotbs1.263.618591197
+DISK/testrac/datafile/undotbs2.266.618591249
SQL> create undo tablespace undotbs3
2 datafile '+DISK/testrac/datafile/undotbs3.dbf' size 4096m;
表空間已建立。
隨後使用DBCA進行新增節點,不過在最後一步新增表空間和REDO的時候,需要手工將表空間和REDO.LOG刪除。不過根據DBCA提供的彙總顯示外,仍然存在問題,DBCA認為新節點對應的THREAD為1,而認為對應的UNDO表空間是UNDOTBS4。點選確定後,仍然報錯。
看來只能透過手工的方法來新增例項了。具體方法在第四篇文章中已經描述過了,這裡就不在重複了。
隨後在啟動新增例項的時候碰到了一個錯誤:
bash-3.00$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 4月 3 14:53:23 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已連線到空閒例程。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 2147483648 bytes
Fixed Size 2031480 bytes
Variable Size 503316616 bytes
Database Buffers 1627389952 bytes
Redo Buffers 14745600 bytes
ORA-01618: ???? 3 ??? - ????
這時由於沒有啟用對應的THREAD。登陸例項1的節點,ENABLE THREAD 3:
SQL> alter database enable thread 3;
資料庫已更改。
重啟例項3問題消失。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-620189/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11.2.0.4 RAC生產環境刪除故障節點與增加新服務節點
- ElasticSearch(單節點)環境配置Elasticsearch
- HAC叢集新增新節點
- kubernetes環境部署單節點redisRedis
- DKHhadoop新增新節點功能介紹Hadoop
- 【Mongodb】分片複製集環境新增新的分片MongoDB
- 新增節點教程
- 新增Jenkins節點Jenkins
- KubeSphere 新增節點
- 基於minikube快速搭建kubernetes單節點環境
- Oracle RAC新增節點Oracle
- rancher新增k8s節點時顯示節點已新增K8S
- Java環境變數新增Java變數
- jupyter中新增conda環境
- Oracle RAC環境新增新的network和listener(未完成)Oracle
- DataNode工作機制 & 新增節點 &下線節點
- rac新增節點前之清除節點資訊
- HDFS動態新增節點
- XML DOM 新增節點概述XML
- Jupyter notebook 新增虛擬環境
- pycharm新增conda虛擬環境PyCharm
- DM8 配置DMDSC主備環境(rac到單節點 )
- Mac 新環境搭建Mac
- Ubuntu新增刪除環境變數Ubuntu變數
- CentOS新增、刪除環境變數CentOS變數
- VUE:vite新增環境變數(一)VueVite變數
- k8s系列--node(k8s節點介紹,新增節點,移除節點)K8S
- oracle11g RAC新增節點Oracle
- mongodb副本集新增刪除節點MongoDB
- redis cluster節點/新增刪除操作Redis
- android10.0(Q) Nvram 新增節點AndroidVR
- 新裝Ubuntu環境配置Ubuntu
- python新環境安裝Python
- laravel生產環境下新增欄位Laravel
- oracle 11g rac新增節點前之清除節點資訊Oracle
- networkx基礎用法:新增節點、新增邊、刪除節點、刪除邊、計算度、賦權重
- 採用secondary的冷備份的方式來新增新的secondary節點
- 雲端開發環境 ,「開發者上雲」新起點開發環境
- K3S新增節點報錯