天天看點

Orale導庫和資料

建立表空間為可增長

create tablespace SIRM2 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 1024M --存儲位址 初始大小1G
autoextend on next 10M maxsize unlimited ;  --每次擴充10M,無限制擴充

           

SIRM2 為表空間名稱,上述存儲位址為你要存放的表空間的位址

建立使用者

  1. 輸入使用者名和密碼,選擇表空間
    Orale導庫和資料
  2. 輸入角色權限
    Orale導庫和資料

從舊庫導資料

不能直接在plsql運作.sql檔案,容易出錯。

可以按crtl+R打開指令行,輸入sqlplus 使用者名/密碼@資料庫的位址,按回車即可登入 Oracle資料庫。此處的資料庫若為本地資料庫,可輸入127.0.0.1。

然後輸入@你儲存的sql檔案路徑。也可直接輸入@,把sql檔案直接拖到指令行界面,按回車即可執行。

将另一個庫中的資料導入新庫中

Orale導庫和資料

點選應用即可。

相應的sql語句

法一:

SELECT 'INSERT INTO '||TABLE_NAME||' SELECT * FROM '||TABLE_NAME||'@gsszjhmdy;' FROM USER_TAB_COMMENTS WHERE TABLE_TYPE='TABLE'
           

@後面為建立的使用者名,使用此sql語句查詢出所有表插入資料的語句,然後将查詢結果複制到sql視窗,儲存為 .sql 檔案。

再在指令行下面運作此檔案,可參照上述已述方法,用@檔案名位址。

當然此方法用時會很長。

法二:

SELECT 'insert into ' || table_name || ' select * from ' || table_name ||
       '@hyd;'
  FROM ALL_TABLES
 where TABLESPACE_NAME = 'DATA'
   and NUM_ROWS > 0
   and owner = 'SZJMDY'
 order by table_name asc

           

上述select子句中 @ 後面為新使用者名。

where子句包括表空間,行數大于0,并且所有者為SZJMDY

此方法可以将空表過濾出來,隻查詢有資料的表。導資料方法如上!

有時候還可以查詢此使用者下所有的表字段以及某個字段在哪些表中

SELECT * FROM USER_COL_COMMENTS WHERE COLUMN_NAME='AAB034';
           

查詢結果如下:

Orale導庫和資料

不加where子句可以查出所有字段及注釋,加上為某個字段存在于哪些表中。