分享一次Oracle数据导入导出经历
最近工作上有一个任务要修改一个比较老的项目,分公司这边没有这个项目数据库相关的备份,所以需要从正式环境上面导出数据库备份出来在本地进行部署安装,之前在其它项目的时候也弄过这个数据库的部署和安装,也写了一个操作文档,但是写的不是那么的详细,很多场景都没有考虑到,后面想了想还是重新写一个操作文档方便下次数据库相关导出的操作,也同时能够帮助其它初次接触的同事快速操作。
项目的采用的开发相关是:Vs2008,Oracle 11g,PLSQL。
第一步,数据库的导出
a.数据库用户导出
1.查询所有数据库用户
SELECT wm_concat(T.username)
FROM DBA_USERS T
WHERE T.account_status = 'OPEN'
AND T.default_tablespace NOT IN ('SYSTEM', 'SYSAUX')
AND T.username NOT IN ('SCOTT','EMULATION')
2.导出创建表空间及数据文件脚本
SELECT 'CREATE TABLESPACE ' || T.TABLESPACE_NAME ||
' DATAFILE ''E:\ORADATA\FSDB\' || T.TABLESPACE_NAME || '01.DBF'' size 100M autoextend on;'
FROM DBA_TABLESPACES T
WHERE T.TABLESPACE_NAME NOT IN
('SYSTEM', 'SYSAUX', 'UNDOTBS1', 'TEMP', 'USERS', 'UNDOTBS2');
E:\ORADATA\FSDB\ 本地数据库文件存储目录
会查询出类似以下脚本
CREATE TABLESPACE TBS_TYUM_SMS DATAFILE 'E:\ORADATA\FSDB\TBS_TYUM_SMS01.DBF' size 100M autoextend on;
TBS_TYUM_SMS 表空间名称
E:\ORADATA\FSDB\TBS_TYUM_SMS01.DBF 创建的空间表DBF文件
3.创建导出文件相关操作
一、创建导出文件存放的文件目录(该目录必须存在),该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create or replace directory DPDATAGGDB as 'E:\backup\xxxx';
二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory DPDATAGGDBto scott;
4.按用户导出
-按用户导出
Expdp system/123456@XXDB schemas=xxxx dumpfile=XXDB20170307BAK.DMP directory=DPDATAGGDB logfile=XXDB20170307BAK.log
-exp全部导出
exp system/123456@XXDB file=E:\backup\xxxx\QZDB20170220_bak.dmp full=y
system/123456 登录dba账号密码
XXDB 需要导出的数据库名称
schemas 用户集合
dumpfile=XXDB20170307BAK.DMP 导出的数据dmp文件
directory=DPDATAGGDB 第三部创建的文件目录 这里导出的文件会在该目录下面生成对应文件
logfile=XXDB20170307BAK.log 导出的数据log文件
第二步,数据库导入
1.01打开oracle Databese配置工具

1.02进入欢迎页面

1.03选择创建数据库,如果需要修改可以选择配置数据库选件

1.04数据库模板

1.05填写数据库连接表示

1.06管理选项,可直接下一步

1.07填写数据库登录信息,为了管理方便选择所要账号使用同一管理口令

1.08设置数据文件存放位置,可选择默认位置,也可自己设置存放位置

1.09设置恢复配置,可选择默认数据

1.10数据库内容,可跳过

1.11初始化参数,主要分配内存空间,需要考虑当前服务器上面可用空间,多个数据库需要平均处理,后面的调整大写,字符集,链接模式可以选择默认选项

1.12数据库存储

1.13创建选项

1.14点击完成就会生成数据库了
2.打开PLSQ或者TOAD用sys DBA身份登录创建第一步第二个操作导出
CREATE TABLESPACE TBS_TYUM_SMS DATAFILE 'E:\ORADATA\FSDB\TBS_TYUM_SMS01.DBF' size 100M autoextend on;
.....这里应该导出多个空间的创建语句
3.创建用于导入导出的文件目录
create or replace directory TY_DUMP_DIR as 'E:\app '
E:\app 必需是已经存在的目录。
查看已经存在的目录
select * from dba_directories

删除文件目录记录
DROP DIRECTORY TY_DUMP_DIR
用sys用户登录给要访问的用户指定访问目录的权限。
grant read,write on directory TY_DUMP_DIR to scott;
4.导入数据
Impdp SYSTEM/123456@XXDB directory=TY_DUMP_DIR dumpfile=XXDB20170307BAK.DMP LOGFILE=XXDB20170307BAK.LOG full=y
impdp system/123456@XXDB schemas=xxxx dumpfile=XXDB20170307BAK.DMP directory=DPDATAGGDB logfile=XXDB20170307BAK.log
或者
imp system/123456@XXDB file=d:\bak.dmp full=y ignore=y
这里的相关关键词不一一解释了,可以参照导出文件说明
如果是EXpdp 导出的则需要用Impdp 导出 EXP则需要用imp 不然会在导出的时候报错
这里所有的导入导出操作都要在cmd命令符操作下进行 window+R cmd
其实在导入导出的过程中应该还会遇到其他的一些问题,这里因为之前在操作的时候没有记录了,以后如果碰到了问题,我会在这里一一记录,也希望这篇文章能够给需要的人带来帮助。如果有什么写错的地方也希望大家能够指出来。谢谢!
微信链接:链接
如果有感兴趣的可以关注一下。
分享一次Oracle数据导入导出经历的更多相关文章
- oracle数据导入/导出
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据 ...
- Oracle数据导入导出
Oracle数据导入导出imp/exp 在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与ora ...
- Oracle数据导入导出imp/exp
功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失). Oracle有个好处,虽然你的电 ...
- Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法
Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法 sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类 www.2cto.com 应该 ...
- Oracle数据导入导出imp/exp(转)
在oracle安装目录下有EXP.EXE与IMP.EXE这2个文件,他们分别被用来执行数据库的导入导出.所以Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 一.Oracle ...
- Oracle 数据导入导出操作 (转)
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢 ...
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...
- Oracle数据导入导出命令
IMP 和EXP命令 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处 ...
- oracle数据导入/导出(2)
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢 ...
随机推荐
- 日志组件二:log4j2
一.背景 随着业务服务(Server App)逐渐增加,我们的业务系统中的日志输出面临的问题越来越多,高并发下对磁盘io这块消耗的越来越大,因此,急需要一个高性能且最好能够支持异步输出日志的日志框架, ...
- kafka 0.10.2 部署失败后,重新部署
删除kafka各个节点log目录 删除zookeeper上kafka相关的目录 [root@m1 ~]# zkCli.sh Connecting to localhost: -- ::, [myid: ...
- 为什么各大厂商要抢先跟进H.265?
继爱奇艺.乐视等视频厂商宣布支持 H.265 高清视频后,2014 年 4 月,搜狐视频宣布正式上线视频行业首个 H.265 高清大片专区,可在线观看 200 余部当下最火的超高清大片.国外 BBC ...
- Eclipse导入项目常见问题----服务器版本问题02
*有时导入项目时,我们打开build时会看到服务器包上有一个红色的×,和这里JRE System jar包显示的是一个样的,左侧有个红色叉: 解决办法 打开到如下界面,解决步骤如下图: 打开该界面方式 ...
- 《孵化twitter》读书笔记
寒假在家看完了第一本书——<孵化twitter:从蛮荒到IPO的狂野旅程>.在2014上半年,尝试看了该书的英文原版,奈何自己英语太菜,实在看不懂.这次有了中文版,就决定要看看.该书对于我 ...
- Django Nginx反代 获取真实ip
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Andale Mono"; color: #28fe14; backgr ...
- Chapter 9:Noise-Estimation Algorithms
作者:桂. 时间:2017-06-14 12:08:57 链接:http://www.cnblogs.com/xingshansi/p/6956556.html 主要是<Speech enha ...
- 谈一下我们是怎么做数据库单元测试(Database Unit Test)的
作者水平有限,如有错误或纰漏,请指出,谢谢. 背景介绍 最近在团队在做release之前的regression,把各个feature分支merge回master之后发现DB的单元测试出现了20多个失败 ...
- [BZOJ4008]亚瑟王
Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...
- matplotlib.pyplot.hist
**n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None)** ## 函数说明 用于 ...