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

本文介绍内容: 一、 如何创建pdb,并创建表空间,用户
二、 并通过database link 在线跨服务器克隆此pdb。一. 如何创建pdb,并创建表空间,用户1. 登录数据库(CDB)

sqlplus / as sysdba2. 查询到数据文件路径

select name from v$datafile;3. 创建 pdb

CREATE PLUGGABLE DATABASE YXC ADMIN USER YXC_ADMIN IDENTIFIED BY YXC_ADMIN123STORAGE (MAXSIZE 32G)DEFAULT TABLESPACE YXC_DATADATAFILE '/u01/app/oracle/oradata/yun/YXC/YXC_DATA01.dbf' SIZE 1024M AUTOEXTEND ONPATH_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 1024mautoextend 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;二. 通过database link 在线跨服务器克隆此pdb。1. 源环境端(1) . 创建克隆用户

SQL> create user c##clone identified by clone123 container=all;SQL> grant dba to c##clone container=all;2 目标端(1 ) 创建DBLINK

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;