Bo's Oracle Station

查看: 4137|回复: 0

课程第35次(2018-08-27星期一)

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2018-8-27 19:54:41 | 显示全部楼层 |阅读模式
Skillset 3:
Section 3: Creating a Plug-in Tablespace Using the Transportable Tablespace Feature

create user sst identified by Sst1234;
grant connect,resource to sst;
rman target sys/oracle@prod1 catalog rc_admin/RC_ADMIN
convert datafile '/home/oracle/scripts/TRPDATA_6' from platform 'Solaris[tm] OE (64-bit)' format='/home/oracle/files/TRPDATA_6.dbf';
impdp system/oracle dumpfile=dump_dir:trans3_2.dmp transport_datafiles=/u01/app/oracle/oradata/PROD1/TRPDATA_6.dbf
alter tablespace trpdata read write;


  1. explain plan for
  2. SELECT c.cust_city, t.calendar_quarter_desc, SUM(s.amount_sold) sales_amount
  3. FROM sh.sales s, sh.times t, sh.customers c, sh.channels ch
  4. WHERE s.time_id = t.time_id AND s.cust_id = c.cust_id AND s.channel_id = ch.channel_id
  5. AND c.cust_state_province = 'FL'
  6. AND ch.channel_desc = 'Direct Sales'
  7. AND t.calendar_quarter_desc IN ('2000-01', '2000-02','1999-12') GROUP BY c.cust_city,
  8. t.calendar_quarter_desc;
复制代码

Screenshot.png

星型转换之后的执行计划:
Screenshot-1.png


建最大的维度表CUSTOMERS上的单行谓词   的位图连接索引(SALES):
  1. SQL> select  CONSTRAINT_NAME, CONSTRAINT_TYPE , STATUS, VALIDATED  from user_constraints where table_name='CUSTOMERS';

  2. CONSTRAINT_NAME                C STATUS   VALIDATED
  3. ------------------------------ - -------- -------------
  4. CUSTOMERS_COUNTRY_FK               R ENABLED  NOT VALIDATED
  5. SYS_C009620                       C ENABLED  VALIDATED
  6. SYS_C009621                       C ENABLED  VALIDATED
  7. SYS_C009622                       C ENABLED  VALIDATED
  8. SYS_C009623                       C ENABLED  VALIDATED
  9. SYS_C009624                       C ENABLED  VALIDATED
  10. SYS_C009625                       C ENABLED  VALIDATED
  11. SYS_C009626                       C ENABLED  VALIDATED
  12. SYS_C009627                       C ENABLED  VALIDATED
  13. SYS_C009628                       C ENABLED  VALIDATED
  14. SYS_C009629                       C ENABLED  VALIDATED
  15. SYS_C009630                       C ENABLED  VALIDATED
  16. SYS_C009631                       C ENABLED  VALIDATED
  17. SYS_C009632                       C ENABLED  VALIDATED
  18. SYS_C009633                       C ENABLED  VALIDATED
  19. SYS_C009634                       C ENABLED  VALIDATED
  20. CUSTOMERS_PK                       P ENABLED  NOT VALIDATED

  21. 17 rows selected.

  22. SQL> create bitmap index sales_cust_state_province   on sales ( cust_state_province )
  23.   2  from sales s , customers c
  24.   3  where s.cust_id=c.cust_id;
  25. from sales s , customers c
  26.                *
  27. ERROR at line 2:
  28. ORA-25954: missing primary key or unique constraint on dimension

  29. SQL>  alter table CUSTOMERS  modify constraint CUSTOMERS_PK  validate;

  30. Table altered.

  31. SQL> create bitmap index sales_cust_state_province   on sales ( cust_state_province )
  32.   2  from sales s , customers c
  33.   3  where s.cust_id=c.cust_id;
  34. from sales s , customers c
  35.                *
  36. ERROR at line 2:
  37. ORA-25122: Only LOCAL bitmap indexes are permitted on partitioned tables


  38. SQL> create bitmap index sales_cust_state_province   on sales ( cust_state_province )
  39.   2  from sales s , customers c
  40.   3  where s.cust_id=c.cust_id  local ;

  41. Index created.

  42. SQL>
复制代码
  1. SQL> explain plan for
  2. SELECT c.cust_city, t.calendar_quarter_desc, SUM(s.amount_sold) sales_amount
  3. FROM sh.sales s, sh.times t, sh.customers c, sh.channels ch
  4. WHERE s.time_id = t.time_id AND s.cust_id = c.cust_id AND s.channel_id = ch.channel_id
  5. AND c.cust_state_province = 'FL'
  6. AND ch.channel_desc = 'Direct Sales'
  7. AND t.calendar_quarter_desc IN ('2000-01', '2000-02','1999-12') GROUP BY c.cust_city,
  8. t.calendar_quarter_desc;  2    3    4    5    6    7    8  

  9. Explained.

  10. SQL>  @?/rdbms/admin/utlxplp

  11. PLAN_TABLE_OUTPUT
  12. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  13. Plan hash value: 1154733250

  14. -----------------------------------------------------------------------------------------------------------------------------------
  15. | Id  | Operation                              | Name                          | Rows  | Bytes | Cost (%CPU)| Time          | Pstart| Pstop |
  16. -----------------------------------------------------------------------------------------------------------------------------------
  17. |   0 | SELECT STATEMENT                      |                           |   351 | 22113 |   503   (1)| 00:00:07 |          |          |
  18. |   1 |  HASH GROUP BY                              |                           |   351 | 22113 |   503   (1)| 00:00:07 |          |          |
  19. |*  2 |   HASH JOIN                              |                           |   351 | 22113 |   502   (1)| 00:00:07 |          |          |
  20. |*  3 |    TABLE ACCESS FULL                      | TIMES                          |   274 |  4384 |    18   (0)| 00:00:01 |          |          |
  21. |*  4 |    HASH JOIN                              |                           |  1869 | 87843 |   483   (1)| 00:00:06 |          |          |
  22. |*  5 |     TABLE ACCESS FULL                      | CUSTOMERS                  |   383 |  9958 |   406   (1)| 00:00:05 |          |          |
  23. |   6 |     PARTITION RANGE SUBQUERY              |                           | 34469 |   706K|    76   (0)| 00:00:01 |KEY(SQ)|KEY(SQ)|
  24. |   7 |      TABLE ACCESS BY LOCAL INDEX ROWID| SALES                          | 34469 |   706K|    76   (0)| 00:00:01 |KEY(SQ)|KEY(SQ)|
  25. |   8 |       BITMAP CONVERSION TO ROWIDS     |                           |          |          |               |          |          |          |
  26. |   9 |        BITMAP AND                      |                           |          |          |               |          |          |          |
  27. |  10 |         BITMAP MERGE                      |                           |          |          |               |          |          |          |
  28. |  11 |          BITMAP KEY ITERATION              |                           |          |          |               |          |          |          |
  29. |  12 |           BUFFER SORT                      |                           |          |          |               |          |          |          |
  30. |* 13 |            TABLE ACCESS FULL              | CHANNELS                  |        1 |    13 |        3   (0)| 00:00:01 |          |          |
  31. |* 14 |           BITMAP INDEX RANGE SCAN     | SALES_CHANNEL_BIX          |          |          |               |          |KEY(SQ)|KEY(SQ)|
  32. |  15 |         BITMAP MERGE                      |                           |          |          |               |          |          |          |
  33. |  16 |          BITMAP KEY ITERATION              |                           |          |          |               |          |          |          |
  34. |  17 |           BUFFER SORT                      |                           |          |          |               |          |          |          |
  35. |* 18 |            TABLE ACCESS FULL              | TIMES                          |   274 |  4384 |    18   (0)| 00:00:01 |          |          |
  36. |* 19 |           BITMAP INDEX RANGE SCAN     | SALES_TIME_BIX                  |          |          |               |          |KEY(SQ)|KEY(SQ)|
  37. |* 20 |         BITMAP INDEX SINGLE VALUE     | SALES_CUST_STATE_PROVINCE |          |          |               |          |KEY(SQ)|KEY(SQ)|
  38. -----------------------------------------------------------------------------------------------------------------------------------

  39. Predicate Information (identified by operation id):
  40. ---------------------------------------------------

  41.    2 - access("S"."TIME_ID"="T"."TIME_ID")
  42.    3 - filter("T"."CALENDAR_QUARTER_DESC"='1999-12' OR "T"."CALENDAR_QUARTER_DESC"='2000-01' OR
  43.               "T"."CALENDAR_QUARTER_DESC"='2000-02')
  44.    4 - access("S"."CUST_ID"="C"."CUST_ID")
  45.    5 - filter("C"."CUST_STATE_PROVINCE"='FL')
  46.   13 - filter("CH"."CHANNEL_DESC"='Direct Sales')
  47.   14 - access("S"."CHANNEL_ID"="CH"."CHANNEL_ID")
  48.   18 - filter("T"."CALENDAR_QUARTER_DESC"='1999-12' OR "T"."CALENDAR_QUARTER_DESC"='2000-01' OR
  49.               "T"."CALENDAR_QUARTER_DESC"='2000-02')
  50.   19 - access("S"."TIME_ID"="T"."TIME_ID")
  51.   20 - access("S"."SYS_NC00008[        DISCUZ_CODE_2        ]quot;='FL')

  52. Note
  53. -----
  54.    - star transformation used for this statement

  55. 46 rows selected.
复制代码

1.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-11-1 09:21 , Processed in 0.037796 second(s), 28 queries .

快速回复 返回顶部 返回列表