impdp导入Oracle数据操作

自用,记录一下,有不对的地方希望能指正一下

1.登陆Oracle数据库

sqlplus / as sysdba

2. 没有库则建库

3. 没有用户则建用户并授权

--创建用户

create user username identified by password;

--授权

grant connect,resource,dba to username;

4.没有表空间则创建并扩充表空间 ,表空间所在目录要手动创建(登陆username用户)

--创建表空间(初始1G,每次增加100M,最大30G)

create tablespace tablespacename datafile  '表空间所在目录/表空间名.pbf'  size 1024m autoextend on  next 100m maxsize 30G;

--扩表空间(建议表空间总最大容量大于1.5倍的bmp数据文件大小,表空间太大时分多个表空间,每个表空间不要太大,单个磁盘空间不足可将不同表空间放到不同盘下)

ALTER TABLESPACE tablespacename ADD DATAFILE '表空间所在目录/表空间名2.pbf' size 1024m autoextend on  next 100m maxsize 30G;

--undo表空间(根据具体情况增加)

ALTER TABLESPACE UNDOname ADD DATAFILE '表空间所在目录/UNDO表空间名2.dbf' size 1024m autoextend on  next 100m maxsize 30G;

5.没有表结构则创建表结构

 6.使用impdp导入数据(需要确认之前是使用expdp导出的)(sqlplus / as sysdba)

--创建或者修改dump_dir路径(dmp所在路径)
create or replace directory dump_dir as 'dmp数据文件目录';

--授权(在sysdba下)
grant read,write on directory dump_dir to username;

--导入数据(directory:dmp所在路径   dumpfile:dmp文件名  logfile:导出时的文件日志,我一般放到shell脚本里执行)

impdp username/password directory=dump_dir dumpfile= name1.dmp,name2.dmp logfile=impdp.log

---------------------------------------------------------------

常用查询命令

--查看用户
select username from dba_users;
--查看当前用户
show user;
--查看表空间
select TABLESPACE_NAME from user_tablespaces;
--查看表
select table_name from user_tables;
-- 表空间所在位置,大小
 select file_name,tablespace_name,bytes/1024/1024/1024 from dba_data_files;
--查看job,判断是否在执行
select * from dba_datapump_jobs
--正确停止impdp导出任务使用stop_job
impdp qxt_bak/dbms_lock attach=SYS_IMPORT_FULL_01 ---回车,可以查看该任务的详细情况
--import> stop_job=immediate ---回车,任务停止后会自动退出impdp命令
--删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以按照以下步骤在Linux系统中使用impdp命令导入Oracle数据表: 1. 确认数据库已经创建,并且已经创建了需要导入的表。 2. 在Linux终端中,使用以下命令登录到Oracle数据库: ``` sqlplus username/password@database ``` 其中,username为数据库用户名,password为密码,database为数据库名称。 3. 使用以下命令创建目录对象,用于存放导入数据文件: ``` CREATE DIRECTORY dump_dir AS '/u01/dump'; ``` 其中,dump_dir为目录名称,/u01/dump为目录路径。 4. 在Linux终端中,使用以下命令导出数据表: ``` expdp username/password@database tables=table_name directory=dump_dir dumpfile=table_name.dmp logfile=table_name.log ``` 其中,table_name为需要导出的表名,username为数据库用户名,password为密码,database为数据库名称,dump_dir为目录名称。 5. 将导出的数据文件table_name.dmp复制到需要导入数据的Linux系统中。 6. 在Linux终端中,使用以下命令导入数据表: ``` impdp username/password@database directory=dump_dir dumpfile=table_name.dmp logfile=table_name_imp.log remap_schema=old_username:new_username remap_tablespace=old_tablespace:new_tablespace ``` 其中,table_name为需要导入的表名,username为数据库用户名,password为密码,database为数据库名称,dump_dir为目录名称,old_username为原用户名,new_username为新用户名,old_tablespace为原表空间名,new_tablespace为新表空间名。 7. 导入完成后,在Oracle数据库中确认数据表已经成功导入

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值