1,conn system/123456 as sysdba /*登录数据库*/
2,/*查看当前使用容器:当前是pdb还是cdb*/
select sys_context ('USERENV', 'CON_NAME') from dual;
/*查看数据库是否为多租户数据库(CDB)*/
SELECT CDB FROM V$DATABASE;
/*查看pdb数据库有哪些*/
select con_id, dbid, guid, name , open_mode from v$pdbs;
3,/*开始新增pdb*/
/*查看PDB的存放位置*/
select * from v$dbfile;
/*在PDB集中的位置创建ORCLPDBV2文件夹(用于存放实例pdb)*/
mkdir E:/ZS/SUNWAY/ORACLE/INSTALL/ORACLEBASE/ORADATA/ORCL/ORCLPDBV2
/*使用种子pdbseed(同级目录下)创建,相对路径,pdbseed指向存储位置orclpdbv2*/
create pluggable database orclpdbv2 admin user orclpdbv2 identified by lims
file_name_convert=('pdbseed','orclpdbv2');
########################################pdb到此创建完成###########################
4,/*此时需要配置(该步骤未执行则sqlplus或navicat登录失败)*/
进入:E:\zs\sunway\oracle\install\oracleBase\product\12.2.0\dbhome_1\network\admin\tnsnames.ora
编辑添加如下:
#############################新增实例二pdb##############################
#pdb
ORCLPDBV2=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
)
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCLPDBV2)
)
)
重启oracle服务(脚本重启)!!!
5,/*此时依然不能登录orclpdbv2 用户,因为还没有赋予权限*/
5-1,/*先切换到新创建的数据库pdb*/
conn system/123456 as sysdba #dba登录
select con_id, dbid, guid, name , open_mode from v$pdbs; #查看pdb数据库有哪些
alter session set container=orclpdbv2 ; #转换为pdb数据库
alter pluggable database orclpdbv2 open; #打开pdb数据库
select sys_context ('USERENV', 'CON_NAME') from dual; #当前是pdb还是cdb查看当前使用容器
5-2,
/*创建替换空间,用于导入(dmp文件)时替换文件路径,此时将dmp文件放进orclpdbv2_dmp(忽略此步骤)
#create or replace directory orclpdbv2_dmp as 'E:\zs\sunway\oracle\orclpdbv2_dmp';*/
/*查询当前用户所有表空间*/
select tablespace_name from dba_tablespaces;
/*查看当前用户的默认表空间*/
select username,default_tablespace from user_users;
/*如果存在表空间就删除*/
drop tablespace orclpdbv2 including contents;
/*创建表空间*/
create TABLESPACE orclpdbv2
LOGGING datafile 'E:\zs\sunway\oracle\orclpdbv2.dbf'
size 500m
autoextend on
next 500m maxsize unlimited
extent management local;
/*创建用户(该步骤,创建用户可以省略,因为上面创建的pdb已经创建了用户)
#Create user cqifdc_data Identified by lims Default tablespace cqifdc_data Temporary
#tablespace temp Quota 20m on users;*/
/*查看当前用户的角色*/
select * from user_role_privs;
/*查看当前用户的系统权限和表级权限*/
select * from user_sys_privs;
/*授权用户*/
Grant create session,dba to orclpdbv2 ;
GRANT CREATE ANY DIRECTORY TO orclpdbv2 ;
/*用新建账户登录*/
username:orclpdbv2
pass:lims
database:orclpdbv2
CONNECT: NORMAL
此时可以登录pdb,over!