折騰了一下午..........(原諒我這個oracle菜鳥).......
首先說一下oracle匯入
匯入前需先建立使用者,表空間,並賦予許可權
建立使用者:create user rc2 identified by 123;
賦予許可權:
grant resource,connect,dba to rc2;
grant create tablespace to rc2 with admin option;
grant create trigger to rc2 with admin option;
grant debug connect session to rc2 with admin option;
grant execute any type to rc2 with admin option;
grant unlimited tablespace to rc2 ;
建立表空間
create tablespace rc2
datafile '+data/sirac_new/datafile/zhrc.dbf'
size 1500m
autoextend on next 5m maxsize 3000m;
修改預設表空間
alter user rc2 default tablespace rc2;
完成後,進行dmp匯入
執行cmd進入dos視窗後,輸入命令:
imp 使用者名稱/密碼@服務名 file=d:/test.dmp log=d:/test123.log fromuser=rc1 touser=rc2
匯入成功後發現表空間使用的還是匯出的dmp所在的表空間
(原因為資料庫存在dmp檔案的表空間,在匯入的時候應該制定表空間的,當時菜鳥不知道啊!!!
指定表空間:
imp 使用者名稱/密碼@服務名 file=d:/test.dmp log=d:/test123.log tablespaces =表空間名 fromuser=rc1 touser=rc2
在當前新建使用者下修改表所在表空間
alter table db01 move tablespace rc2;
或進行批量修改:select 'alter table '|| table_name ||' move tablespace rc2 ;' from user_tables;
修改索引所在表空間
alter index pk_zp10 rebuild tablespace rc2;
或進行批量修改:select 'alter index '|| index_name ||' rebuild tablespace rc2 ;' from user_indexes;
涉及到blob的表時,特殊處理一下:
alter table 表名 move lob(涉及blob欄位名) store as log_segment( ---log_segment 對應dba_lobs表中segment_name欄位
tablespace rc2 --新建的表空間
enable storage in row --如果disable這個屬性,那麼lob資料會在行外儲存,行內只儲存該lob值得指標,而且這個屬性在表
--建立後只能在move表時才可以被改變
chunk 8192 --是乙個很特別的屬性,對一次lob資料的操作(插入或更新),因該分配多少儲存空間,
--指定的值最好是資料庫塊的倍數,而且指定的值不能大於表空間區間中next的值,
--要不然oracle會return乙個錯誤,如果以前已經設定這個值了,那麼在後期指定的值是不能被改變的。
retention --應用了automatic undo mode中的undo_retention通過時間來管理lob映象空間.
--freepools --給log segment指定free list.rac環境下integer為例項的個數.單例項環境下為1.
--在automatic undo mode下oracle預設採用
nocache);
到此!問題解決!
oracle菜鳥還有很多知識要學啊.......
oracle 建立使用者 表空間 匯入dmp 集合
分為四步 第1步 建立臨時表空間 create temporary tablespace user temp tempfile d oracle oradata oracle9i user temp.dbf size 50m autoextend on next 50m maxsize 20480m...
oracle建立表空間,建立使用者,匯入dmp資料
匯入oracle資料的時候,經常到用的時候忘記,特整理乙份,方便以後操作。需要注意的是 建立表空間和使用者是在sqlplus中執行,而匯入資料需要在cmd視窗執行。一 建立表空間 create tablespace 表空間名 datafile d dbf size m在建立的時候定義表空間名,表空間...
oracle建立表空間和匯入dmp檔案命令
1 建立表空間myspace create tablespace mysapce logging datafile d programfiles oracle product 10.2.0 oradata orcl myfile.dbf size 100m autoextend on next 50...