OCI上では、ぽちぽちとWeb上から操作することはできるようになりましたが、まだまだ少しの差を乗り越えることができません。データ量が多い場合は慎重に対応ください。DBlinkは多重では操作できません。
前提
AサーバにあるPDB「ORCL_PDB1」をBサーバPDBへ移行する
■ Aサーバ作業
sqlplus / as sysdba
create user remote_user_for_clone identified by "パスワード";
grant create session,create pluggable database to remote_user_for_clone;
※「remote_user_for_clone」はCDBでの作業用のユーザID
■ Bサーバ作業
/u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/tnsnames.ora
orclr =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Aサーバ)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = aaaaa.bbbbb.oraclevcn.com)
)
)
※「Aサーバ」とは、ノードのIPアドレスを指します。
※「orclr」は、Bサーバで設定するtns接続子名です。
sqlplus / as sysdba
create database link source_pdb1 connect to remote_user_for_clone identified by "パスワード" using 'orclr';
※「source_pdb1」がBサーバに設定するデータベースリンク名です。
データベースリンクの確認
sqlplus / as sysdba
SELECT * FROM ALL_DB_LINKS
Database link 接続確認
select * from dual@source_pdb1;
DUM
---
X
⚫︎ ORA-02085 発生した場合
Database link 接続確認で ORA-02085
SQL> select * from dual@source_pdb1;
select * from dual@source_pdb1
*
ERROR at line 1:
ORA-02085: database link SOURCE_PDB1.aaaaa.bbbbb.ORACLEVCN.COM
connects to ORCL_PDB1.aaaaa.bbbbb.ORACLEVCN.COM
SQL> ALTER SESSION SET global_names = FALSE;
参考:https://qiita.com/shirok/items/258092e2024bd96899ef
Help: https://docs.oracle.com/error-help/db/ora-02085/
PDB作成
sqlplus / as sysdba
create pluggable database ORCL_PDB1 from ORCL_PDB1@source_pdb1 keystore identified by "パスワード" including shared key;
Pluggable database created.
作成が終われば、show pdbsなどで確認しましょう。
参考
■PDB指定
alter session set container=ORCL_PDB1;
■PDB削除
SQL> DROP PLUGGABLE DATABASE ORCL_PDB1 INCLUDING DATAFILES;
プラガブル・データベースが削除されました。