Oracle 数据备份、恢复以及导入时表空间不存在的解决方案
一、数据备份(导出)
1、exp命令导出dmp文件(exp -help查看帮助信息)
命令:exp username/userpasswd@192.168.99.199/orcl file=C:\jds.dmp log=C:\jds.log tables=tablename...;(不写tables时表示导出当前用户所有表)
2、exp备份数据库中表结构(不要数据)
命令:exp username/userpasswd@192.168.99.199/orcl file=C:\jds.dmp log=C:\jds.log tables=tablename... rows=n;(不写tables时表示导出当前用户所有表)
3、PL/SQL导出
new Report Window--->写sql将要导出的数据查询出来--->Export Results导出不同文件类型的数据
二、数据恢复(导入)
1、imp命令导入dmp文件(imp - help查看帮助信息)
命令:imp username/userpasswd@127.0.0.1:1521/orcl file=C:\jds.dmp full=y;
2、imp命令导入表结构(不要数据)
(1)dmp文件包含数据
命令: imp username/userpasswd@127.0.0.1:1521/orcl file=C:\jds.dmp full=y rows=n;
(2)dmp文件本身就不包含数据
命令: imp username/userpasswd@127.0.0.1:1521/orcl file=C:\jds.dmp full=y;
3、PL/SQL导入(貌似只能导入dmp文件)
Tools ---> import tables
4、导入csv文件
csv文件样式(test.csv):
删除第一行,确保第一行就是数据内容。
(1)创建对应字段的表(要导进去数据的表TableEmp)...
(2)创建ctl文件(test.ctl):
--指定外部数据文件(要导入的csv文件)
INFILE "G:/test.csv"
--指定要导入的表(INSERT 要求导入之前表就为空;APPEND是指在表中追加记录;REPLACE表示删除旧记录‘delete’,替换成新纪录;TRUNCATE表示删除旧记录‘truncate’,替换成新纪录)
INSERT(APPEND,REPLACE,TRUNCATE) INTO TABLE TableEmp
--数据中每行记录默认用“,”隔开(为了防止数据记录中有‘,’则使用制表符X'09')
FIELDS TERMINATED BY X''
--表中字段没有对应值时,允许为空
TRAILING NULLCOLS (columnName1, columnName2...)
(3)执行命令:sqlldr username/userpasswd@orcl control=F:/test.ctl log=F:/test.log
这个表示导入成功的数据行数。excel数据格式的数据可以通过更换数据格式为csv文件格式,再进行导入操作。
三、imp导入dmp文件出现错误(表空间“JDS”不存在)解决方案
方案一:
(1)用system用户登录,查找导入的目标数据库的默认表空间,可以根据用户名查询
select username, default_tablespace from dba_users where username='ZCL';
(2)执行修改表空间语句(假设目标数据库的表空间名是:JDS_DATA)
alter tablespace JDS_DATA rename to JDS;
(3)执行imp语句
(4)导入成功后,执行改回原来表空间的名称
alter tablespace JDS rename to JDS_DATA;
方案二:
根据log信息重新创建对应的表,然后再执行imp语句(注意:要加上ignore=y)
Oracle 数据备份、恢复以及导入时表空间不存在的解决方案的更多相关文章
- oracle 12c 多租户 pdb 恢复(单个pdb数据文件、非系统pdb表空间、整个pdb数据库)
环境:数据库版本 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 实验准备:1.-- 数据库归 ...
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop ...
- Oracle RMAN备份恢复指导书
目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...
- oracle(数据备份)
1 --oracle数据备份(三种方法) 2 --1.逻辑备份与恢复:用Oracle提供的工具,导入/导出(exp,imp),数据 3 --泵导入/导出(impdp,expdp),装入器(SQL*Lo ...
- exp和imp导入导出时表空间问题【未完】
准备工作 第一步: 创建教师和学生用户 教师用户/密码 TEACHER/t123456 学生用户/密码 STUDENT/s123456 参考链接 http://www.cnblogs.com/what ...
- Linux服务器数据备份恢复策略
一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...
- Mongodb数据备份恢复
Mongodb数据备份恢复 一.MongoDB数据库导入导出操作 1.导出数据库 twangback为备份的文件夹 命令: mongodump -h 127.0.0.1[服务器IP] -d advie ...
- 19C imp 导入合并表空间
因为项目需要从9i 导数据到18C,所以发现如下特性 1.18C imp 导入数据,如果表空间在目标库没有,会将表导入到用户默认表空间 2.18C imp 导入数据,如果表空间在目标库有,但缺少权限. ...
- Oracle数据库 ORA-01555 快照过旧 (undo表空间:撤销表空间)
UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据.你听说UNDO也是 ...
随机推荐
- PHP专业开发IDE——Zend Studio 10.5预览版发布
Zend Studio是新一代的PHP IDE,高效的开发和维护PHP代码是它的核心.Zend公司目前已发布了Zend Studio 10.5预览版,预览版中提高了快速响应能力和时时误差检查.因此使用 ...
- Ubuntu下的截图工具
转载自:http://os.yesky.com/88/8733088.shtml 相信大家对于屏幕截图(或称抓图)应该不会陌生,在Windows平台上,我们可以使用许多第三方的专业抓图软件如SnagI ...
- ubuntu下无法打开windows下ntfs文件系统的解决方法
例如:/dev/sda5无法加载,使用如下命令 sudo ntfsfix /dev/sda5 如果命令没有安装,先安装(sudo apt-get install ntfsprogs).
- 增删查改-MySQL
查询: 在MySQL中,select的基本语法形式: select 属性列表 from 表名和视图 [where 条件表达式] [group by 属性名 [having 条件表达式]] [order ...
- let和const关键词
ECMAScript 6中的let和const关键词 2013-11-28 21:46 by BarretLee, 21 阅读, 0 评论, 收藏, 编辑 ECMAScript 6中多了两个定义变量的 ...
- 在 go/golang语言中使用 google Protocol Buffer
怎么在go语言中实用google protocol Buffer呢? 现在的潮流趋势就是一键搞定,跟ubuntu安装软件一样 go get code.google.com/p/goprotobuf/{ ...
- MySQLdb/mysql-python安装时EnvironmentError: mysql_config not found
代码:root@vpser:~# cd MySQL-python-1.2.3root@vpser:~/MySQL-python-1.2.3# python setup.py install sh: m ...
- C/C++基础知识总结——继承与派生
1. 类的继承与派生 1.1 派生类的定义 (1) 定义规范 class 派生类名: 继承方式 基类1名, 继承方式 基类2名... { ...派生类成员声明; }; (2) 从以上形式上看可以多继承 ...
- Head first设计模式
使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...
- iOS app 发布错误 ERROR ITMS-90167: "No .app bundles found in the package"
今天iOS 上传 APP 突然发生了这个错误,在排查非证书错误后感到非常奇怪, 因为昨天刚刚上传了另一个APP,一切正常. 仔细回忆了下 昨天和今天唯一的不同就是我升级了 电脑操作系统至 macOS ...