1. 程式人生 > >純乾貨:手把手地教你搭建Oracle Sharding資料庫分片技術

純乾貨:手把手地教你搭建Oracle Sharding資料庫分片技術

select TABLESPACE_NAME, BYTES/1024/1024 MB from sys.dba_data_files order by tablespace_name;
 
TABLESPACE_NAME                        MB
------------------------------ ----------
PRODUCTS_TSP                          100
SYSAUX                                690
SYSTEM                                880
TSP_SET_1                             100
UNDOTBS1                              410
USERS                                   5
 

select table_name, partition_name, tablespace_name from dba_tab_partitions where tablespace_name like 'C%TSP_SET_1' order by tablespace_name;
 
 
select table_name, partition_name, tablespace_name from dba_tab_partitions where tablespace_name like '%SET%';
col TABLE_NAME for a20
col PARTITION_NAME for a20
col TABLESPACE_NAME for a20
 /
 
TABLE_NAME           PARTITION_NAME       TABLESPACE_NAME
-------------------- -------------------- --------------------
CUSTOMERS            CUSTOMERS_P1         TSP_SET_1
ORDERS               CUSTOMERS_P1         TSP_SET_1
LINEITEMS            CUSTOMERS_P1         TSP_SET_1
 
select TABLESPACE_NAME, BYTES/1024/1024 MB from sys.dba_data_files;
 
TABLESPACE_NAME              MB
-------------------- ----------
SYSTEM                      880
SYSAUX                      690
UNDOTBS1                    410
USERS                         5
TSP_SET_1                   100
PRODUCTS_TSP                100
 

 
SQL> l
  1* select TABLESPACE_NAME, BYTES/1024/1024 MB from sys.dba_data_files
SQL> /
 
TABLESPACE_NAME              MB
-------------------- ----------
SYSTEM                      880
SYSAUX                      690
UNDOTBS1                    410
USERS                         5
TSP_SET_1                   100
PRODUCTS_TSP                100
 
6 rows selected.
 
SQL>   
SQL> 
SQL> 
SQL> 
SQL> 
SQL> select a.name Shard, count( b.chunk_number) Number_of_Chunks from
  2  gsmadmin_internal.database a, gsmadmin_internal.chunk_loc b where
  3  a.database_num=b.database_num 
group by
 a.name;
 
SHARD                          NUMBER_OF_CHUNKS
------------------------------ ----------------
sh1                                           6
sh2                                           6
 
SQL>
在on shard node 1上可以檢查:
[[email protected] trace]$ export ORACLE_SID=sh1
[[email protected]
trace]$ sqlplus "/ as sysdba"
 
SQL*Plus: Release 12.2.0.0.2 Beta on Mon May 9 23:51:44 2016
 
Copyright (c) 1982, 2015, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.0.2 - 64bit Beta
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
 
SQL> set pages 1000
SQL> select TABLESPACE_NAME, BYTES/1024/1024 MB from sys.dba_data_files order by
  2  tablespace_name;
 
TABLESPACE_NAME                        MB
------------------------------ ----------
C001TSP_SET_1                         100
C002TSP_SET_1                         100
C003TSP_SET_1                         100
C004TSP_SET_1                         100
C005TSP_SET_1                         100
C006TSP_SET_1                         100
PRODUCTS_TSP                          100
SYSAUX                                650
SYSTEM                                890
SYS_SHARD_TS                          100
TSP_SET_1                             100
UNDOTBS1                              110
USERS                                   5
 
13 rows selected.
 
SQL> 
SQL> col TABLE_NAME for a30   
SQL> col PARTITION_NAME for a30
SQL> col TABLESPACE_NAME for a30
SQL> 
SQL> select table_name, partition_name, tablespace_name from dba_tab_partitions
  2  where tablespace_name like 'C%TSP_SET_1' order by tablespace_name;
 
TABLE_NAME                     PARTITION_NAME                 TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
LINEITEMS                      CUSTOMERS_P1                   C001TSP_SET_1
CUSTOMERS                      CUSTOMERS_P1                   C001TSP_SET_1
ORDERS                         CUSTOMERS_P1                   C001TSP_SET_1
CUSTOMERS                      CUSTOMERS_P2                   C002TSP_SET_1
ORDERS                         CUSTOMERS_P2                   C002TSP_SET_1
LINEITEMS                      CUSTOMERS_P2                   C002TSP_SET_1
CUSTOMERS                      CUSTOMERS_P3                   C003TSP_SET_1
LINEITEMS                      CUSTOMERS_P3                   C003TSP_SET_1
ORDERS                         CUSTOMERS_P3                   C003TSP_SET_1
LINEITEMS                      CUSTOMERS_P4                   C004TSP_SET_1
CUSTOMERS                      CUSTOMERS_P4                   C004TSP_SET_1
ORDERS                         CUSTOMERS_P4                   C004TSP_SET_1
CUSTOMERS                      CUSTOMERS_P5                   C005TSP_SET_1
ORDERS                         CUSTOMERS_P5                   C005TSP_SET_1
LINEITEMS                      CUSTOMERS_P5                   C005TSP_SET_1
CUSTOMERS                      CUSTOMERS_P6                   C006TSP_SET_1
ORDERS                         CUSTOMERS_P6                   C006TSP_SET_1
LINEITEMS                      CUSTOMERS_P6                   C006TSP_SET_1
 
18 rows selected.
 
###########################################
在on shard node 2上可以檢查:
[
[email protected]
trace]$ export ORACLE_SID=sh2
[[email protected] trace]$ 
[[email protected] trace]$ 
[[email protected] trace]$ sqlplus "/ as sysdba"
 
SQL*Plus: Release 12.2.0.0.2 Beta on Mon May 9 23:52:06 2016
 
Copyright (c) 1982, 2015, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.0.2 - 64bit Beta
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
 
SQL> set pages 1000
SQL> select TABLESPACE_NAME, BYTES/1024/1024 MB from sys.dba_data_files order by
  2  tablespace_name;
 
TABLESPACE_NAME                        MB
------------------------------ ----------
C007TSP_SET_1                         100
C008TSP_SET_1                         100
C009TSP_SET_1                         100
C00ATSP_SET_1                         100
C00BTSP_SET_1                         100
C00CTSP_SET_1                         100
PRODUCTS_TSP                          100
SYSAUX                                650
SYSTEM                                890
SYS_SHARD_TS                          100
TSP_SET_1                             100
UNDOTBS1                              115
USERS                                   5
 
13 rows selected.
 
SQL> 
SQL> 
SQL> l
  1  select table_name, partition_name, tablespace_name from dba_tab_partitions
  2* where tablespace_name like 'C%TSP_SET_1' order by tablespace_name
SQL> /
 
TABLE_NAME                     PARTITION_NAME                 TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
ORDERS                         CUSTOMERS_P7                   C007TSP_SET_1
LINEITEMS                      CUSTOMERS_P7                   C007TSP_SET_1
CUSTOMERS                      CUSTOMERS_P7                   C007TSP_SET_1
ORDERS                         CUSTOMERS_P8                   C008TSP_SET_1
CUSTOMERS                      CUSTOMERS_P8                   C008TSP_SET_1
LINEITEMS                      CUSTOMERS_P8                   C008TSP_SET_1
LINEITEMS                      CUSTOMERS_P9                   C009TSP_SET_1
ORDERS                         CUSTOMERS_P9                   C009TSP_SET_1
CUSTOMERS                      CUSTOMERS_P9                   C009TSP_SET_1
LINEITEMS                      CUSTOMERS_P10                  C00ATSP_SET_1
ORDERS                         CUSTOMERS_P10                  C00ATSP_SET_1
CUSTOMERS                      CUSTOMERS_P10                  C00ATSP_SET_1
ORDERS                         CUSTOMERS_P11                  C00BTSP_SET_1
LINEITEMS                      CUSTOMERS_P11                  C00BTSP_SET_1
CUSTOMERS                      CUSTOMERS_P11                  C00BTSP_SET_1
LINEITEMS                      CUSTOMERS_P12                  C00CTSP_SET_1
CUSTOMERS                      CUSTOMERS_P12                  C00CTSP_SET_1
ORDERS                         CUSTOMERS_P12