Linux下Oracle数据库怎么导入或导出单个表-创新互联

这篇文章主要介绍“Linux下Oracle数据库怎么导入或导出单个表”,在日常操作中,相信很多人在Linux下Oracle数据库怎么导入或导出单个表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下Oracle数据库怎么导入或导出单个表”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联专注于企业营销型网站、网站重做改版、安庆网站定制设计、自适应品牌网站建设、H5高端网站建设商城建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为安庆等各大城市提供网站开发制作服务。

事情的原委是这样:用户的库,要在一个表里面进行标签替换,在写sql的时候,大意了,没注意字符转义,结果执行完sql,出事了,将一个内容表里的信息,全部替换成空了~还好有备份;

计划是这样,先备份目前的库,之后将前一天晚上的备份恢复进去,把该表里的数据导出,在将现在的备份恢复,用昨天晚上的单表备份,将现在的问题表替换,这样就保证的数据的相对完整,因为出事的时候,已经是快下班5点多,白天一天,用户已经完善了好多信息,但该表里的数据,就只能是昨天的了,估计会丢失几条数据,也没办法了~开始整;

首先,执行最新数据库备份,使用exp,将库做备份;

第二步,拿到昨天晚上的备份文件dmp文件,(我的项目都做有定时自动备份,这个是很有必要的,每天晚上2点半自动备份库,保留最新5天备份)这个时候,我的做法是将目前的库直接停掉,重新建库,因为你用imp恢复的时候,你现在的库里是有表的,执行imp会失败;

做法:停监听,停库,之后将oracle mv 为 oracle_日期,贴一下代码,

su - oracle    //登录oracle lsnrctl stop  //停止监听 sqlplus "/as sysdba"  //进入数据库 shutdown immediate  //停止数据库 exit   //退出oracle cd /oracle  //进入目录 mv oracle oracle_20170119  //重命名老的oracle tar -zxvf oracle11g.tar.gz  //解压包

解压之后,重新登录库,修改配置文件

su - oracle    //登录oracle vi  .bash_profile  //修改配置文件 以下为文件内容 # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then         . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH unset USERNAME export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/11.1.0/db_1 export ORACLE_SID=orcl export ORACLE_TERM=xterm export NLS_LANG=AMERICAN export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib export PATH=$ORACLE_HOME/bin:$PATH 保存完后执行 source .bash_profile lsnrctl start  //启监听 sqlplus "/as sysdba"  //进入数据库 startup     //启动数据库,然后执行下面4名命令,创建实例,一个一个执行 create tablespace oracle datafile '/oracle/oracle/oradata/orcl/oracle.dbf' size 2048M; create user oracle identified by oracle default tablespace oracle; grant connect,resource to oracle; grant dba to oracle;

上面的4行命令,主要是新建表空间,之后建用户,我的账号密码都用的oracle,数据库也是oracle

执行完成,exit退出到oracle用户下,因为之前执行的都是sql,都是在sql>下进行的;

cp  前一天的备份,到当前目录,之后执行导入;

imp oracle/oracle  file=oracle_20170118.dmp  fromuser=oracle touser=oracle rows=y

导入之后,可以启动web服务看看是否读库正常,正常表示刚才的操作都是成功的;接下来进行最重要的一步,导出单个表;我要导出cms_gk这个表

exp oracle/oracle file=/oracle/backup/oracle_20170118_cms_gk.dmp tables=CMS_GK

这里,利用tables这个属性,就可以直接导出单个表了;

之后拿到cms_gk表,将数据库在恢复到下午出问题的时候,因为除了这个表,其他表里面的数据,都是最新的;继续执行停监听,停库,将刚才的oracle mv 为 oracle_20170118,将之前的oracle_日期文件夹mv为oracle,因为之前的库,没有动什么,里面的表什么都是完整的,所以将oracle恢复之后,就能直接起库了,起来后,登录数据库,在sql>里执行导入;

imp oracle/oracle file=oracle_20170118_cms_gk.dmp  fromuser=oracle touser=oracle tables=CMS_GK

导入之后,可以用Navicat链接数据库查看下,或者启动we'b服务,看下是否有信息,我操作到此时,已经将信息成功还原进去了;最后问题算是解决了,丢失了一个表里面的部分数据,算是最小损失了吧 !

到此,关于“Linux下Oracle数据库怎么导入或导出单个表”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

分享文章:Linux下Oracle数据库怎么导入或导出单个表-创新互联
文章分享:https://www.cdcxhl.com/article42/cceoec.html

成都网站建设公司_创新互联,为您提供企业网站制作外贸建站微信小程序用户体验建站公司网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司