1.xshell下载及安装:xshell官网下载及安装
2.在xshell中新建会话:教你怎么使用xshell远程连接linux服务器
3.与数据库所在服务器建立连接
1)登陆系统用户root
2)切换系统用户:输入su - oracle,切换系统用户为oracle(注意,“-”和“oracle”中间有一个空格)
3)连接数据库:
输入sqlplus /nolog来启动sqlplus,然后输入conn database_username/database_password来连接数据库。
如果是数据库管理员,可以直接通过输入sqlplus / as sysdba来连接数据库。
4)创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等数据库管理员创建。(这个逻辑目录指定了导出文件的保存位置)(点击查看更多directory操作)
create directory dpdata1 as '/home/oracle';
5)查看数据库的表空间名称。
select username,default_tablespace from user_users;
(查看当前用户的角色 -- select * from user_role_privs;
查看当前用户的系统权限 -- select * from user_sys_privs;
查看当前用户和表级权限 -- select * from user_tab_privs
查看用户下所有的表 -- select * from user_tables)
6)输入 exit 退出sqlplus。
7)按用户导出数据,一般情况下,按用户导出的数据就够用了,scott是用户名,tiger是密码。
注意,如果是本地数据库不要加@orcl!!
expdp database_username/database_password@orcl schemas=database_username dumpfile=expdp.dmp DIRECTORY=dpdata1;
4.通过xftp工具来将服务器上的导出文件expdp.dmp传到本地,再传到目标服务器。
通过点击xshell上的这个按钮可以直接获取下载地址进行下载,下载安装后再点击就会自动启动xftp并且连接好当前服务器。
xftp:(点击查看xshell如何关联xftp快速上传和下载文件)
5.在目标服务器将刚才的expdp.dmp文件导入到目标数据库中。
1)通过新建会话来连接目标服务器,切换到oracle会话。
su - oracle
2)使用数据库管理员来连接数据库。
sqlplus / as sysdba
3)创建逻辑目录。(点击查看更多directory操作)
create directory dpdata1 as '/home/oracle';
4)创建新的数据库用户并授权。(点击查看更多用户操作和权限说明)
create user 用户名 identified by 口令[即密码];
grant connect, resource to 用户名;
赋予用户directory的读写权限:
grant read, write on directory dpdata1 to 用户名;
5)创建表空间,一般不创建,使用默认表空间即可。
(点击查看如何创建表空间)
6)查看当前表空间的名称。(点击查看更多select操作)
select username,default_tablespace from user_users;
7)如果当前表空间的名称和导出数据库的表空间的名称不一样,有两种方式解决:(默认表空间的名称是USERS)
(注意:要导的数据库表空间和需要导入的数据库表空间的名称必须相同!!)
方式一:更改当前表空间的名称。
alter tablespace USERS rename to TEST;
方式二:在导入数据库的时候在impdp语句的末尾加上参数remap_tablespace=source:target。
source -- 导出dmp文件的表空间名
target -- 要导入数据的表空间名
8)输入 exit 退出sqlplus。
9)通过impdp命令按用户名导入数据库到目标数据库。
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
(注意:如果导入失败必须删除用户名和用户名下的数据后再重新导入,记得后面添加cascade,sql如下:
drop user scott cascade;)
(点击查看如何删除表空间和用户及级联关系)
6.导入完成后输入exit,退出
补充:Linux常用命令大全