如何在遥远的CDB迁移名为jypdb的PDB

技术远程CDB中怎么将名为jypdb的PDB进行迁移这篇文章主要介绍“远程CDB中怎么将名为jypdb的PDB进行迁移”,在日常操作中,相信很多人在远程CDB中怎么将名为jypdb的PDB进行迁移问题上存在疑惑,小编查阅

本文主要介绍“如何在偏远的CDB迁移名为jypdb的PDB”。在日常操作中,我相信很多人对于如何迁移偏远的CDB一个叫jypdb的PDB有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解答“如何在偏远的CDB迁移名为jypdb的PDB”的疑惑!接下来,请和边肖一起学习!

假设满足以下条件:当前用户在迁移的PDB所在的CDB的根容器中拥有创建可插拔数据库系统权限。目标CDB与PDB相连。当前CDB的数据库链接名为jycdb_link。dblink的创建语句如下:

createpublickdatabaselinkjycdb _ linkconnecttoc # # yyl

使用“jy”由“yyl”标识;当前PDB CDB的公共用户c##yyl拥有系统操作管理权限和创建可插拔数据库系统权限。未指定path_prefix子句。未指定file_name_convert和create_file_dest子句。当启用OMF或设置pdb_file_name_convert参数时,基于OMF配置或参数的设置文件将被移动到新目录。没有为PDB指定存储限制。因此,没有指定存储子句。目标目录中没有同名的临时文件,将创建一个新的临时文件。因此,没有指定tempfile重用子句。连接会自动从源PDB迁移到迁移的PDB。因此,请指定可用性max子句。

执行以下语句将PDB(jypdb)从远程CDB迁移到当前的CDB :

1.在偏远的CDB创建公共用户c##yyl

SQLcreateuserc # # yylidentifiedby ' yyl ' container=all;

用户创建。

SQLgrantsysoper,connect,resource,createpluggabledatabase TOC # # yylcontainer=all;

授予成功。2检查远程CDB是否使用本地撤消和存档。

SQLCOLUMNproperty _ nameFORMATA30

SQLCOLUMNproperty _ value format 30

结构化查询语言

SQLSELECTproperty _ name,property_value

2FROMdatabase_properties

3 where PrOperty _ name=' LOCAL _ UNDO _ ENabled ';

属性名属性值

-

LOCAL_UNDO_ENABLEDTRUE

SQLSELECTlog _ modeFROMv $数据库;

日志模式

-

归档因为远程CDB使用本地撤消和归档,所以没有必要将远程数据库设置为只读模式。

3.创建一个dblink,指定本地CDB(jy)中的距离和CBD(jy)。连接字符串中必须有(SERVER=PROTECTED)目录,否则您将收到“ora-010313360权限不足”错误。

sqlcreatepublickdatabaselinkjycdb

2connecttoc##yyliden

tified by "yyl"
  3    using '(DESCRIPTION =
  4      (ADDRESS_LIST =
  5        (ADDRESS = (PROTOCOL = TCP)(HOST =10.138.130.173)(PORT = 1521))
  6      )
  7      (CONNECT_DATA =
  8        (SERVER = DEDICATED)
  9        (SERVICE_NAME =jy)
 10      )
 11    )';

Database link created.

SQL> select * from dual@jycdb;

D
-
X

4.检查本地CDB是否使用了本地undo与归档

SQL> COLUMN property_name FORMAT A30
SQL> COLUMN property_value FORMAT A30
SQL>
SQL> SELECT property_name, property_value
  2  FROM   database_properties
  3  WHERE  property_name = 'LOCAL_UNDO_ENABLED';

PROPERTY_NAME                  PROPERTY_VALUE
------------------------------ ------------------------------
LOCAL_UNDO_ENABLED             TRUE

SQL> SELECT log_mode FROM   v$database;

LOG_MODE
------------
ARCHIVELOG

5.在本地CDB执行下面的语句来克隆可刷新的PDB

SQL> create pluggable database jypdb from jypdb@jycdb relocate availability max;

Pluggable database created.
SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
PDB$SEED                                                                                                                         READ ONLY
JYPDB                                                                                                                            READ WRITE

以read write方式来打开PDB以完成迁移操作

SQL> alter pluggable database jypdb open;

Pluggable database altered.

SQL> alter session set container=jypdb;

Session altered.

SQL> set long 200
SQL> set linesize 200
SQL> select name,open_mode from v$pdbs;

NAME                                                                                                                             OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
JYPDB                                                                                                                            READ WRITE

删除公共dblink

SQL> drop public database link jycdb;

Database link dropped.

检查远程PDB可以看到已经被删除了

到此,关于“远程CDB中怎么将名为jypdb的PDB进行迁移”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154588.html

(0)

相关推荐