Rumah pangkalan data tutorial mysql Heat Map and Automatic Data Optimization : part-1

Heat Map and Automatic Data Optimization : part-1

Jun 07, 2016 pm 04:36 PM
and data map op

oracle 12c 提供了一个新特性叫 Heat Map,它跟踪和标记数据可以达到row和block level,此特性可以在system和session级别启用。如果要使用ADO(Automatic Data Optimization)必须要在system级别启用。但是此特性 only works in a non-CDB environment,not supp

oracle 12c 提供了一个新特性叫 Heat Map,它跟踪和标记数据可以达到row和block level,此特性可以在system和session级别启用。如果要使用ADO(Automatic Data Optimization)必须要在system级别启用。但是此特性only works in a non-CDB environment,not supported with a multitenant container database (CDB),并且提供了以下视图查看

  • V$HEAT_MAP_SEGMENT:显示实时访问信息,包好object_name,object_number及容器ID
  • DBA_HEAT_MAP_SEGMENT:Displays the latest segment access time for all segments visible to the specified user
  • DBA_HEAT_MAP_SEG_HISTOGRAM:Displays access information for all segments visible to the specific user.
  • DBA_HEATMAP_TOP_OBJECTS:Displays access information for the top 1,000 object
  • DBA_HEATMAP_TOP_TABLESPACES:Displays access information for the top 100 tablespaces

Heat_map和ADO 结合使用示意图

heat_map_and_ado

CDB和non-CDB 测试

non-CDB

SQL> SELECT cdb FROM v$database ;
?
CDB
------
NO
?
--数据库NON-CDB
?
SQL> GRANT dba TO travel IDENTIFIED BY aa;
?
GRANT succeeded.
?
SQL> conn travel/aa
Connected.
?
USERNAME             INST_NAME    HOST_NAME                 SID   SERIAL#  VERSION    STARTED  SPID            OPID  CPID            SADDR            PADDR
-------------------- ------------ ------------------------- ----- -------- ---------- -------- --------------- ----- --------------- ---------------- ----------------
TRAVEL               noncdb       localhost.localdomain     33    11       12.1.0.1.0 20140525 4286            7     4259            000000009F68A408 000000009F9865B8
?
?
SQL> ALTER system SET heat_map=ON;
?
System altered.
?
SQL> CREATE TABLE heat_test AS SELECT * FROM all_objects;
?
TABLE created.
?
SQL> INSERT /*+ append */ INTO  heat_test SELECT * FROM heat_test;
?
88955 ROWS created.
?
SQL> commit;
?
Commit complete.
?
SQL>  INSERT /*+ append */ INTO  heat_test SELECT * FROM heat_test;
?
177910 ROWS created.
?
SQL> commit;
?
Commit complete.
?
--创建一张测试表
?
SQL> ALTER SESSION SET nls_date_format='yyyy-mm-dd hh:mi:ss';
?
SESSION altered.
?
SQL> col OBJECT_NAME FOR a15
SQL> SELECT OBJECT_NAME,SEGMENT_WRITE_TIME , SEGMENT_READ_TIME, FULL_SCAN FROM dba_heat_map_segment WHERE owner='TRAVEL';
?
OBJECT_NAME     SEGMENT_WRITE_TIME  SEGMENT_READ_TIME   FULL_SCAN
--------------- ------------------- ------------------- -------------------
HEAT_TEST                                               2014-05-25 05:44:00
?
SQL> col "Segment write" format A14
SQL> col "Full Scan" format A12
SQL> col "Lookup Scan" format a12
SQL>  SELECT object_name, track_time "Tracking Time",
  2   segment_write "Segment write",
  3   full_scan "Full Scan",
  4   lookup_scan "Lookup Scan"
  5   FROM DBA_HEAT_MAP_SEG_HISTOGRAM
  6   WHERE object_name='HEAT_TEST';
?
OBJECT_NAME     Tracking TIME       Segment WRITE  FULL Scan    Lookup Scan
--------------- ------------------- -------------- ------------ ------------
HEAT_TEST       2014-05-25 05:45:03 NO             YES          NO
?
SQL> SELECT compression, compress_for FROM dba_tables WHERE TABLE_NAME = 'HEAT_TEST';
?
COMPRESSION      COMPRESS_FOR
---------------- ------------------------------------------------------------
DISABLED
?
SQL> SELECT SUM(bytes)/1048576 FROM user_segments WHERE 
  2      segment_name='HEAT_TEST';
?
SUM(BYTES)/1048576
------------------
?
?
SQL> SELECT SUM(bytes)/1048576 FROM  dba_segments WHERE segment_name='HEAT_TEST';
?
SUM(BYTES)/1048576
------------------
                48
?
--查看了数据的heat_map情况和大小
?
添加ADO策略30天内没有修改进行压缩
SQL> ALTER TABLE  travel.HEAT_TEST  ILM ADD POLICY ROW STORE 
  2  COMPRESS ADVANCED SEGMENT AFTER 30 DAYS OF NO MODIFICATION;
?
TABLE altered.
?
查看policy
SQL> 
SQL> SELECT policy_name, action_type, scope, compression_level,
  2   condition_type, condition_days
  3   FROM   dba_ilmdatamovementpolicies
  4  ORDER BY policy_name;
?
POLICY_NAME                                                                                                                                                                                                                                                      ACTION_TYPE            SCOPE          COMPRESSION_LEVEL                                            CONDITION_TYPE                               CONDITION_DAYS
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------- -------------- ------------------------------------------------------------ -------------------------------------------- --------------
P1                                                                                                                                                                                                                                                               COMPRESSION            SEGMENT        ADVANCED                                                     LAST MODIFICATION TIME                                   30
?
SQL> col policy_name FOR a10
SQL> /
?
POLICY_NAM ACTION_TYPE            SCOPE          COMPRESSION_LEVEL                                            CONDITION_TYPE                               CONDITION_DAYS
---------- ---------------------- -------------- ------------------------------------------------------------ -------------------------------------------- --------------
P1         COMPRESSION            SEGMENT        ADVANCED                                                     LAST MODIFICATION TIME                                   30
?
SQL> col COMPRESSION_LEVEL FOR a20
SQL> /
?
POLICY_NAM ACTION_TYPE            SCOPE          COMPRESSION_LEVEL    CONDITION_TYPE                               CONDITION_DAYS
---------- ---------------------- -------------- -------------------- -------------------------------------------- --------------
P1         COMPRESSION            SEGMENT        ADVANCED             LAST MODIFICATION TIME                                   30
?
SQL> SELECT policy_name, object_name, inherited_from, enabled FROM dba_ilmobjects;
?
POLICY_NAM OBJECT_NAME     INHERITED_FROM                           ENABLED
---------- --------------- ---------------------------------------- --------------
P1         HEAT_TEST       POLICY NOT INHERITED                       YES
?
?
?
这里由于需要30天,所以通过修改低成表数据实现30天
?
SQL> CREATE OR REPLACE PROCEDURE set_stat (object_id      NUMBER,
  2   data_object_id NUMBER,
  3   n_days         NUMBER,
  4   p_ts#            NUMBER,
  5   p_segment_access NUMBER)
  6   AS
  7   BEGIN
  8   INSERT INTO sys.heat_map_stat$
  9   (obj#,
 10   dataobj#,
 11   track_time,
 12   segment_access,
 13   ts#)
 14   VALUES
 15   (object_id,
 16   data_object_id,
 17   sysdate - n_days,
 18   p_segment_access,
 19   p_ts# );
 20   commit;
 21   END;
 22   /
?
PROCEDURE created.
?
SQL> DECLARE
  2   v_obj# NUMBER;
  3   v_dataobj# NUMBER;
  4   v_ts#      NUMBER;
  5   BEGIN
  6   SELECT object_id, data_object_id INTO v_obj#, v_dataobj#
  7   FROM dba_objects
  8   WHERE object_name = 'HEAT_TEST'
  9   AND owner = 'TRAVEL';
 10   SELECT ts# INTO v_ts#
 11   FROM sys.ts$ a,
 12   dba_segments b
 13   WHERE  a.name = b.tablespace_name
 14   AND  b.segment_name = 'HEAT_TEST';
 15   commit;
 16   sys.set_stat
 17   (object_id         => v_obj#,
 18   data_object_id    => v_dataobj#,
 19   n_days            => 30,
 20   p_ts#             => v_ts#,
 21   p_segment_access  => 1);
 22   END;
 23   /
?
PL/SQL PROCEDURE successfully completed.
?
SQL> conn travel/aa
Connected.
?
USERNAME             INST_NAME    HOST_NAME                 SID   SERIAL#  VERSION    STARTED  SPID            OPID  CPID            SADDR            PADDR
-------------------- ------------ ------------------------- ----- -------- ---------- -------- --------------- ----- --------------- ---------------- ----------------
TRAVEL               noncdb       localhost.localdomain     1     7        12.1.0.1.0 20140525 4916            20    4553            000000009F6CA108 000000009F994798
?
?
SQL> 
手工执行
SQL> DECLARE
  2  v_executionid NUMBER;
  3  BEGIN
  4  dbms_ilm.execute_ILM (ILM_SCOPE      => dbms_ilm.SCOPE_SCHEMA,
  5                        execution_mode => dbms_ilm.ilm_execution_offline,
  6                        task_id        => v_executionid);
  7  END;
  8  /
?
PL/SQL PROCEDURE successfully completed.
?
?
查看任务执行
SQL> SELECT task_id, start_time AS start_time FROM user_ilmtasks;
?
   TASK_ID START_TIME
---------- -----------------------------
         2 25-MAY-14 05.52.39.737942 PM
?
?
查看任务详细洗洗
SQL> SELECT task_id, policy_name, object_name, selected_for_execution, job_name
  2  FROM user_ilmevaluationdetails
  3  WHERE task_id=2;
?
   TASK_ID POLICY_NAM OBJECT_NAME     SELECTED_FOR_EXECUTION   JOB_NAME
---------- ---------- --------------- ------------------------ ---------------------------------
         2 P1         HEAT_TEST       SELECTED FOR EXECUTION   ILMJOB42
查看结果
?
SQL> SELECT task_id, job_name, job_state, completion_time completion FROM user_ilmresults;
?
   TASK_ID JOB_NAME                JOB_STATE                  COMPLETION
---------- ----------------------- -------------------------- ---------------------------------------
         2 ILMJOB42                COMPLETED SUCCESSFULLY     25-MAY-14 05.52.43.834452 PM
?
SQL> col JOB_NAME FOR a20
SQL> SELECT task_id, job_name, job_state, completion_time completion FROM user_ilmresults;
?
   TASK_ID JOB_NAME             JOB_STATE                     COMPLETION
---------- -------------------- ----------------------------- ---------------------------------------------------------------------------
         2 ILMJOB42             COMPLETED SUCCESSFULLY        25-MAY-14 05.52.43.834452 PM
?
查看表大小
SQL> SELECT SUM(bytes)/1048576 FROM user_segments WHERE segment_name='HEAT_TEST';
?
SUM(BYTES)/1048576
------------------
                13
数据压缩了35M
Salin selepas log masuk

测试下CDB情况下的使用

SQL> SELECT cdb FROM v$database;
?
CDB
---
YES
?
SQL> ALTER system SET heat_map=ON;
?
System altered.
?
SQL> conn c##travel/aa
ERROR:
ORA-28001: the password has expired
?
?
Changing password FOR c##travel
NEW password: 
Retype NEW password: 
Password changed
Connected.
?
USERNAME             INST_NAME    HOST_NAME                 SID   SERIAL#  VERSION    STARTED  SPID            OPID  CPID            SADDR            PADDR
-------------------- ------------ ------------------------- ----- -------- ---------- -------- --------------- ----- --------------- ---------------- ----------------
C##TRAVEL            orcl         localhost.localdomain     57    11       12.1.0.1.0 20140525 5370            7     5067            000000009F711DA8 000000009FA3EB88
?
?
SQL>  CREATE TABLE heat_test AS SELECT * FROM all_objects;
?
TABLE created.
?
SQL> INSERT /*+ append */ INTO  heat_test SELECT * FROM heat_test;
?
89347 ROWS created.
?
SQL> commit;
?
Commit complete.
?
SQL> ALTER TABLE  HEAT_TEST  ILM ADD POLICY ROW STORE 
  2  COMPRESS ADVANCED SEGMENT AFTER 30 DAYS OF NO MODIFICATION;
ALTER TABLE  HEAT_TEST  ILM ADD POLICY ROW STORE
*
ERROR at line 1:
ORA-38343: ADO online mode NOT supported WITH supplemental logging enabled
?
?
SQL> !oerr ora 38343
38343, 00000, "ADO online mode not supported with supplemental logging enabled"
// *Cause: An attempt was made TO perform an automatic DATA optimization (ADO)
//         operation WITH supplemental logging enabled.
// *Action: Disable supplemental logging OR switch TO ADO offline mode AND retry.
?
SQL> conn  / AS sysdba
Connected.
?
USERNAME             INST_NAME    HOST_NAME                 SID   SERIAL#  VERSION    STARTED  SPID            OPID  CPID            SADDR            PADDR
-------------------- ------------ ------------------------- ----- -------- ---------- -------- --------------- ----- --------------- ---------------- ----------------
SYS                  orcl         localhost.localdomain     57    13       12.1.0.1.0 20140525 5455            7     5067            000000009F711DA8 000000009FA3EB88
?
?
SQL> ALTER DATABASE DROP supplemental log ;
ALTER DATABASE DROP supplemental log
                                    *
ERROR at line 1:
ORA-00905: missing keyword
?
?
SQL> ALTER DATABASE DROP supplemental log DATA;
?
DATABASE altered.
?
SQL> conn c##travel/aa
Connected.
?
USERNAME             INST_NAME    HOST_NAME                 SID   SERIAL#  VERSION    STARTED  SPID            OPID  CPID            SADDR            PADDR
-------------------- ------------ ------------------------- ----- -------- ---------- -------- --------------- ----- --------------- ---------------- ----------------
C##TRAVEL            orcl         localhost.localdomain     57    15       12.1.0.1.0 20140525 5467            7     5067            000000009F711DA8 000000009FA3EB88
?
?
SQL> ALTER TABLE  HEAT_TEST  ILM ADD POLICY ROW STORE 
  2  COMPRESS ADVANCED SEGMENT AFTER 30 DAYS OF NO MODIFICATION;
ALTER TABLE  HEAT_TEST  ILM ADD POLICY ROW STORE
*
ERROR at line 1:
ORA-38342: heat map NOT enabled
?
?
SQL> SHOW parameter heat_map
?
NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------------------------------------------------------------------------------------------
heat_map                             string      ON
SQL>
Salin selepas log masuk

证明了only works in a non-CDB environment,not supported with a multitenant container database (CDB)

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah springboot membaca senarai, tatasusunan, koleksi peta dan objek dalam fail yml? Bagaimanakah springboot membaca senarai, tatasusunan, koleksi peta dan objek dalam fail yml? May 11, 2023 am 10:46 AM

application.yml mentakrifkan koleksi senarai Cara pertama ialah menggunakan anotasi @ConfigurationProperties untuk mendapatkan semua nilai jenis koleksi senarai:kod:status:-200-300-400-500. Tulis kelas entiti yang sepadan fail konfigurasi. Apa yang perlu diperhatikan di sini ialah mentakrifkan Koleksi senarai, mula-mula tentukan kelas konfigurasi Bean, dan kemudian gunakan anotasi @ConfigurationProperties untuk mendapatkan nilai koleksi senarai Di sini kami akan menerangkan peranan anotasi yang berkaitan. @Component menyerahkan kelas entiti kepada pengurusan Spring @ConfigurationPropertie

Bagaimana untuk menetapkan peta masa tamat tempoh di Jawa Bagaimana untuk menetapkan peta masa tamat tempoh di Jawa May 04, 2023 am 10:13 AM

1. Latar belakang teknikal Dalam pembangunan projek sebenar, kami sering menggunakan perisian tengah caching (seperti redis, MemCache, dll.) untuk membantu kami meningkatkan ketersediaan dan keteguhan sistem. Tetapi dalam banyak kes, jika projek itu agak mudah, tidak perlu memperkenalkan perisian tengah secara khusus seperti Redis untuk meningkatkan kerumitan sistem untuk menggunakan caching. Jadi adakah Java sendiri mempunyai komponen caching ringan yang berguna? Jawapannya sudah tentu ya, dan terdapat lebih daripada satu cara. Penyelesaian biasa termasuk: ExpiringMap, LoadingCache dan pembungkusan berasaskan HashMap. 2. Kesan teknikal untuk merealisasikan fungsi biasa cache, seperti strategi pemadaman lapuk, pemanasan data hotspot 3. ExpiringMap3.

Apakah cara untuk melaksanakan keselamatan benang untuk Peta di Jawa? Apakah cara untuk melaksanakan keselamatan benang untuk Peta di Jawa? Apr 19, 2023 pm 07:52 PM

Kaedah 1. Gunakan HashtableMapashtable=newHashtable(); Ini adalah perkara pertama yang semua orang fikirkan, jadi mengapa ia selamat untuk thread? Kemudian lihat pada kod sumbernya. Kita dapat melihat bahawa kaedah yang biasa kita gunakan seperti put, get, dan containsKey semuanya adalah segerak, jadi ia adalah thread-safe publicsynchronizedbooleancontainsKey(Objectkey){Entrytab[]=table;inthash=key. hashCode( );intindex=(hash&0x7FFFFFFF)%tab.leng

Penerokaan yang mendalam tentang aspek struktur dan fungsi OP Stack Penerokaan yang mendalam tentang aspek struktur dan fungsi OP Stack Jan 18, 2024 pm 05:45 PM

OPStack ialah rangka kerja blockchain sumber terbuka yang dikeluarkan oleh Optimism Collective, kumpulan pembangunan di sebalik Optimism Network. Ia adalah alat penting untuk kedua-dua komuniti Ethereum dan Optimisme. Matlamat utama OPStack adalah untuk mengukuhkan Rangkaian Optimisme, menyediakan alatan perisian utama kepada Optimisme Mainnet, serta Optimisme Superchain yang akan datang dan model tadbir urusnya. Dengan menyediakan persekitaran berorientasikan pembangun, idea teras OPStack adalah untuk menggalakkan pertumbuhan dan inovasi dalam ruang Ethereum. Ia membuka jalan untuk pembangunan termaju dan menjadikan penciptaan blockchain lebih mudah. OPStac

Cara menukar objek kepada Peta dalam Java - menggunakan BeanMap Cara menukar objek kepada Peta dalam Java - menggunakan BeanMap May 08, 2023 pm 03:49 PM

Terdapat banyak cara untuk menukar javabeans dan peta, seperti: 1. Tukar beans kepada json melalui ObjectMapper, dan kemudian menukar json kepada map Namun, kaedah ini adalah rumit dan tidak cekap, 10,000 beans telah ditukar dalam satu gelung. ia mengambil masa 12 saat! ! ! Tidak disyorkan. 2. Dapatkan atribut dan nilai kelas kacang melalui refleksi Java, dan kemudian tukarkannya kepada pasangan nilai kunci yang sepadan dengan peta Kaedah ini adalah yang kedua terbaik, tetapi ia lebih menyusahkan. 3. Melalui kaedah net.sf.cglib.beans.BeanMap di dalam kelas, kaedah ini sangat cekap Perbezaan antara kaedah ini dan kaedah kedua ialah kerana ia menggunakan cache, ia perlu dimulakan apabila mencipta bean untuk yang pertama. masa.

Bagaimana untuk mengkonfigurasi dan menggunakan modul peta dalam pelayan Nginx Bagaimana untuk mengkonfigurasi dan menggunakan modul peta dalam pelayan Nginx May 21, 2023 pm 05:14 PM

Arahan peta disediakan oleh modul ngx_http_map_module. Secara lalai, nginx memuatkan modul ini melainkan secara buatan --tanpa-http_map_module. Modul ngx_http_map_module boleh mencipta pembolehubah yang nilainya dikaitkan dengan nilai pembolehubah lain. Membenarkan pengelasan atau pemetaan serentak berbilang nilai kepada berbilang nilai yang berbeza dan storan dalam pembolehubah Arahan peta digunakan untuk mencipta pembolehubah, tetapi hanya menjalankan operasi pemetaan paparan apabila pembolehubah diterima memproses permintaan yang tidak merujuk pembolehubah, ini Modul ini tidak mempunyai kelemahan prestasi. 1.ngx_http_map_module modul arahan penerangan sintaks peta

Optimumkan prestasi peta bahasa Go Optimumkan prestasi peta bahasa Go Mar 23, 2024 pm 12:06 PM

Mengoptimumkan prestasi peta bahasa Go Dalam bahasa Go, peta ialah struktur data yang sangat biasa digunakan, digunakan untuk menyimpan koleksi pasangan nilai kunci. Walau bagaimanapun, prestasi peta mungkin terjejas apabila memproses sejumlah besar data. Untuk meningkatkan prestasi peta, kami boleh mengambil beberapa langkah pengoptimuman untuk mengurangkan kerumitan masa operasi peta, dengan itu meningkatkan kecekapan pelaksanaan program. 1. Pra-peruntukkan kapasiti peta Apabila membuat peta, kita boleh mengurangkan bilangan pengembangan peta dan meningkatkan prestasi program dengan pra-peruntukan kapasiti. Secara umumnya, kami

Pemahaman mendalam tentang rangkaian OP Mainnet: Apakah jenis rantaian OP Mainnet? Pemahaman mendalam tentang rangkaian OP Mainnet: Apakah jenis rantaian OP Mainnet? Jan 24, 2024 am 11:30 AM

Sebelum ini, Optimisme secara rasmi mengumumkan bahawa rantai Optimisme telah ditukar nama kepada OPMainnet Mungkin ada yang bertanya apakah rantai OPMainnet? Menurut maklumat semasa, OPMainnet ialah rantaian super sumber terbuka yang didedikasikan untuk membiayai barangan awam dengan cara yang mampan Ia adalah salah satu daripada banyak rantaian L2 yang boleh berkomunikasi dengan lancar dengan Base, ZoraNetwork, PGN, Redstone dan rantaian lain, tetapi ia tidak. bukan satu blok, ia mewakili dua puluh keseluruhan rangkaian super rantai. Editor di bawah akan bercakap tentang OPMainnet ini secara terperinci untuk membantu anda memahami rangkaian OPMainnet. Apakah rantai OPMainnet? OPmainnet ialah Ethernet

See all articles