使用expdp在本地和远程导出数据

 https://www.jianshu.com/p/1732eb0efdfe

本地导出:

1、创建逻辑目录 expdp_bak_dir

首先创建真实目录 /home/oracle/backup

SQL> create directory expdp_bak_dir as '/home/oracle/backup';
Directory created.

 2、查看管理员目录,检查是否存在

select * from dba_directories;
用sys管理员给你的指定用户赋予在该目录的操作权限
SQL> grant read,write on directory expdp_bak_dir to system;
Grant succeeded.

3、导出数据库
expdp system/123456@orcl schemas=user dumpfile=user_tables.dmp directory=expdp_bak_dir logfile=user_tables.log;

system // 账号
123456 // 密码
orcl // 服务名
user //数据库名称
user_tables.dmp // 导出的文件名
expdp_bak_dir // 导出的路径【设置的数据库文件夹变量
user_tables.log // 日志输出文件
 
4、导入数据库

impdp system/123456 remap_tablespace=USER:TEST remap_schema=user:IMP directory=expdp_bak_dir dumpfile=USER_TABLES.DMP logfile=impdp_test.log

system // 账号
123456 // 密码
USER:TEST // 表空间名映射,USER 导出的数据库表空间,TEST 导入的数据库表空间
user:IMPJW //数据库名映射,user 导出的数据库名,IMP 导入的数据库表名
USER_TABLES.DMP // 导入的文件名
expdp_bak_dir // 导出的路径【设置的数据库文件夹变量
impdp_test.log // 日志输出文件



 

 

 

http://www.360doc.com/content/13/0207/23/7914128_264776286.shtml

 

在本地也有一个数据库时,可以利用NETWORK_LINK获取远程数据库的数据

1、在本地数据库客户端上修改tnsnames.ora,增加服务端的连接字符串:

ORCL48 =  名字随便起
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

2、在客户端创建DATABASE LINK连接要导出数据的服务端

SQL> create public database link db48(随便) connect to username identified by password using 'connect_string';

//username和password是server端的,connect-string 就是tnsnames.ora中的服务名 “ORCL48”

查看

select * from dba_db_links;

删除

drop database link 连接名称;

备注:sys 用户不能删除其他用户的 db links

3、在客户端创建文件夹,并给导出的用户授权

create or replace directory winexp as 'd:\bak';

grant read,write on directory winexp to username;

 

4、使用expdp导出远程的数据到本地

expdp user/pass network_link=db48 directory=winexp dumpfile=XXX.dmp logfile=XXX.log schemas=test(库名)

user

 

5、用户密码操作

   查看用户密码是否过期

select username,account_status,expiry_date,profile from dba_users;
设置用户密码用不过期
alter profile default limit password_life_time unlimited;  

修改数据库密码180天过期

alter profile default limit password_life_time 180;

如果还是提示密码过期,要修改一下密码,可以修改成和之前一样的

alter user 用户名  identified by  原来的密码;

如果被锁定了,可以解锁

alter user 被锁用户名 account unlock;

 
posted @ 2020-12-18 09:06  liulj0713  阅读(2977)  评论(0编辑  收藏  举报