導入、導出oracle數據庫

--登陸wcb數據庫

--wcb數據庫   查看當前用戶表空間:User

select username,default_tablespace from user_users; 


--登陸A數據庫服務器

--進入dpdump文件夾

cd /home/oracle/admin/ora11/dpdump


--執行導出數據庫命令

expdp userid=wcb/wcb  dumpfile=wcb%U.dmp LOGFILE=Expdp_wcb.log PARALLEL=4 SCHEMAS=wcb COMPRESSION=ALL CONTENT=ALL


--若執行報錯

ORA-39145: directory object parameter must be specified and non-null


--登陸數據庫,查詢

sqplus /"as sysdba"


--查詢data_pump_dir文件目錄是否存在

select * from dba_directories;


--若不存在則創建,並賦予wcb用戶權限

CREATE DIRECTORY data_pump_dir AS '/opt/oracle/admin/orcl/dpdump'
grant read,write on  directory data_pump_dir to chgdb;


--若存在,則賦予wcb用戶導出權限

grant exp_full_database to wcb;


--再執行導出命令

expdp userid=wcb/wcb  dumpfile=wcb%U.dmp LOGFILE=Expdp_wcb.log PARALLEL=4 SCHEMAS=wcb COMPRESSION=ALL CONTENT=ALL


--導出成功,在另一個數據,創建wcb用戶

--若wcb用戶存在,則變當前數據名

--更改用戶名 名稱
--查詢oracle數據用戶名隊員序列
select user#, name from user$ where name = 'WCB';


--更新oracle用戶名稱
update user$ set name = 'WCB1' where user# = 173;  


--刷新數據庫
alter system checkpoint;
alter system flush shared_pool;


--不存在用戶,創建

--創建oracle用戶
create user wcb identified by wcb;



--error  user CHGDB lacks CREATE SESSION privilege; logon denied
grant connect to wcb;
grant resource to wcb; 
grant create session to wcb;



--若不存在User表空間,創建

--創建用戶表空間
create tablespace USER
datafile '/home/oracle/admin/ora11/SALES_DATA01.dbf' size 10m autoextend on next 10m maxsize 100m,
'/home/oracle/admin/ora11//SALES_DATA02.dbf' size 10m autoextend on next 10m maxsize
unlimited,'/home/oracle/admin/ora11//SALES_DATA03.dbf' size 10m;



--導入:

cd /home/oracle/admin/ora11/dpdump


impdp userid=wcb/wcbdumpfile=wcb%U.dmp LOGFILE=Expdp_wcb.log PARALLEL=4 SCHEMAS=wcb


--若報錯:

select * from dba_directories;
CREATE DIRECTORY data_pump_dir AS '/opt/oracle/admin/orcl/dpdump'
grant read,write on  directory data_pump_dir to wcb;
grant imp_full_database to wcb;


--再導入成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章