12.2 如何单为PDB创建AWR报告

只有12.2才有这个功能

http://docs.oracle.com/database/122/TGDBA/gathering-database-statistics.htm#TGDBA-GUID-D64AEB01-18FF-47EF-BB5C-A0611117D180

参考oracle官方博客

https://blogs.oracle.com/database4cn/122-%e5%a6%82%e4%bd%95%e5%8d%95%e4%b8%bapdb%e5%88%9b%e5%bb%baawr%e6%8a%a5%e5%91%8a


步骤如下:

1)设置PDB的awr_pdb_autoflush_enabled=true:


alter session set container=PDB1;


alter system set awr_pdb_autoflush_enabled=true;


2)设置AWR snpashot时间间隔为1小时:


select * from cdb_hist_wr_control;


DBID    SNAP_INTERVAL    RETENTION    TOPNSQL    CON_ID

2580889417    +40150 00:01:00.0    +00008 00:00:00.0    DEFAULT    3


execute dbms_workload_repository.modify_snapshot_settings(interval => 60);


select * from cdb_hist_wr_control;


DBID    SNAP_INTERVAL    RETENTION    TOPNSQL    CON_ID

2580889417    +00000 01:00:00.0    +00008 00:00:00.0    DEFAULT    3


3)同时注意AWR_SNAPSHOT_TIME_OFFSET这个参数建议设置成1000000 以防止过多PDB同时启动snapshot收集导致性能问题

http://docs.oracle.com/database/122/REFRN/AWR_SNAPSHOT_TIME_OFFSET.htm#REFRN10325


alter system set AWR_SNAPSHOT_TIME_OFFSET=1000000 scope=both;


4)等一段时间,等snapshot生成之后就可以生成AWR报告了:


SQL> select * from awr_pdb_snapshot;


或者,您也可以手工创建snapshot:


SQL> connect / as sysdba

SQL> alter session set container=PDB1;

SQL> exec dbms_workload_repository.create_snapshot();


执行生成AWR报告:

@?/rdbms/admin/awrrpt


Specify the location of AWR Data

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

AWR_ROOT - Use AWR data from root (default)

AWR_PDB - Use AWR data from PDB  <<<<<<<


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26964624/viewspace-2646979/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26964624/viewspace-2646979/

<think>嗯,用户想了解如何通过命令创建Oracle的PDB数据库,并需要具体的命令示例。首先,我需要回忆一下Oracle中创建PDB的几种常用方法。根据引用内容,用户提到的引用[1]到[4]主要涉及PDB的配置、启动、监听设置以及使用不同方法创建PDB的步骤。比如引用[4]提到使用`CREATE PLUGGABLE DATABASE`命令,并以`pdbseed`为模板创建PDB。还有引用[3]中提到了通过克隆现有PDB的方式,以及引用[2]中的环境变量设置可能和实例启动有关。 接下来,我需要确定创建PDB的不同方法,并整理出每种方法的步骤和命令示例。常见的创建方式包括使用种子数据库(PDB$SEED)、克隆现有PDB、插入已拔出的PDB等。此外,还需要注意用户是否有特定的Oracle版本要求,比如12c以上,因为引用[3]提到的是12C以上版本的实践。 另外,用户可能还需要知道创建后的必要操作,比如打开PDB、配置监听等,这在引用[3]中也有涉及。例如,创建完成后需要执行`ALTER PLUGGABLE DATABASE ... OPEN`来打开PDB,以及配置监听文件以便客户端连接。 需要注意的还有权限问题,比如用户需要以sysdba身份连接到CDB,并且可能需要授予本地用户适当的权限。引用[4]中提到创建时指定管理员用户,但权限可能未正确授予,所以在示例中需要明确如何正确分配权限。 最后,生成相关问题时要围绕创建PDB的不同方法、后续配置、权限管理和常见问题处理,这样用户能进一步深入学习。</think>### 通过命令创建Oracle PDB数据库的步骤及示例 以下是几种常见的Oracle PDB数据库创建方法及对应命令示例: --- #### **方法1:基于种子数据库(PDB$SEED)创建PDB** ```sql -- 连接到CDB的根容器 sqlplus / as sysdba -- 创建PDB(假设名称为NEW_PDB) CREATE PLUGGABLE DATABASE new_pdb ADMIN USER pdbadmin IDENTIFIED BY password FILE_NAME_CONVERT = ('/opt/oracle/oradata/CDB/pdbseed/', '/opt/oracle/oradata/CDB/new_pdb/') DEFAULT TABLESPACE users DATAFILE '/opt/oracle/oradata/CDB/new_pdb/users01.dbf' SIZE 100M AUTOEXTEND ON; ``` **说明**: - `FILE_NAME_CONVERT` 指定文件路径转换规则,将种子数据库文件复制到新PDB路径[^4]。 - 创建后需要执行`ALTER PLUGGABLE DATABASE new_pdb OPEN;`打开PDB[^3]。 --- #### **方法2:克隆现有PDB** ```sql -- 关闭源PDB并设置为只读模式 ALTER PLUGGABLE DATABASE source_pdb CLOSE; ALTER PLUGGABLE DATABASE source_pdb OPEN READ ONLY; -- 克隆PDB(假设目标PDB名称为cloned_pdb) CREATE PLUGGABLE DATABASE cloned_pdb FROM source_pdb FILE_NAME_CONVERT = ('/opt/oracle/oradata/CDB/source_pdb/', '/opt/oracle/oradata/CDB/cloned_pdb/'); -- 重新打开源PDB ALTER PLUGGABLE DATABASE source_pdb CLOSE; ALTER PLUGGABLE DATABASE source_pdb OPEN; ``` --- #### **方法3:插入已拔出的PDB** ```sql -- 插入一个已拔出的PDB(需提前准备好XML元数据文件) CREATE PLUGGABLE DATABASE remote_pdb USING '/path/to/pdb_metadata.xml' NOCOPY TEMPFILE REUSE; ``` --- ### **创建后必要操作** 1. **打开PDB**: ```sql ALTER PLUGGABLE DATABASE new_pdb OPEN; ``` 2. **配置监听**: 修改`listener.ora`,添加PDB服务名: ```ini SID_LIST_LISTENER = (SID_LIST = (SID_DESC = GLOBAL_DBNAME = CDB ORACLE_HOME = /opt/oracle/product/19c/dbhome_1 SID_NAME = ORCLCDB ) (SID_DESC = GLOBAL_DBNAME = new_pdb ORACLE_HOME = /opt/oracle/product/19c/dbhome_1 SID_NAME = ORCLCDB ) ) ``` 3. **创建本地用户并授权**: ```sql ALTER SESSION SET CONTAINER = new_pdb; CREATE USER app_user IDENTIFIED BY app_password; GRANT CREATE SESSION, RESOURCE TO app_user; ``` --- ### **验证PDB状态** ```sql SELECT name, open_mode FROM v$pdbs; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值