隨筆-7  評論-24  文章-102  trackbacks-0


          1、創建和設置表空間

          CREATE TABLESPACE mydb2
            DATAFILE 'D:\oracle\product\10.2.0\oradata\test\MYDB4.DBF'
            SIZE 30M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED,
            'D:\oracle\product\10.2.0\oradata\test\MYDB5.DBF'
            SIZE 20M AUTOEXTEND ON NEXT 5 MAXSIZE 100M;

          ALTER DATABASE DATAFILE 'D:\oracle\product\10.2.0\oradata\test\MYDB4.DBF' RESIZE 40M;

          ALTER DATABASE DATAFILE 'D:\oracle\product\10.2.0\oradata\test\MYDB5.DBF'
            AUTOEXTEND ON NEXT 10M
            MAXSIZE UNLIMITED;

          ps.
          如果文件不存在,則 DATAFILE 需要 SIZE;如果文件存在,則 DATAFILE 需要指定 REUSE 關鍵字。



          2、更改用戶默認表空間,并授權

          ALTER USER kiant DEFAULT TABLESPACE mydb2;

          SELECT USERNAME, DEFAULT_TABLESPACE FROM dba_users;

          GRANT UNLIMITED TABLESPACE, DBA TO kiant;



          3、創建表并插入測試數據

          CREATE TABLE k7 (a1 VARCHAR2(255));

          SELECT * FROM dba_tables WHERE table_name= 'K7';

          INSERT INTO  k7 SELECT sys_guid() FROM dual CONNECT BY LEVEL <=10000;

          COMMIT;

          SELECT * FROM k7 WHERE ROWNUM<=5;



          4.1、用戶級數據導入導出

          ALTER TABLESPACE mydb2 READ ONLY;
          ho $ exp userid=kiant/love2you@test file=d:\123.dmp;

          ALTER TABLESPACE mydb2 READ WRITE;
          ho $ imp userid=kiant/love2you@test file=d:\123.dmp full=y ignore=y rows=n;
          ho $ imp userid=kiant/love2you@test file=d:\123.dmp full=y ignore=y rows=y buffer=64000;

          ps.
          導入時應優先導入所有數據庫結構 rows=n;然后才導入結構和數據 rows=y。


          4.2、表空間數據導入導出

          ALTER TABLESPACE mydb2 READ ONLY;
          ho $ exp userid=kiant/love2you@test file=d:\124.dmp tablespaces=mydb2;

          ho $ imp userid=kiant/love2you@test file=d:\124.dmp tablespaces=mydb2 full=y ignore=y rows=n;
          ho $ imp userid=kiant/love2you@test file=d:\124.dmp tablespaces=mydb2 full=y ignore=y rows=y buffer=64000;


          4.3、表空間遷移

          ALTER TABLESPACE mydb2 READ ONLY;
          ho $ exp userid='sys/love2you as sysdba' file=d:\mydb2.dmp tablespaces=mydb2 transport_tablespace=y;

          DROP TABLESPACE mydb2 INCLUDING CONTENTS;
          ho $ imp userid='sys/love2you as sysdba' file=d:\mydb2.dmp tablespaces=mydb2 transport_tablespace=y
            datafiles=D:\oracle\product\10.2.0\oradata\test\MYDB4.DBF, D:\oracle\product\10.2.0\oradata\test\MYDB5.DBF;

          ps.
          a.必須以 'sysdba' 身份連接,才能進行時間點恢復或可傳輸的表空間導入。
          b.搬移表空間時,源表空間中存放的所有數據對象的所有者在目標數據庫中必須存在,如果不存在,則應在導入表空間之前建立相應的用戶,然后再導入表空間。



          參考文件:
          數據庫遷移幾種方式
          [推薦]移動Oracle的表空間
          使用Oracle 的 imp ,exp 命令實現數據的導入導出
          Oracle利用傳輸表空間導出導入數據的步驟


          posted on 2008-10-19 11:09 黃小二 閱讀(1810) 評論(0)  編輯  收藏 所屬分類: [DB].Oracle
          主站蜘蛛池模板: 营口市| 大连市| 康保县| 华安县| 安阳县| 吴江市| 华阴市| 余姚市| 凤翔县| 南京市| 马龙县| 红河县| 新竹县| 方城县| 永城市| 田林县| 湖南省| 樟树市| 凤庆县| 宁蒗| 丹东市| 武邑县| 朝阳区| 桑日县| 灌阳县| 丹阳市| 大宁县| 呈贡县| 金华市| 福建省| 页游| 博罗县| 读书| 庄浪县| 海林市| 绵竹市| 牡丹江市| 肃宁县| 潍坊市| 炉霍县| 清苑县|