1. PDB创建执行步骤
1.1创建PDB
su - oracle
sqlplus /nolog
conn /as sysdba;
show pdbs; ---------可以先查看下当前CDB下面有哪些已存在的PDB,防止名称重复
select PDB from v$services;
select name,cdb,open_mode from v$database;
如果CDB列为NO,则说明不是CDB结构
1.1.1创建公有用户:
create user c##yangzhuangzhuang identified by yangzhuangzhuang;
1.1.2创建语句:
create pluggable database yangzhuangzhuang admin user yangzhuangzhuang identified by zhuangzhuangzhuang default tablespace users datafile '/home/db/oracle/oradata/ORC/yangzhuangzhuang.dbf' size 200m autoextend on maxsize unlimited file_name_convert=('/home/db/oracle/oradata/ORC/pdbseed','/home/db/oracle/oradata/ORC/pdbseed2') ;
注意:只需在其中一个节点上执行以下创建命令(最好在选择master节点):
1.1.3创建语法说明:
密码大小写是否敏感可以在CDB下面查看该参数:
sec_case_sensitive_logon,value=ture为大小写敏感,false则不区分大小写
pdb_name:要创建的PDB名称
username:PDB创建时必须预分配一个用户,指定要创建的用户名
password:为创建用户指定一个密码
[default tablespace users]:可选项,若不指定,则用户的默认表空间为system表空间,自定义表空间默认系统会创建
show pdbs # 检查PDB是否创建
1.2 OPEN 新PDB
alter pluggable database yangzhuangzhuang open;
show pdbs; # 检查PDB状态,变成READ WRITE 就OK了。
注意:依次登录所有节点,OPEN PDB至读写状态(read write),OPEN操作不要同时执行,最好先从MASTER节点开始
1.3 用户授权,开启密码校验
1.3.1切换到对应的PDB下;
alter session set container = yangzhuangzhuang;
show pdbs;
1.3.2 授予用户dba,resource,connect角色权限
grant dba,resource,connect to yangzhuangzhuang;
grant dba,resource,connect to yangzhuangzhuang identified by yangzhuangzhuang;
1.3.3(可选)查看用户角色
set linesize 100
col GRANTEE format a30
col GRANTED_ROLE format a30
select GRANTEE,GRANTED_ROLE from dba_role_privs
where grantee='YANGZHUANGZHUANG'
and granted_role in ('DBA','RESOURCE','CONNECT');
1.3.4 开启PDB下用户密码校验
@?/rdbms/admin/utlpwdmg.sql
1.3.5 查看配置文件default
col PROFILE format a20
set linesize 100
col limit format a15
col RESOURCE_NAME format a30
select profile,RESOURCE_NAME,RESOURCE_TYPE,LIMIT from dba_profiles;
默认的配置文件名称为profile=DEFAULT
select profile,RESOURCE_NAME,RESOURCE_TYPE,LIMIT
from dba_profiles
Where profile='DEFAULT';
主要注意几个资源名称:
FAILED_LOGIN_ATTEMPTS --用户失败登录尝试次数
PASSWORD_LIFE_TIME--用户密码生命周期(按规定要求是配置3个月90天)
PASSWORD_VERIFY_FUNCTION--密码校验函数
PASSWORD_GRACE_TIME--密码失效宽容期限(30天的宽容期限)
utlpwdmg.sql脚本执行完成之后,配置文件参数会默认进行初始化,只需要修改如下参数即可:
1.3.6 设置用户失效,旨在要求使用方强制修改密码,提高密码安全性和复杂度,避免由我方运维人员知晓
Create user test identified by "1qaz@1234";
col USERNAME format a20
select username,account_status
from dba_users
where oracle_maintained='N';
1.4 数据库服务器配置tnsnames,方便后期运维操作
cd $ORACLE_HOME/network/admin/
注意:添加前最好先备份下,vim tnsnames.ora编辑文件,仔细检查,不要配置错误
格式如下:
pdb=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.8.33)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pdb)
)
)
1.5 连接测试
所有节点都测试下
sql> conn yangzhuangzhuang/yangzhuangzhuang@pwb;
2. 删除PDB执行步骤
关闭所有节点下的指定PDB,PDB处于关闭状态才能删除
SQL>show pdbs;
2.1开启PDB数据库
SQL> alter pluggable database yangzhuangzhuang open;
Pluggable database altered.
2.2首先在所有节点上停止实例(PDB)
SQL> alter pluggable database yangzhuangzhuang close immediate;
Pluggable database altered.
2.3 单节点执行删除命令
SQL> drop pluggable database yangzhuangzhuang including datafiles;
Pluggable database dropped.
2.4.所有节点查看是否删除
SQL>show pdbs;