首先登陆oracle的linux后台,
切换到oracle用户
su - oracle
然后登陆oracle后台
sqlplus / as sysdba
1.查看数据库的directory
select * from dba_directories;
2.建立特定的数据库directory
create or replace directory mydir as '/u01/directory';
3.把directory的权限赋予给特定用户
GRANT READ,WRITE ON DIRECTORY mydir TO jiwu;
4.然后退出oracle后台
exit
进入linux界面,执行以下命令
expdp system/oracle schemas=jiwu directory=MYDIR dumpfile=expdpjiwu.dmp logfile=expdpjiwu.log version=11.2.0.4.0; 导出特定用户的数据到特定directory中
expdp system/oracle directory=MYDIR dumpfile=system.dmp logfile=system.log version=11.2.0.4.0; 数据库整个备份下来到data_pump_dir中
如果在备份的时候报错 ORA-39002 等
看下是不是是directory 文件夹还没有建立,需要手动建立下,然后执行上面语句就不会报错了
5.登陆另一台oracle后台,把dmp文件传入文件夹中,删掉特定用户的用户数据,然后退出oracle后台
su - oracle
sqlplus / as sysdba
drop user jiwu cascade; 如果在删掉用户的时候报错,请参考下面
exit
ORA-01940: cannot drop a user that is currently connected
--查看用户的连接状况
select username,sid,serial# from v$session;
--status 为要删除用户的session状态,如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。
select saddr,sid,serial#,paddr,username,status from v$session where username is not null and username='JIWU' and status!='KILLED';
--找到要删除用户的sid,和serial,并删除
alter system kill session '532,4562';
修改文件名 mv /u01/directory/expdpjiwu.dmp /u01/directory/expdpjiwu1.dmp
文件服务器对拷 scp /u01/directory/expdpjiwu.dmp root@10.1.1.120:/u01/directory/
6.impdp system/oracle schemas=jiwu directory=MYDIR table_exists_action=replace dumpfile=expdpjiwu.dmp logfile=impdpjiwu.log version=11.2.0.4.0 TRANSFORM=segment_attributes:n; 把刚刚备份好的数据还原回去
7.完成
切换到oracle用户
su - oracle
然后登陆oracle后台
sqlplus / as sysdba
1.查看数据库的directory
select * from dba_directories;
2.建立特定的数据库directory
create or replace directory mydir as '/u01/directory';
3.把directory的权限赋予给特定用户
GRANT READ,WRITE ON DIRECTORY mydir TO jiwu;
4.然后退出oracle后台
exit
进入linux界面,执行以下命令
expdp system/oracle schemas=jiwu directory=MYDIR dumpfile=expdpjiwu.dmp logfile=expdpjiwu.log version=11.2.0.4.0; 导出特定用户的数据到特定directory中
expdp system/oracle directory=MYDIR dumpfile=system.dmp logfile=system.log version=11.2.0.4.0; 数据库整个备份下来到data_pump_dir中
如果在备份的时候报错 ORA-39002 等
看下是不是是directory 文件夹还没有建立,需要手动建立下,然后执行上面语句就不会报错了
5.登陆另一台oracle后台,把dmp文件传入文件夹中,删掉特定用户的用户数据,然后退出oracle后台
su - oracle
sqlplus / as sysdba
drop user jiwu cascade; 如果在删掉用户的时候报错,请参考下面
exit
ORA-01940: cannot drop a user that is currently connected
--查看用户的连接状况
select username,sid,serial# from v$session;
--status 为要删除用户的session状态,如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。
select saddr,sid,serial#,paddr,username,status from v$session where username is not null and username='JIWU' and status!='KILLED';
--找到要删除用户的sid,和serial,并删除
alter system kill session '532,4562';
修改文件名 mv /u01/directory/expdpjiwu.dmp /u01/directory/expdpjiwu1.dmp
文件服务器对拷 scp /u01/directory/expdpjiwu.dmp root@10.1.1.120:/u01/directory/
6.impdp system/oracle schemas=jiwu directory=MYDIR table_exists_action=replace dumpfile=expdpjiwu.dmp logfile=impdpjiwu.log version=11.2.0.4.0 TRANSFORM=segment_attributes:n; 把刚刚备份好的数据还原回去
7.完成