国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

輕松修改Oracle數據庫表的大小

2024-08-29 13:51:56
字體:
來源:轉載
供稿:網友
Oracle實際應用中,很多人可能會碰到這樣的問題。處于性能或者其他方面的考慮,需要改變某個表或者是某個用戶的所有表的表空間。通常的做法就是首先將表刪除,然后重新建表,在新建表時將表空間指定到我們需要改變的表空間。假如該用戶已經保存了大量數據,這種辦法就就顯得不是很方便,因為有大量數據需要提前備份出來。下面介紹一種利用數據庫的導出/導入功能來實現重新組織數據庫表空間的方法。 下面是一個簡單的例子,假定要將用戶db_zgxt下的全部表從表空間A轉換到表空間B,具體步驟(在Oracle 8.0.5 for NT環境)如下: 1、導出db_zgxt下的所有表(Dos控制臺下) EXP80 OWNER=db_zgxt FILE=Exp0326.DMP LOG=Exp0326.LOG 系統提示輸入用戶名和口令,回答完畢,系統就開始將db_zgxt下的所有表都導出到一個叫Exp0316.dmp的文件中。 2、刪除db_zgxt下的所有表(在SQL/PLUS中) 可以采用批處理的方式刪除掉db_zgxt下的所有表,生成批處理的語句如下:select ’drop table ’user_tables’;’ from user_tables; 3、采用導入參數 INDEXFILE導入db_zgxt用戶下的所有表(Dos控制臺下) IMP80 FULL=Y FILE=Exp0326.DMP INDEXFILE=db_zgxt.SQL LOG=Imp0326_1.LOG 系統提示輸入用戶名和口令,回答完畢,系統就開始將文件Exp0326.dmp導入到db_zgxt用戶下。 其中,指定參數INDEXFILE后,系統就將創建表和索引的語句寫到一個文件,這里是db_zgxt.sql中。該文件中包含了所有創建索引(CREATE INDEX)語句和創建表(CREATETABLE)語句,但是這里所有創建表的語句均加了注釋標志。在任何文本編輯器中打開并編輯該文件,去掉所有創建表語句的注釋標志,將所有的表空間名稱由A替換為B,同時對所有的創建索引語句加上注釋標志。這些工作作完以后,在SQL/PLUS中運行該腳本文件,這些表就被創建,其表空間由A變為B。 4、采用導入參數INDEXES=N 和IGNORE=Y將db_zgxt用戶的表數據導入庫中(Dos控制臺下) IMP80 FULL=Y INDEXES=N FILE=Exp0326.DMP IGNORE=Y LOG=Imp0326_2.LOG 其中,參數INDEXES=N是指將數據導入數據庫中時不加索引。IGNORE=Y是指在導入數據過程中,忽略表已經存在(table already exists)的錯誤。這樣Oralce就將數據和一些約束條件導入到第3步創建的表中。 5、創建索引 在文本編輯器中重新打開在第3步中創建的db_zgxt.sql腳本文件,這次,將所有創建表(CREATE TABLE)的語句加上注釋標志,然后將所有的創建索引(CREATE INDEX)語句去掉注釋標志。在SQL/PLUS中再次運行該腳本文件。 至此,已經成功的完成了將db_zgxt用戶下的全部表從表空間A轉換到表空間B的工作。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梁山县| 维西| 黑水县| 雷波县| 阿尔山市| 郎溪县| 石屏县| 水城县| 汉中市| 泰来县| 龙泉市| 土默特左旗| 唐河县| 横峰县| 大方县| 宕昌县| 遂宁市| 星子县| 鄂托克前旗| 闵行区| 金门县| 枣强县| 富阳市| 昌乐县| 张掖市| 贵德县| 安义县| 香港| 西乌珠穆沁旗| 延安市| 渝中区| 丹寨县| 岚皋县| 胶南市| 遵化市| 青川县| 越西县| 大厂| 清徐县| 双鸭山市| 县级市|