自用
- su - oracle 切换oracle 用户
- 登录oracle数据库方法:oracle用户下,sqlplus 用户名/密码@地址:端口/sid
- 以管理员方式登陆指定目标地址oracle: sqlplus /@地址:端口/sid as sysdba
- 创建逻辑目录,必须是oracle用户有读写权限的文件夹
- SQL>create directory 逻辑目录名称 as ‘实际硬盘目录如:/home/oracle/test1’;
- 逻辑目录名可以通过oracle表查询到
- SQL>exit,退出sql,expdp需要在命令行下执行,而不是数据库命令行
- expdp导出
- expdp oracle数据库用户名/对应密码@sid dumpfile=t1.dmp logfile=t1.log directory=逻辑目录schemas=用户名对应的模式 content=all(可以修改参数只导出数据或者导出表结构)
- -----------------分割线-------------------
- impdp 导入准备
- 如果导入的目标用户已经存在 ,且可以清空,则
- lsnrctl status 查看当前数据库状态
- lsnrctl stop 停止数据库监听
- lsnrctl start 启动数据库监听
- drop user 用户名 cascade; 如果提示“ORA-01940 无法删除当前已连接的用户”,则查询当前占用进程
- select username,sid,serial#,paddr from v$session where username=‘删除目标用户’;
- SQL> alter system kill session ‘2,977’; sqlplus 下删除进程
- 然后即可删除用户
- -----------------分割线-------------------
- impdp 导入
- 删除可能重名的表空间(如果可以删除的话)
- 创建表空间
- create tablespace 表空间名称
- logging
- datafile ‘文件路径’
- size 500m – 初始大小
- autoextend on – 自动扩展
- next 500m maxsize 20400m – 每次自动扩展500m ,最大20400m
- extent management local;
- 创建用户并赋权
- create user 用户名 identified by 密码;
- 给用户赋予表空间
- ALTER USER 用户名 DEFAULT TABLESPACE 表空间名称;
- 赋权
- grant create session to 用户名;
- grant connect ,resource to 用户名;
- grant create any directory to 用户名;
- 登陆需要impdp的用户,创建逻辑目录
- create directory 逻辑目录名 as ‘路径’;
- impdp 导入
- impdp 用户名/密码@地址:端口/sid DIRECTORY=逻辑目录名 DUMPFILE=文件.dmp full=y