0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Oracle] RACをRAC One Nodeに変換する

Posted at

やりたいこと

Oracle Linux 7.8 / Oracle Database 19c (RAC)

RAC環境からRAC One Nodeに変換する方法。

行う機会は少ないかと思いますが、RACをRAC One Nodeにしたり、その逆は意外に簡単です。
どちらかというとRAC One Nodeを、RACにすることの方が多いかもしれませんね。

手順

作業の流れ

  1. インスタンス2の停止
  2. インスタンス2の削除
  3. サービスの作成
  4. DBタイプの変換(RACからRACOneNodeへ)

■ 現在のDBタイプを確認する
srvctl config database -db <DB名>

16行目のTypeが表示される行に、「RAC」または「RACOneNode」とDBのタイプが表示されます

[oracle@node1 ~]$ srvctl config database -db racdb
Database unique name: racdb
Database name: racdb
Oracle home: /oracle/db/product/19.0.0/db
Oracle user: oracle
Spfile: +DATA/RACDB/PARAMETERFILE/spfile.273.1142946957
Password file: +DATA/RACDB/PASSWORD/pwdracdb.258.1142945401
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA
Mount point paths:
Services: racone
Type: RAC          ★Typeの行に、RAC または RACOneNode とDBのタイプが表示される
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances: racdb1
Configured nodes: node1
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed

■ 現在のクラスタウェアリソース状況を確認
crsctl stat res -t
(oracleユーザで実施する場合は、フルパスで実行)

2つのインスタンスからなるRACデータベースであることを確認します。
これを1つのインスタンスからなるRACOneNodeに変換していきます。

[oracle@node1 ~]$ /oracle/product/19.0.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
~ 省略 ~
ora.racdb.db
      1        ONLINE  ONLINE       node1                    Open,HOME=/oracle/db
                                                             /product/19.0.0/db,S
                                                             TABLE
      2        ONLINE  ONLINE       node2                    Open,HOME=/oracle/db
                                                             /product/19.0.0/db,S
                                                             TABLE
ora.scan1.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------

■ インスタンス2の停止
srvctl stop instance -db <DB名> -instance <インスタンス名>

[oracle@node1 ~]$ srvctl stop instance -db racdb -instance racdb2
[oracle@node1 ~]$
[oracle@node1 ~]$ /oracle/product/19.0.0/grid/bin/crsctl stat res -t
~ 省略 ~
ora.racdb.db
      1        ONLINE  ONLINE       node1                    Open,HOME=/oracle/db
                                                             /product/19.0.0/db,S
                                                             TABLE
      2        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
ora.scan1.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------
[oracle@node1 ~]$

■ インスタンス2の削除(RACからインスタンス2を削除して、インスタンス1のみにする)
srvctl remove instance -db <DB名> -instance <インスタンス名>
⇒確認が求められるため、プロンプトで y を入力

[oracle@node1 ~]$ srvctl remove instance -db racdb -instance racdb2
Remove instance from the database racdb? (y/[n]) y
[oracle@node1 ~]$ /oracle/product/19.0.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
~ 省略 ~
ora.racdb.db
      1        ONLINE  ONLINE       node1                    Open,HOME=/oracle/db
                                                             /product/19.0.0/db,S
                                                             TABLE
ora.scan1.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------

■ サービスを作成
srvctl add service -db <DB名> -service <適当なサービス名> -preferred <インスタンス1の名前>

サービスが存在しないと変換時にエラーがでるため、事前にサービスを作成します

[oracle@node1 ~]$ srvctl add service -db racdb -service racone -preferred racdb1
[oracle@node1 ~]$ /oracle/product/19.0.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
~ 省略 ~
ora.racdb.db
      1        ONLINE  ONLINE       node1                    Open,HOME=/oracle/db
                                                             /product/19.0.0/db,S
                                                             TABLE
ora.racdb.racone.svc
      1        OFFLINE OFFLINE                               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------

■ DBタイプの変換
srvctl convert database -database <DB名> -instance <インスタンス1の名前> -dbtype raconenode

[oracle@node1 ~]$ srvctl convert database -database racdb -instance racdb1 -dbtype raconenode
[oracle@node1 ~]$ /oracle/product/19.0.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
~ 省略 ~
ora.racdb.db
      1        ONLINE  ONLINE       node1                    Open,HOME=/oracle/db
                                                             /product/19.0.0/db,S
                                                             TABLE
ora.racdb.racone.svc
      1        OFFLINE OFFLINE                               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       node2                    STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       node2                    STABLE
--------------------------------------------------------------------------------

[oracle@node1 ~]$ srvctl config database -db racdb
Database unique name: racdb
Database name: racdb
Oracle home: /oracle/db/product/19.0.0/db
Oracle user: oracle
Spfile: +DATA/RACDB/PARAMETERFILE/spfile.273.1142946957
Password file: +DATA/RACDB/PASSWORD/pwdracdb.258.1142945401
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA
Mount point paths:
Services: racone
Type: RACOneNode             ★TypeがRACOneNodeに変わった
Online relocation timeout: 30
Instance name prefix: racdb1
Candidate servers: node1
OSDBA group: dba
OSOPER group: oper
Database instances: racdb1_1
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0




0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?