<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    分享java帶來的快樂

    我喜歡java新東西

    更改Oracle數據庫表的表空間

    在Oracle數據庫 管理 系統中,創建庫表(table)時要分配一個表空間(tablespace),如果未指定表空間,則使用系統用戶確省的表空間。
      
      在Oracle實際應用中,我們可能會遇到這樣的問題。處于性能或者其他方面的考慮,需要改變某個表或者是某個用戶的所有表的表空間。通常的做法就是首先將表刪除,然后重新建表,在新建表時將表空間指定到我們需要改變的表空間。如果該用戶已經保存了大量數據,這種辦法就就顯得不是很方便,因為有大量數據需要提前備份出來。下面介紹一種利用數據庫的導出/導入功能來實現重新組織數據庫表空間的方法。
      
      下面是一個簡單的例子,假定要將用戶oa下的全部表從表空間A轉換到表空間B,具體步驟(在Oracle 9i for linux環境)如下:
      
      1.1. 導出db_zgxt下的所有表(Dos控制臺下) 導出db_zgxt下的所有表(Dos控制臺下)
      
      1. 導出db_zgxt下的所有表(Dos控制臺下)
      EXP oa/password@pararmount_server FILE=d:10_27_oa.dmp LOG=d:10_27_oa.LOG
      
      2. 刪除oa下的所有表(在SQL/PLUS中)
      
      可以采用批處理的方式刪除掉db_zgxt下的所有表,生成批處理的語句如下:
      
      --其中set head off將表頭信息去掉
      SET HEAD OFF
      SPOOL c:drop_tables.sql
      select ’drop table ’||table_name||’;’ from user_tables;
      spool off;
      @c:drop_tables.sql;
      sql >@drop_tables.sql
      
      3. 采用導入參數 INDEXFILE導入oa用戶下的所有表(Dos控制臺下)
      
      把建表和索引的語句導出到文件,其中建表語句是加注釋的,并沒有實際導入
      
      IMP oa/password@paramount_server FULL=Y FILE=d:10_27_oa.dmp INDEXFILE=d:altertablespace_table_index.SQL LOG=d:altertablespace.LOG
      
      其中,指定參數INDEXFILE后,系統就將創建表和索引的語句寫到一個文件,這里是altertablespace_table_index.SQL 中。該文件中包含了所有創建索引(CREATE INDEX)語句和創建表(CREATETABLE)語句,但是這里所有創建表的語句均加了注釋標志。在任何文本編輯器中打開并編輯該文件,去掉所有創建表語句的注釋標志,將所有的表空間名稱由A替換為B,同時對所有的創建索引語句加上注釋標志。這些工作作完以后,在SQL/PLUS中運行該腳本文件,這些表就被創建,其表空間由A變為B。
      
      采用導入參數INDEXES=N 和IGNORE=Y將db_zgxt用戶的表數據導入庫中(Dos控制臺下)
      
      4. 采用導入參數INDEXES=N 和IGNORE=Y將oa用戶的表數據導入庫中(Dos控制臺下)
      
      IMP oa/password@paramount_server FULL=Y INDEXES=N FILE=d:10_27_oa.dmp IGNORE=Y LOG=d:altertablespace.LOG
      
      其中,參數INDEXES=N是指將數據導入數據庫中時不加索引。IGNORE=Y是指在導入數據過程中,忽略表已經存在(table already exists)的錯誤。這樣Oralce就將數據和一些約束條件導入到第3步創建的表中。
      
      5. 創建索引
      
      在文本編輯器中重新打開在第3步中創建的altertablespace_table_index.SQL 腳本文件,這次,將所有創建表(CREATE TABLE)的語句加上注釋標志,然后將所有的創建索引(CREATE INDEX)語句去掉注釋標志。在SQL/PLUS中再次運行該腳本文件。
      
      至此,我們就成功完成了將oa用戶下的全部表從表空間A轉換到表空間B的工作。當然你可以只導入一部分表

    posted on 2007-06-30 20:43 強強 閱讀(317) 評論(0)  編輯  收藏 所屬分類: Oracle數據庫

    主站蜘蛛池模板: 日韩电影免费在线观看网址| 亚洲Av无码国产一区二区| 精选影视免费在线 | 日韩亚洲国产综合久久久| 亚洲免费电影网站| 亚洲国产精品国自产电影| 久久精品电影免费动漫| 亚洲精品国产成人99久久| 曰批全过程免费视频播放网站| 亚洲日本va午夜中文字幕一区| 亚洲视频免费播放| 99亚偷拍自图区亚洲| 国产精品无码一区二区三区免费 | 亚洲精品乱码久久久久久按摩| 一级毛片免费在线播放| 亚洲人色婷婷成人网站在线观看| 两个人日本WWW免费版 | 一本岛高清v不卡免费一三区| 亚洲一级免费视频| 精品少妇人妻AV免费久久洗澡| 国产成人高清亚洲一区91| 亚洲一本大道无码av天堂| 免费成人在线视频观看| 亚洲色欲www综合网| 成人免费无码大片A毛片抽搐 | 亚洲人成人网站在线观看| 国内永久免费crm系统z在线| 亚洲视频一区二区在线观看| 最新中文字幕电影免费观看| 看亚洲a级一级毛片| 亚洲理论电影在线观看| 无遮免费网站在线入口| 美美女高清毛片视频黄的一免费| 国产成人亚洲综合无码| 日本最新免费网站| 国产精品亚洲小说专区| 亚洲AV无码精品色午夜在线观看| 噼里啪啦电影在线观看免费高清| 美女被吸屁股免费网站| 亚洲视频在线免费播放| 在线a亚洲v天堂网2018|