ORACLE 19C中PDB实例的创建及删除

1. PDB创建执行步骤

1.1 创建PDB

su - oracle

sqlplus /nolog

conn /as sysdba;

show pdbs; ---------可以先查看下当前CDB下面有哪些已存在的PDB,防止名称重复

create pluggable database pdb_name admin user username identified by password [default tablespace tablespace_name];

注意:只需在其中一个节点上执行以下创建命令(最好在选择master节点):

说明:

密码大小写是否敏感可以在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 pdb_name open;

show pdbs; # 检查PDB状态,变成READ WRITE 就OK了。

注意:依次登录所有节点,OPEN PDB至读写状态(read write),OPEN操作不要同时执行,最好先从MASTER节点开始

1.3 用户授权,开启密码校验

切换到对应的PDB下alter session set container = testrac;

show pdbs;

2. 授予用户dba,resource,connect角色权限

grant dba,resource,connect to testrac;

3.(可选)查看用户角色

select * from dba_role_privs where grantee='TESTRAC' and granted_role in ('DBA','RESOURCE','CONNECT');

4. 开启PDB下用户密码校验

@?/rdbms/admin/utlpwdmg.sql

5. 查看配置文件default

select * from dba_profiles;

默认的配置文件名称为profile=DEFAULT

主要注意以下几个资源名称:

FAILED_LOGIN_ATTEMPTS --用户失败登录尝试次数

PASSWORD_LIFE_TIME--用户密码生命周期(按规定要求是配置3个月90天)

PASSWORD_VERIFY_FUNCTION--密码校验函数

PASSWORD_GRACE_TIME--密码失效宽容期限(30天的宽容期限)

utlpwdmg.sql脚本执行完成之后,配置文件参数会默认进行初始化,只需要修改如下参数即可:

可另开一个窗口查看utlpwdmg.sql脚本对应的ORA12C_VERIFY_FUNCTION函数(不同版本可能不太一样)

6. 设置用户失效,旨在要求使用方强制修改密码,提高密码安全性和复杂度,避免由我方运维人员知晓

alter user testrac password expire;

select username,account_status from dba_users where oracle_maintained='N';

1.4 数据库服务器配置tnsnames,方便后期运维操作

cd $ORACLE_HOME/network/admin/

注意:添加前最好先备份下,vim tnsnames.ora编辑文件,仔细检查,不要配置错误

格式如下:

TESTRAC =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = scan域名)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = TESTRAC )

)

1.5 连接测试

所有节点都测试下

sql> conn testrac/testrac@testrac;

2. 删除PDB执行步骤

关闭所有节点下的指定PDB,PDB处于关闭状态才能删除SQL>show pdbs;

首先在所有节点上停止实例(PDB)

SQL> alter pluggable database testrac close immediate;

Pluggable database altered.

2. 单节点执行删除命令

SQL> drop pluggable database testrac including datafiles;

Pluggable database dropped.

3.所以节点查看是否删除

SQL>show pdbs;


文章标签:

原文连接:https://blog.csdn.net/xin_shou123/article/details/123879415

相关推荐

全链路灰度在数据库上我们是怎么做的?

MySQL约束

MongoDB安装教程

FTP服务配置

【云原生】Docker部署数据库的持久化

MySQL - 函数及约束命令

【云原生】风云暗涌的时代,DBA们的利刃出鞘了

没错,列式存储非常牛。但是,Ta还可以更高效

SpringBoot数据库管理 - 用flyway对数据库管理和迁移

Redis如何实现持久化?详细讲解RDB的三种触发机制及其优缺点,带你快速掌握RDB

效率低?响应慢?报表工具痛点及其解决方案

使用systemd,把服务装进 Linux 心脏里~

C2B模式下优惠券架构演进

《MySQL高级篇》四、索引的存储结构

学习 MySQL 需要知道的 28 个小技巧

数据库持久化+JDBC数据库连接

shell脚本实现mysql数据库双机定时备份

详解缓存穿透、缓存雪崩、缓存击穿

图文详解Redis集群与扩展

【云原生】SQL(及存储过程)跑得太慢怎么办?