Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle 18c नई सुविधा:विभाजन का ऑनलाइन संशोधन

Oracle डेटाबेस 18c में अब हम "ALTER TABLE MODIFY PARTITION" SQL कथन के माध्यम से तालिका के विभाजन की रणनीति को ऑनलाइन बदलते हैं।

यह नई सुविधा हमें परिवर्तन करने के लिए किसी भी संबद्ध डाउनटाइम की आवश्यकता के बिना तालिका के लिए विभाजन विधि को अनुकूलित करने में सक्षम बनाती है।

जब तक आप "अद्यतन तालिका" कथन के भाग के रूप में "अद्यतन सूचकांक" खंड निर्दिष्ट नहीं करते हैं:

- डेटाबेस सभी परिणामी संगत स्थानीय अनुक्रमणिका विभाजन या उप-विभाजनों को अनुपयोगी चिह्नित करता है।
- वैश्विक अनुक्रमणिका, या विभाजित वैश्विक अनुक्रमणिका के सभी विभाजन, अनुपयोगी के रूप में चिह्नित हैं और इन्हें फिर से बनाया जाना चाहिए।

यह उदाहरण RANGE विभाजन तालिका को HASH विभाजन तालिका में बदलने के लिए आवश्यक कार्यों का चरण दर चरण प्रदर्शन प्रदान करता है।

तालिका के विभाजन प्रदर्शित करें ATP01_CRED_PAG:


# sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Wed Jun 17 16:39:51 2020
Version 18.2.0.0.0

Copyright (c) 1982, 2018, Oracle. All rights reserved.

Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.2.0.0.0

SQL> select table_name, partition_name, partition_position from dba_tab_partitions where table_name='ATP01_CRED_PAG';

TABLE_NAME PARTITION_NAME PARTITION_POSITION
-----------------------------------------------------
ATP01_CRED_PAG PART_199501 1
ATP01_CRED_PAG PART_199412 2
ATP01_CRED_PAG PART_199506 3

SQL> select count(1) from ATP01_CRED_PAG partition (PART_199501);

COUNT(1)
----------
3908

SQL> select count(1) from ATP01_CRED_PAG partition (PART_199412);

COUNT(1)
----------
3984

SQL> select count(1) from ATP01_CRED_PAG partition (PART_199506);

COUNT(1)
----------
1363

तालिका ATP01_CRED_PAG की विभाजन विधि (RANGE) प्रदर्शित करें:


SQL> select owner, table_name, partitioning_type, autolist, interval, autolist_subpartition from dba_part_tables where table_name = 'ATP01_CRED_PAG';

OWNER TABLE_NAME PARTITION AUT INTERVAL AUT
-------- -------------- -------- ---- --------- ------
ADMIN ATP01_CRED_PAG RANGE NO NO

RANGE विभाजन तालिका को ऑनलाइन HASH विभाजित तालिका में बदलें:


SQL> ALTER TABLE ATP01_CRED_PAG MODIFY PARTITION BY HASH (DT_COMPETENCIA) PARTITIONS 3 ONLINE;

Table altered.

नई विभाजन विधि (HASH) प्रदर्शित करता है:


SQL> select owner, table_name, partitioning_type, autolist, interval, autolist_subpartition from dba_part_tables where table_name = 'ATP01_CRED_PAG';

OWNER TABLE_NAME PARTITION AUT INTERVAL AUT
-------- ------------- --------- --- -------- -----
ADMIN ATP01_CRED_PAG HASH NO NO

तालिका के विभाजन प्रदर्शित करें:


SQL> select table_name, partition_name, partition_position from dba_tab_partitions where table_name='ATP01_CRED_PAG';

TABLE_NAME PARTITION_NAME PARTITION_POSITION
----------------- ---------------- ------------------
ATP01_CRED_PAG SYS_P621 1
ATP01_CRED_PAG SYS_P622 2
ATP01_CRED_PAG SYS_P623 3

SQL> select count(1) from ATP01_CRED_PAG partition (SYS_P621);

COUNT(1)
----------
2651

SQL> select count(1) from ATP01_CRED_PAG partition (SYS_P622);

COUNT(1)
----------
6604

SQL> select count(1) from ATP01_CRED_PAG partition (SYS_P623);

COUNT(1)
----------
0

संदर्भ

विभाजित टेबल और इंडेक्स के लिए रखरखाव संचालन। https://docs.oracle.com/en/database/oracle/oracle-database/18/vldbg/maintenance-partition-tables-indexes.html#GUID-0E7793F7-B38A-427E-846B-7A8651F2A523


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गोद लेने के चरण में क्या होता है तैयारी

  2. Oracle - मुझे स्टैंडअलोन प्रक्रियाओं या कार्यों के बजाय संकुल का उपयोग क्यों करना चाहिए

  3. Oracle JDBC:अमान्य उपयोगकर्ता नाम/पासवर्ड (ora-01017)

  4. Oracle UTL_SMTP:Oracle वॉलेट प्रमाणीकरण का उपयोग करके अनुलग्नक उदाहरण के साथ मेल भेजें

  5. ओरेकल के लिए एमएस एक्सेस आसान रूपांतरण/माइग्रेशन