91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle12.2怎么將分區移動到不同的表空間中

發布時間:2021-08-18 18:13:04 來源:億速云 閱讀:145 作者:chen 欄目:關系型數據庫

本篇內容主要講解“Oracle12.2怎么將分區移動到不同的表空間中”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Oracle12.2怎么將分區移動到不同的表空間中”吧!

下面的例子將演示如何聯機重定義多個分區并將基于范圍分區的表salestable的兩個分區移動到新表空間中。原始表jy.salestable的創建如下:

SQL> create table jy.salestable
  2  (s_productid number,
  3  s_saledate date,
  4  s_custid number,
  5  s_totalprice number)
  6  tablespace users
  7  partition by range(s_saledate)
  8  (partition sal10q1 values less than (to_date('01-apr-2010', 'dd-mon-yyyy')),
  9  partition sal10q2 values less than (to_date('01-jul-2010', 'dd-mon-yyyy')),
 10  partition sal10q3 values less than (to_date('01-oct-2010', 'dd-mon-yyyy')),
 11  partition sal10q4 values less than (to_date('01-jan-2011', 'dd-mon-yyyy')));

Table created.

這個例子會將分區sal10q1與sal10q2移動到example表空間中。sal10q3與sal10q4分區不會被移動。為了移動分區表空間example必須存在。這里已經先創建好了表空間example。對原始表jy.salestable創建一個本地分區索引,操作如下:

SQL> create index jy.sales_index on jy.salestable (s_saledate, s_productid, s_custid) local;

Index created.

注意,在12.2中也可以執行alter table ... move partition ... online語句來將分區移動到其它表空間中。

聯機重定義操作如下:
1.用要執行聯機重定義操作的用戶登錄數據庫

SQL> conn jy/jy@jypdb
Connected.

2.驗證原始表jy.salestable是否可以執行聯機重定義

SQL> begin
  2  dbms_redefinition.can_redef_table(
  3    uname => 'jy',
  4    tname => 'salestable',
  5    options_flag => DBMS_REDEFINITION.CONS_USE_ROWID,
  6    part_name => 'sal10q1, sal10q2');
  7  end;
  8  /

PL/SQL procedure successfully completed.

3.在新表空間example中創建中間表。因為這是對分區執行聯機重定義,因此中間表不能是分區表。

SQL> create table jy.int_salestb1
  2  (s_productid number,
  3  s_saledate date,
  4  s_custid number,
  5  s_totalprice number)
  6  tablespace example;

Table created.

SQL> create table jy.int_salestb2
  2  (s_productid number,
  3  s_saledate date,
  4  s_custid number,
  5  s_totalprice number)
  6  tablespace example;

Table created.

4.使用rowid方法來執行重定義操作

SQL> begin
  2  dbms_redefinition.start_redef_table(
  3    uname => 'jy',
  4    orig_table => 'salestable',
  5    int_table => 'int_salestb1, int_salestb2',
  6    col_mapping => NULL,
  7    options_flag => DBMS_REDEFINITION.CONS_USE_ROWID,
  8    part_name => 'sal10q1, sal10q2',
  9    continue_after_errors => TRUE);
 10  end;
 11  /

PL/SQL procedure successfully completed.

注意,part_name參數用來指定所有要重定義的分區,int_table參數用來指定每個分區所對應的中間表,continue_after_errors參數被設置為true,因此重定義操作即使當某個特定分區遇到錯誤也會繼續執行。

5.在中間表上創建任何本地索引

SQL> create index jy.int_sales1_index on jy.int_salestb1
  2  (s_saledate, s_productid, s_custid)
  3  tablespace example;

Index created.

SQL> create index jy.int_sales2_index on jy.int_salestb2
  2  (s_saledate, s_productid, s_custid)
  3  tablespace example;

Index created.

6.可選操作同步中間表

SQL> begin
  2  dbms_redefinition.sync_interim_table(
  3    uname => 'jy',
  4    orig_table => 'salestable',
  5    int_table => 'int_salestb1, int_salestb2',
  6    part_name => 'sal10q1, sal10q2',
  7    continue_after_errors => TRUE);
  8  end;
  9  /

PL/SQL procedure successfully completed.

7.完成重定義操作

SQL> begin
  2  dbms_redefinition.finish_redef_table(
  3    uname => 'jy',
  4    orig_table => 'salestable',
  5    int_table => 'int_salestb1, int_salestb2',
  6    part_name => 'sal10q1, sal10q2',
  7    continue_after_errors => TRUE);
  8  end;
  9  /

PL/SQL procedure successfully completed.

8.可選操作,查詢dba_redefinition_status視圖來確保對每個分區都重定義操作成功

SQL> select base_table_owner, base_table_name, operation, status from dba_redefinition_status;

no rows selected

如果有任何分區重定義失敗,視圖dba_redefinition_errors會顯示出錯誤原因,修正故障重新執行聯機重定義操作。

下面的查詢顯示了表jy.salestable有兩個分區已經移動到了新的表空間example中了

SQL> select partition_name, tablespace_name from dba_tab_partitions where table_name = 'SALESTABLE' and table_owner='JY';
PARTITION_NAME                                                                   TABLESPACE_NAME
-------------------------------------------------------------------------------- ------------------------------
SAL10Q1                                                                          EXAMPLE
SAL10Q2                                                                          EXAMPLE
SAL10Q3                                                                          USERS
SAL10Q4                                                                          USERS

到此聯機重定義操作完成

到此,相信大家對“Oracle12.2怎么將分區移動到不同的表空間中”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郴州市| 安陆市| 张家港市| 大港区| 巴东县| 蓬莱市| 三门峡市| 长子县| 托克逊县| 信丰县| 凤山市| 长岛县| 南江县| 赣州市| 甘洛县| 布尔津县| 景泰县| 福建省| 东乡族自治县| 广州市| 芷江| 耿马| 肇州县| 勃利县| 滦平县| 和林格尔县| 噶尔县| 阿瓦提县| 罗平县| 儋州市| 临武县| 枣阳市| 曲松县| 疏勒县| 长汀县| 齐齐哈尔市| 永嘉县| 娄底市| 岫岩| 平遥县| 新密市|