多例項資料庫刪除例項
需要說明一下,這篇文章不是介紹如何完整的刪除包括CLUSTER在內的RAC環境,而只是在資料庫層介紹如何刪除一個例項。
單例項資料庫手工轉化多例項資料庫:http://yangtingkun.itpub.net/post/468/483713
單例項資料庫工具轉化多例項資料庫:http://yangtingkun.itpub.net/post/468/483724
和新增例項一樣,這個步驟也包括手工方式和工具方式兩種。
不過利用工具刪除例項是非常簡單的,透過dbca啟動圖形介面,然後選擇CLUSTER選項,並選擇管理例項,然後選擇刪除例項。輸入SYS使用者和密碼,選擇要刪除例項的資料庫,連線後選擇要刪除的例項,就可以了。工具會完成剩下所有的操作,包括例項的刪除,刪除這個例項對應的表空間以及重做日誌,修改初始化引數,以及從srvctl命令中刪除例項資訊等等。
唯一需要注意的是,在選擇資料庫並提供SYS登陸方式時,需要確保資料庫可以透過NET服務以SYSDBA許可權連線到資料庫上。對於RAC環境,一般監聽註冊的是VIP地址,這裡需要手工將PUBLIC IP地址新增的監聽地址中,並重啟監聽。
因此透過工具來刪除例項是很容易的,這裡主要討論手工方式刪除例項,其實這個步驟也不是很複雜,基本上是新增例項的一個逆操作而已:
bash-3.00$ export ORACLE_SID=test1
bash-3.00$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 4月 20 18:45:42 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/test/spfiletest.ora
SQL> show parameter cluster_database
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cluster_database boolean TRUE
cluster_database_instances integer 2
SQL> select instance_name from gv$instance;
INSTANCE_NAME
----------------
test1
test2
首先關閉節點2上的例項:
SQL> select instance_name from gv$instance;
INSTANCE_NAME
----------------
test1
test2
SQL> host
$ srvctl stop inst -d test -i test2
$ exit
SQL> select instance_name from gv$instance;
INSTANCE_NAME
----------------
test1
取消所有例項2設定的初始化引數:
SQL> ALTER SYSTEM SET CLUSTER_DATABASE_INSTANCES = 1 SCOPE = SPFILE;
系統已更改。
SQL> ALTER SYSTEM RESET INSTANCE_NUMBER SCOPE = SPFILE SID = 'test2';
系統已更改。
SQL> ALTER SYSTEM RESET THREAD SCOPE = SPFILE SID = 'test2';
系統已更改。
SQL> ALTER SYSTEM RESET UNDO_TABLESPACE SCOPE = SPFILE SID = 'test2';
系統已更改。
去掉例項2所使用的重做日誌和撤銷表空間:
SQL> ALTER DATABASE DISABLE THREAD 2;
資料庫已更改。
SQL> ALTER DATABASE DROP LOGFILE GROUP 4;
資料庫已更改。
SQL> ALTER DATABASE DROP LOGFILE GROUP 5;
資料庫已更改。
SQL> ALTER DATABASE DROP LOGFILE GROUP 6;
資料庫已更改。
SQL> DROP TABLESPACE UNDOTBS2 INCLUDING CONTENTS AND DATAFILES;
表空間已刪除。
至此資料庫部分的例項清除已經完成。對於2節點RAC而言,刪除一個例項後,可以將CLUSTER_DATABASE初始化引數設定為FALSE,不過這需要例項重啟後才能生效:
SQL> EXIT
從 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options 斷開
bash-3.00$ srvctl remove instance -d test -i test2
Remove instance test2 from the database test? (y/[n]) y
清除srvctl中test2例項資訊。
最後可以根據需要重新設定監聽和TNSNAMES.ORA中的配置。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-592469/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 單例項資料庫工具轉化多例項資料庫單例資料庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- 【RAC】刪除RAC資料庫節點(一)——刪除資料庫例項資料庫
- DBCA 刪除資料庫例項時找不到例項名怎麼辦資料庫
- 單例項刪除ASM例項單例ASM
- MySQL 多例項刪庫指令碼MySql指令碼
- 刪除ASM例項ASM
- MySQL資料庫入門多例項配置MySql資料庫
- dbca刪除資料庫時選項灰色資料庫
- asm例項刪除方法ASM
- 多例項資料庫一個用PSU資料庫
- Oracle多例項資料庫備份指令碼Oracle資料庫指令碼
- 命令列刪除Oracle例項命令列Oracle
- oracle 資料庫例項Oracle資料庫
- 資料庫和例項資料庫
- javascript刪除或者新增option選項例項程式碼JavaScript
- canal同步mysql,監聽單例項,多例項配置MySql單例
- 多例項資料庫一個用PSU(轉載)資料庫
- 資料庫例項 (SQL Server)資料庫SQLServer
- 資料庫設計例項資料庫
- 11g RAC中手工新增刪除資料庫及例項等資訊到OCR資料庫
- javascript刪除所有cookie例項程式碼JavaScriptCookie
- jquery刪除指定元素程式碼例項jQuery
- js刪除li元素程式碼例項JS
- javascript刪除select下拉選單項程式碼例項JavaScript
- mongodb關閉資料庫例項MongoDB資料庫
- oracle資料庫例項狀態Oracle資料庫
- Oracle例項和Oracle資料庫Oracle資料庫
- 建立ASM例項和資料庫ASM資料庫
- oracle資料庫與oracle例項Oracle資料庫
- js刪除陣列中重複項的程式碼例項JS陣列
- 如何修改資料庫例項及資料庫名資料庫
- javascript刪除字串中空格程式碼例項JavaScript字串
- jquery刪除指定子元素程式碼例項jQuery
- javascript刪除指定子元素程式碼例項JavaScript
- jQuery刪除html標籤程式碼例項jQueryHTML
- jQuery刪除表格指定行程式碼例項jQuery行程
- 原生js刪除節點程式碼例項JS