欢迎光临
我们一直在努力

oracle 新增pdb环境,并通过database link实现跨服务器在线克隆

前提: 安装好数据库软件,并创建好CDB模式的数据库。

本文介绍内容: 一、 如何创建pdb,并创建表空间,用户

二、 并通过database link 在线跨服务器克隆此pdb。

一. 如何创建pdb,并创建表空间,用户

1. 登录数据库(CDB)

sqlplus / as sysdba

2. 查询到数据文件路径

select name from v$datafile;

3. 创建 pdb

CREATE PLUGGABLE DATABASE YXC ADMIN USER YXC_ADMIN IDENTIFIED BY YXC_ADMIN123
STORAGE (MAXSIZE 32G)
DEFAULT TABLESPACE YXC_DATA
DATAFILE '/u01/app/oracle/oradata/yun/YXC/YXC_DATA01.dbf' SIZE 1024M AUTOEXTEND ON
PATH_PREFIX = '/u01/app/oracle/oradata/yun/YXC/'
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/yun/pdbseed', 
'/u01/app/oracle/oradata/yun/YXC');

4. 创建表空间

create tablespace YXC_IDX datafile 
'/u01/app/oracle/oradata/yun/YXC/YXC_IDX01.dbf' size 1024m
autoextend on next 200m maxsize unlimited;

补充:

(1)更改表空间文件名称:

alter tablespace YXC_DATA rename datafile 
'/u01/app/oracle/oradata/yun/YXC/YXC_DATA01.dbf'  
to '/u01/app/oracle/oradata/yun/YXC/YXC_DATA02.dbf';

需要事先在操作系统层面创建目标文件。

(2)删除表空间

alter database default tablespace YXC_DATA;

如果是默认表空间,需要提前将默认表空间改成其它表空间 :

alter database default tablespace USERS;

5. 创建用户

create user yxc identified by yxc123 default tablespace YXC_DATA;

6. 赋权

grant connect ,resource to yxc;
grant imp_full_database,unlimited tablespace to yxc;

1. 源环境端

(1) . 创建克隆用户

SQL> create user c##clone identified by clone123 container=all;
SQL> grant dba to c##clone container=all;

2 目标端

create database link dblink_clone connect to c##clone identified by andy using '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =源端IP)(PORT = 1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME =源端CDB服务名)))';

(2) 修改文件映射

SQL> alter session set pdb_file_name_convert='yxc','yxc_clone';

(3) 克隆

SQL> create pluggable database yxc_clone from yxc@dblink_clone;

(4) 打开数据库

SQL> alter pluggable database yxc_clone open;
赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。