刪除mysql多個例項 多例項資料庫刪除例項

2021-10-17 16:01:34 字數 2561 閱讀 3595

需要說明一下,這篇文章不是介紹如何完整的刪除包括cluster在內的rac環境,而只是在資料庫層介紹如何刪除乙個例項。

和新增例項一樣,這個步驟也包括手工方式和工具方式兩種。

不過利用工具刪除例項是非常簡單的,通過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

連線到:

oracle database 11g enterprise edition release 11.1.0.6.0 - 64bit production

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 **$instance;

instance_name

test1

test2

首先關閉節點2上的例項:

sql> select instance_name from **$instance;

instance_name

test1

test2

sql> host

$ srvctl stop inst -d test -i test2

$ exit

sql> select instance_name from **$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

remove instance test2 from the database test? (y/[n]) y

清除srvctl中test2例項資訊。

最後可以根據需要重新設定監聽和tnsnames.ora中的配置。

mysql多例項配置 MySQL多例項資料庫配置

mysql多例項資料庫配置 1 登入進入mysql,在mysql 5.7.18 bin目錄下執行命令 mysql uroot p s usr local mysql 5.7.18 data 3307 mysql.sock 其中 p 是指定密碼,如果沒有密碼則可以不寫 p,s是指定sock檔案,mys...

mysql多例項命令 mysql多例項安裝

1 編輯my.cnf檔案增加相關引數如下 mysqld multi user root pass 123 mysqld usr local mysql bin mysqld safe mysqladmin usr local mysql bin mysqladmin log usr local my...

mysql啟動多例項 MySQL多例項啟動

一台伺服器安裝mysql,用於測試。同時會用於nextcloud和wordpress的資料庫。nextcloud和wordpress要經常備份,而且以後可能會遷移。所以隔離不同情景的資料,用多例項啟動。便於管理,和提高效能。首先初始化要用到的資料庫 mysqld initialize insecur...