1.xshell下载及安装:xshell官网下载及安装

2.在xshell中新建会话:教你怎么使用xshell远程连接linux服务器

3.与数据库所在服务器建立连接

    1)登陆系统用户root

    2)切换系统用户:输入su - oracle,切换系统用户为oracle(注意,“-”和“oracle”中间有一个空格)

xshell连db2数据库 xshell连接数据库_服务器


    3)连接数据库:

    输入sqlplus /nolog来启动sqlplus,然后输入conn database_username/database_password来连接数据库。

    如果是数据库管理员,可以直接通过输入sqlplus / as sysdba来连接数据库。

xshell连db2数据库 xshell连接数据库_数据库_02


    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并且连接好当前服务器。

xshell连db2数据库 xshell连接数据库_xshell连db2数据库_03


    xftp:(点击查看xshell如何关联xftp快速上传和下载文件)

xshell连db2数据库 xshell连接数据库_表空间_04


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常用命令大全