使用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、导出数据库
123456 // 密码
orcl // 服务名
user //数据库名称
user_tables.dmp // 导出的文件名
expdp_bak_dir // 导出的路径【
设置的数据库文件夹变量
】user_tables.log // 日志输出文件
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”
查看
删除
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;