windows系统oracle数据导入

本文详细介绍如何在Oracle数据库中创建实例、表空间及用户,并授予相应权限,以及如何使用expdp命令进行数据的导入导出操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 一般来说为了导入的数据不影响原有数据库数据,我们选择创建一个新的oracle实例
2.登录刚新建的实例
  • win+R输入cmd,回车,进入命令提示符
  • 输入sqlplus sys/123456@orcl as sysdba,其中orcl是你要导入数据库的oracle实例
3.创建新的表空间
CREATE TABLESPACE 表空间名 DATAFILE 'C:\app\zving_joy\oradata\orcl\文件名.DBF' SIZE 5M AUTOEXTEND ON NEXT 5M MAXSIZE 30240M; 
4.创建新的用户,并授权
create user 用户名 identified by 密码 default tablespace 表空间名
//演示为了方便直接赋予dba权限
grant connect,resource,dba to 用户名;
5.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';
6.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
7.给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to 刚新建的用户;
8.导出数据,假设用户为scott,实例名为orcl
  • 按用户导
expdp scott/tiger@orcl DIRECTORY=dpdata1 schemas=scott dumpfile=expdp.dmp;
  • 并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
  • 按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
  • 按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
  • 按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
  • 导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
### 数据导入工具 impdp 的使用 在 Windows 系统中,`impdp` 是 Oracle 提供的一种高效的数据泵工具,用于将通过 `expdp` 导出的 `.dmp` 文件重新加载到目标数据库中。以下是关于如何配置和运行 `impdp` 命令的具体说明。 #### 1. 准备工作 确保已经完成了以下准备工作: - **安装 Oracle 客户端或服务器**:确认系统上已正确安装 Oracle 客户端或服务器软件,并且环境变量(如 ORACLE_HOME 和 PATH)已被正确设置[^4]。 - **创建目录对象**:在执行 `impdp` 前,需先在数据库中定义一个目录对象,该对象指向存储 `.dmp` 文件的实际路径。例如,在 SQL*Plus 中运行如下语句来创建目录对象: ```sql CREATE DIRECTORY dump_dir AS 'C:\path\to\dumpfiles'; GRANT READ, WRITE ON DIRECTORY dump_dir TO scott; ``` 这里假设导出文件位于 C:\path\to\dumpfiles 下,并赋予用户 SCOTT 对此目录的读写权限[^2]。 #### 2. 执行 impdp 命令 打开命令提示符 (CMD),切换至适当的工作目录后输入以下格式化的命令字符串: ```bash impdp username/password@dbconnectstring directory=directory_name dumpfile=dump_file_name logfile=log_file_name [additional_options] ``` 具体参数解释如下: - `username/password`: 登录的目标数据库用户名及其密码。 - `dbconnectstring`: TNS 名字或者完整的连接描述符。 - `directory`: 上述创建好的目录对象名称。 - `dumpfile`: 需要恢复的 .dmp 文件名。 - `logfile`: 日志记录保存位置以及命名规则。 例如,如果希望以 SCOTT 用户身份向名为 ORCL 的实例导入 expdp.dmp 文件,则可以这样操作: ```bash impdp scott/oracle@orcl directory=dump_dir dumpfile=expdp.dmp logfile=import.log ``` #### 3. 可选参数调整 为了满足特定需求,还可以附加更多选项来自定义行为。一些常用的可选参数包括但不限于: - `TABLES=(table_list)` : 明确指出只迁移哪些表格。 - `REMAP_SCHEMA=source_schema:target_schema` : 将源架构中的数据迁移到另一个新架构下。 - `CONTENT=data_only|metadata_only|all` : 控制是否仅传输元数据还是实际行级数据等[^3]。 --- ### 注意事项 当利用 `impdp` 实施大规模数据转移项目时需要注意若干细节问题: - 如果目标表已经存在,默认情况下会抛错停止进程;此时可通过加入 `TABLE_EXISTS_ACTION=SKIP|APPEND|TRUNCATE|REPLACE` 参数解决冲突情况。 - 并发度可以通过 PARALLEL 参数提升效率,但应依据硬件资源合理规划数值以免造成过载现象。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值