数据库管理-第九十三期 19c OCM之路-第四堂(01)(20230719)

这篇具有很好参考价值的文章主要介绍了数据库管理-第九十三期 19c OCM之路-第四堂(01)(20230719)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第九十三期 19c OCM之路-第四堂(01)(20230719)

距离上一期19c OCM之路已经过去了整整8天了,这中间发生的事情详见第九十二期。本期来到第四堂Performance management性能管理,但是一开始需要把上一堂的一些内容做一些调整和补遗。

第三堂调整与补遗

  1. Additional configuration 其他配置
    在上一堂的其他配置中,我是把并行相关内容放过去了,但是细度考点,新的考试内容是把并行放在了第四堂,因此放在那边不大合适。关于其他可能涉及的考试内容在这里补充一下:
-- 使用安全文件
create table profiles (id number,first_name varchar2(40),last_name varchar2(80),profile_info clob) lob(profile_info) store as securefile (tablespace sf_data compress low);

alter system set db_securefile=permitted;

-- 开启表闪回(根据题目要求)
sqlplus sys/oracle@pdbprod1 as sysdba
	create tablespace fra_tbs datafile '/u01/app/oracle/oradata/PRODCDB/PDBPROD1/fra_tbs01.dbf' size 20m autoextend on;
	create user fra_admin identified by oracle default tablespace fra_tbs quota unlimited on fra_tbs account unlock;
	grant dba,flashback archive administer to fra_admin;

sqlplus fra_admin/oracle@pdbprod1
	create flashback archive fra1 tablespace fra_tbs retention 1 year;
	alter table sh.promotions flashback archive fra1;
  1. 考点4:Managing Partitioning 管理分区
    这里可能遇到外键分区表:
原表:
create table orders
(
	order_id number(6),
	order_date date,
	order_mode varchar2(10),
	customer_id number(8,2),
	order_status number(2),
	order_total number(8,2),
	sales_rep_id number(6),
	constraint order_id_pk primary key(order_id)
) 
partition by range(order_date)
(
	partition 01_2005 values less than (to_date('01-APR-2005','dd-mon-yyyy')),
	partition 02_2005 values less than (to_date('01-JUL-2005','dd-mon-yyyy'),
	partition 03_2005 values less than (to_date('01-0CT-2005','dd-mon-yyyy'),
	partition 04_2005 values less than (to_date('01-JAN-2006','dd-mon-yyy')
);

-- 外键分区表
create table order_items
(
	order_id number(12) not null,
	line_item_id number(3),
	product _id number(6),
	unit_price number(8,2),
	quantity number(8),
	constraint order_items_fk foreign key(order_id),
	references orders(order_id)
)
partition by reference(order_items_fk);
  1. 考点8:Auditing 审计
    除了关于审计的数据库参数调整以为,应该还会有FGA(Fine-Grained Audit,细粒度审计)的相关考试内容:
BEGIN
	dbms_fga.add_policy(
		object_schema=>'HR',
		object_name=>'EMPOLYEES',
		policy_name=>'SALARY',
		audit_condition=>'salary is not null and commission_pct is not null',
		audit_column=>'salary,commission_pct',
		statement_types=>'select',
		audit_trail=>DBMS_FGA.DB_EXTENDED,
		audit_column_opts=>DBMS_FGA.ALL_COLUMNS
	);
END;
/

官方文档路径如下:
Oracle Database 19c
PL/SQL Packages and Types Reference
\qquad -> 69 DBMS_FGA
\qquad\qquad -> 69.3 Summary of DBMS_FGA Subprograms
\qquad\qquad\qquad -> 69.3.1 ADD_POLICY Procedure

考点0 将host01加入EMCC管理

本堂后后面的一些操作是可以通过EMCC来操作的,因此需要将host01加入EMCC管理,具体操作这里不再赘述,请前往数据库管理-第八十一期 保姆级EMCC搭建教程(20230606)查看。

考点1:Create synonym 创建同义词:

CREATE [OR REPLACE] [PUBLIC] SYNONYM [当前用户.]synonym_name
FOR [其他用户.]object_name;

create public synonym sales for sh.sale;

考点2:Configure Resource Manager 配置资源管理

官方文档路径如下:
Oracle Database 19c
Database Administrator’s Guide
-> Oracle® Database
\qquad -> Part IV Database Resource Management and Task Scheduling
\qquad\qquad -> 27 Managing Resources with Oracle Database Resource Manager
\qquad\qquad\qquad -> 27.1 About Oracle Database Resource Manager
\qquad\qquad\qquad\qquad ->27.1.3 About Resource Manager Administration Privileges
-> Oracle® Multitenant
\qquad -> Part V Using Oracle Features in a Multitenant Environment
\qquad\qquad -> 22 Using Oracle Resource Manager for PDBs
\qquad\qquad\qquad -> Managing CDB Resource Plans
\qquad\qquad\qquad\qquad -> Creating a CDB Resource Plan for Managing PDBs
->Oracle® Database
\qquad ->Part IV Database Resource Management and Task Scheduling
\qquad\qquad ->27 Managing Resources with Oracle Database Resource Manager
\qquad\qquad\qquad ->27.5 Creating a Complex Resource Plan
\qquad\qquad\qquad\qquad ->27.5.3 Creating Resource Consumer Groups
\qquad\qquad\qquad\qquad ->27.5.5 Creating a Resource Plan
\qquad\qquad\qquad\qquad ->27.5.6 Creating Resource Plan Directives

这里将12c OCM升级试的考点引入,建议使用EMCC来做:

  1. Assign SYSTEM user as a resource adminstrator privileges.
  2. Create resource plans to DAYTIME for PRODCDB and active it
    pdbprod1 get 6 parts shared resource of CDB
    pdbprod2 get 3 parts shared resource of CDB
    pdbprod3 get 1 parts shared resource of CDB
    PDB cannot get the extra 75% of availiable CPU time
    PDB cannot get the extra 50% parallel_servers_target
    可参考Oracle数据库管理每周一例(12.2,18c,19c) 2020-06-28
  3. Create two consumer group OLTP and OLAP in the pdbprod1, use comments indicated the group used.
  4. Create a resource management plan in pdbprod1
    a) Resource plan name: DAYTIMEPDB1
    b) For OLTP group cannot be allowed more than 25 active sessions. If 26 users try to log on, wait 90 seconds later, this connection will be terminated
    c) OLAP group has the maximum number of active sessions to 8. If you need extra eight sessions, the connection will be terminated after 150 seconds
    d) In OLTP group, an accepted longest query execution time is 5 seconds, if the query estimate exceeds 5 seconds, the query should be eliminated
    e) The maximum undo size for OLTP group is 350MB
    f)the CPU ratio for OLTP, OLAP and OTHER_GROUPS are 50, 40 and 10 respectively
    g) OLAP group should limit the degree of paralleism at 30
    h) If the session of OLAP group exceeds 8000 I/O or data transmission over 2000MB, it should be temporary put into LOW_GROUP group. When the call is complete, the session is returned back to the original group
    i) Active the plan
--题目1
sqlplus sys/oracle@prodcdb as sysdba
BEGIN
	DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SYSTEM_PRIVILEGE(
	GRANTEE_NAME =>'SYSTEM',
	PRIVILEGE_NAME => 'ADMINISTER_RESOURCE_MANAGER',
	ADMIN_OPTION => FALSE);
END;
/

--题目2
sqlplus sys/oracle@prodcdb as sysdba
exec DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA();
exec DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();

BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CDB_PLAN(
    plan		=> 'DAYTIME',
    comment		=> 'CDB resource plan');
END;
/

BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CDB_PLAN_DIRECTIVE(
    plan					=> 'DAYTIME', 
    pluggable_database		=> 'pdbprod1', 
    shares					=> 6, 
    utilization_limit		=> 75,
    parallel_server_limit	=> 50);
END;
/

BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CDB_PLAN_DIRECTIVE(
    plan					=> 'DAYTIME', 
    pluggable_database		=> 'pdbprod2', 
    shares					=> 3, 
    utilization_limit		=> 75,
    parallel_server_limit	=> 50);
END;
/

BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CDB_PLAN_DIRECTIVE(
    plan					=> 'DAYTIME', 
    pluggable_database		=> 'pdbprod3', 
    shares					=> 1, 
    utilization_limit		=> 75,
    parallel_server_limit	=> 50);
END;
/

-- exec DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
exec DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();

ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'DAYTIME';

--题目3
sqlplus sys/oracle@pdbprod1 as sysdba
exec DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA();
exec DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();

BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
   CONSUMER_GROUP => 'OLTP',
   COMMENT        => 'OLTP applications');
END;
/
exec DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();

exec DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA();
exec DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();

BEGIN
  DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
   CONSUMER_GROUP => 'OLAP',
   COMMENT        => 'OLAP applications');
END;
/
exec DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();

--题目4
sqlplus sys/oracle@pdbprod1 as sysdba
BEGIN
dbms_resource_manager.clear_pending_area();
dbms_resource_manager.create_pending_area();
dbms_resource_manager.create_plan( plan => 'DAYTIMEPDB1', comment => '',max_iops => NULL,max_mbps => NULL );
dbms_resource_manager.create_plan_directive(
    plan => 'DAYTIMEPDB1',
    group_or_subplan => 'OLAP',
    comment => '',
    switch_elapsed_time => NULL,
     max_utilization_limit => 40,
    mgmt_p1 => NULL, mgmt_p2 => NULL, mgmt_p3 => NULL, mgmt_p4 => NULL,
    mgmt_p5 => NULL, mgmt_p6 => NULL, mgmt_p7 => NULL, mgmt_p8 => NULL ,
    parallel_degree_limit_p1 => 30 ,
    parallel_target_percentage => NULL ,
    parallel_queue_timeout => NULL ,
    parallel_stmt_critical => 'false' ,
    switch_io_logical => NULL ,
    switch_io_reqs => 8000 ,
   switch_io_megabytes => 2000 ,
    active_sess_pool_p1 => 8,
    queueing_p1 => 150,
    switch_group => 'LOW_GROUP',
    switch_time => NULL,
    switch_estimate => case 'false' when 'false' then false when 'true' then true else false end,
    undo_pool => NULL ,
    max_idle_time => NULL,
    max_idle_blocker_time => NULL,
    switch_for_call => true

);
dbms_resource_manager.create_plan_directive(
    plan => 'DAYTIMEPDB1',
    group_or_subplan => 'OLTP',
    comment => '',
    switch_elapsed_time => 5,
     max_utilization_limit => 50,
    mgmt_p1 => NULL, mgmt_p2 => NULL, mgmt_p3 => NULL, mgmt_p4 => NULL,
    mgmt_p5 => NULL, mgmt_p6 => NULL, mgmt_p7 => NULL, mgmt_p8 => NULL ,
    parallel_degree_limit_p1 => NULL ,
    parallel_target_percentage => NULL ,
    parallel_queue_timeout => NULL ,
    parallel_stmt_critical => 'false' ,
    switch_io_logical => NULL ,
    switch_io_reqs => NULL ,
   switch_io_megabytes => NULL ,
    active_sess_pool_p1 => 25,
    queueing_p1 => 90,
    switch_group => 'CANCEL_SQL',
    switch_time => NULL,
    switch_estimate => case 'false' when 'false' then false when 'true' then true else false end,
    undo_pool => 358400 ,
    max_idle_time => NULL,
    max_idle_blocker_time => NULL,
    switch_for_call => case 'true' when 'false' then false when 'true' then true else false end

);
dbms_resource_manager.create_plan_directive(
    plan => 'DAYTIMEPDB1',
    group_or_subplan => 'OTHER_GROUPS',
    comment => '',
    switch_elapsed_time => NULL,
     max_utilization_limit => 10,
    mgmt_p1 => NULL, mgmt_p2 => NULL, mgmt_p3 => NULL, mgmt_p4 => NULL,
    mgmt_p5 => NULL, mgmt_p6 => NULL, mgmt_p7 => NULL, mgmt_p8 => NULL ,
    parallel_degree_limit_p1 => NULL ,
    parallel_target_percentage => NULL ,
    parallel_queue_timeout => NULL ,
    parallel_stmt_critical => 'false' ,
    switch_io_logical => NULL ,
    switch_io_reqs => NULL ,
   switch_io_megabytes => NULL ,
    active_sess_pool_p1 => NULL,
    queueing_p1 => NULL,
    switch_group => NULL,
    switch_time => NULL,
    switch_estimate => case 'false' when 'false' then false when 'true' then true else false end,
    undo_pool => NULL ,
    max_idle_time => NULL,
    max_idle_blocker_time => NULL,
    switch_for_call => case 'true' when 'false' then false when 'true' then true else false end

);
dbms_resource_manager.submit_pending_area();
END;
/

alter system set resource_manager_plan='DAYTIMEPDB1';

总结

本堂考试考点2的内容着实有点多,本堂剩余内容放在后面。
老规矩,知道写了些啥。文章来源地址https://www.toymoban.com/news/detail-597016.html

到了这里,关于数据库管理-第九十三期 19c OCM之路-第四堂(01)(20230719)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle19c数据库安装 - 基于Linux环境

    安装文件链接在文章末尾。 本文介绍多种在Linux环境下安装Oracle19c数据库软件和Oracle数据库的方式,多种方式选择其中一种即可,适用于19c数据库学习环境的配置。 数据库软件和数据库是不同的,都需要安装。 关闭防火墙和selinux 更改完reboot,使其生效 搭建yum,安装依赖包

    2024年02月15日
    浏览(63)
  • Oracle 19c 配置并启用PDB数据库

            在Oracle 19c多租户环境中,默认情况下,使用startup命令启动数据库实例后,你会发现PDB数据库的状态为MOUNT状态,PDB不会随着CDB启动而启动。 使用sqlplus以管理员身份登录数据库 如果数据库在oracle账号下,则切换到oracle账号 使用如下命令查看数据库类型  若是CDB,则

    2024年01月21日
    浏览(61)
  • oracle19c容器数据库rman备份特性-----性能优化(三)

    目录 冗余备份片 1.备份的时候指定 2.rman配置中设定 归档备份(将备份集保留) 二级备份(将备份文件保留) 1.备份闪回恢复区的恢复文件 2.备份所有恢复文件 recovery catalog database 1.創建recovery catalog 2.创建VPC  data recovery advisor 备份 如果一个数据文件很大,可以设置多通道并

    2024年02月01日
    浏览(56)
  • oracle 19c容器数据库data dump数据泵传输数据(4)---网络传输

    Transporting a Database Over the Network: Example 这个的方式导入可以不需要传输dmp文件,我原本是想从11g导入到pdb2的,但是因为版本的原因,就直接实验从pdb1导入到pdb2吧。 这种方式和前面完全传输的方式类似,不需要事先在目标数据库创建相同的表空间,而且不也不用有导出数据文

    2024年01月18日
    浏览(58)
  • 基于RHEL9,ORACLE LINUX 9安装Oracle 19c 数据库

    要基于RHEL9,ORACLE LINUX 9 或RHEL分支,安装ORACLE 19C 数据库,在一年前,没有人会告诉你能够成功,都会告诉你说19C只支持 RHEL7/8,在RHEL9上不支持, 如果你非要安装,在安装到11%时,就会报以下错误: Error in invoking target \\\' libasmclntsh19.ohso libasmperl19.ohso client_sharedlib \\\' of makefile \\\'/u

    2024年02月03日
    浏览(66)
  • Oracle数据库19c OCP 1z0-082考场真题解析第24题

    考试科目:1Z0-082 考试题量:90 通过分数:60% 考试时间:150min 本文为云贝教育郭一军guoyJoe原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。【云贝教育】Oracle 19c OCP 082题库解析(24) - 课程体系 - 云贝教育 24.Which three statements are true reg

    2024年01月18日
    浏览(53)
  • Oracle数据库从入门到精通系列之二十一:Oracle 19c数据库增加重做日志大小

    在此最佳实践中,我们增加了 Oracle 重做日志的大小以提高数据库性能。适当调整数据库重做日志的大小可以减少数据库中的等待事件,从而优化数据库系统。 数据库重做日志至少包含两个文件,负责存储对数据库所做的任何更新。重做日志对于数据库至关重要,因为它们可

    2024年04月26日
    浏览(53)
  • (第5天)进阶 RHEL 7 安装单机 Oracle 19C NON-CDB 数据库

    真快,实战第 5 天了,我们来讲讲 19C 的数据库安装吧!19C 是未来几年 Oracle 数据库的大趋势,同样的作为长期稳定版,11GR2 在 2020 年 10 月份官方就宣布停止 Support 了,19C 将成为新的长期稳定版,并持续支持到 2027 年,也就意味着 19C 版本将成为最佳选择! Oracle 19C 是支持

    2024年02月05日
    浏览(62)
  • <Oracle>《Linux 下安装Oracle数据库 - Oracle 19C By CentOS 8 》(第三部分)

    2.5.1 修改centos主机名 类型 英文 解释 静态 Static hostname 内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。 瞬态 Tansient hostname 系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。 灵活 Pretty hostname 有人叫做“别名”主机名,允许使用自由形式(包括

    2024年02月11日
    浏览(69)
  • 一百九十五、MySQL——MySQL数据库创建只读权限的账号(附流程截图)

    在团队开发过程中,为了实现数据共享以及避免其他团队修改库表数据,需要提供数据库只读权限的账号,因此以MySQL数据库为例,创建MySQL数据库只读权限的账号 以用户名readyonly   密码hurys@123为例 mysql create user \\\'readyonly\\\'@\\\'%\\\' IDENTIFIED BY \\\'hurys@123\\\'; 注意:如果创建用户名时设置

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包