僅限oracle服務器上執行;把172.16.251.136:1521/orcl的AMI4_2用戶導入到192.168.2.30:1521/orclss中的AMI1用戶;
關於導入導出更詳細的見文章《數據備份與恢復》
導出:
創建對應的文件夾用於放dmp文件(或者借用別的文件夾用一下,直接賦予用戶文件夾權限即可);
-- 執行該命令之前,要首先創D:\xinsushedmp\對應的文件夾
create directory DUMP_DIR_D as 'D:\xinsushedmp\'
-- 查詢數據庫目錄,新創建的文件夾應該要在里面(需要使用管理員用戶才能看到)
select * from dba_directories;
-- 使用sys用戶給要導出的用戶文件夾修改和讀取權限
grant read, write on directory DUMP_DIR_D to AMI4_2;
-- 要導出的用戶和密碼:AMI4_2/AMI4_2
-- 服務器地址:端口/實例名
-- 導出文件夾目錄:DUMP_DIR_D
-- 導出的dmp文件,也就是整個用戶的數據:laosushe.dmp
-- 日志文件:laosushe.log
expdp AMI4_2/AMI4_2@172.16.251.136:1521/orcl directory=DUMP_DIR_D dumpfile=laosushe.dmp logfile=laosushe.log
導入:
跟導出同樣賦予文件夾權限,將導出的.dmp文件放入該文件夾下;
impdp AMI1/AMI1@192.168.2.30:1521/orclss dumpfile=LAOSUSHE.DMP REMAP_SCHEMA=AMI4_2:AMI1 directory=DATA_PUMP_DIR full=y
如果AMI1用戶沒有新建表空間的話,需要單獨建立表空間。
我是使用sys用戶登錄192.168.2.30:1521/orclss執行的建表空間語句
建表空間參考語句:
create tablespace AMI logging datafile 'D:\oradata\orclss\AMI.dbf' size 2048m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_IDX logging datafile 'D:\oradata\orclss\AMI_IDX.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_LOG logging datafile 'D:\oradata\orclss\AMI_LOG.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_LOG_IDX logging datafile 'D:\oradata\orclss\AMI_LOG_IDX.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_SB logging datafile 'D:\oradata\orclss\AMI_SB.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_SB_IDX logging datafile 'D:\oradata\orclss\AMI_SB_IDX.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_TEMP logging datafile 'D:\oradata\orclss\AMI_TEMP.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_TEMP_IDX logging datafile 'D:\oradata\orclss\AMI_TEMP_IDX.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_TJ logging datafile 'D:\oradata\orclss\AMI_TJ.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
create tablespace AMI_TJ_IDX logging datafile 'D:\oradata\orclss\AMI_TJ_IDX.dbf' size 1024m autoextend on next 32m maxsize unlimited extent management local;
-- Create the user
--create user AMI1
-- identified by AMI1
alter user AMI1
default tablespace AMI
temporary tablespace TEMP
profile DEFAULT
quota unlimited on ami
quota unlimited on ami_idx
quota unlimited on ami_log
quota unlimited on ami_log_idx
quota unlimited on ami_sb
quota unlimited on ami_sb_idx
quota unlimited on ami_temp
quota unlimited on ami_temp_idx
quota unlimited on ami_tj
quota unlimited on ami_tj_idx
quota unlimited on users;
-- Grant/Revoke role privileges
grant execute on DBMS_LOCK to AMI1;
grant connect to AMI1;
grant resource to AMI1;
-- Grant/Revoke system privileges
grant create any table to AMI1;
grant create view to AMI1;
grant debug any procedure to AMI1;
grant debug connect session to AMI1;
grant drop any table to AMI1;
grant execute any procedure to AMI1;
grant select any dictionary to AMI1;
grant create any job to AMI1;
grant unlimited tablespace to AMI1;
grant select any table to AMI1;