设为首页 收藏本站
查看: 757|回复: 0

[经验分享] Oracle数据库导出备份和导入恢复

[复制链接]

尚未签到

发表于 2016-8-6 06:45:34 | 显示全部楼层 |阅读模式
  
一、数据库导出数据步骤

    在Oracle服务器端或者安装了网络服务和实用工具的Oracle客户端打开Linux终端或者Windows命令提示符:
     exp 要导出的用户名/密码@要导出的Oracle实例名 file=指定导出文件的全路径名 (注意:这是导出,请选择要导出的用户和实例名)


    e.g.1:在实例名为orcl_win的服务器端有用户名和密码均为source的用户,将其数据导出到C:\sourcedatabase.dmp:
          exp source/source@orcl_win file=C:\sourcedatabase.dmp
    e.g.2:在实例名为orcl_linux的服务器端有用户名和密码均为source的用户,将其数据导出到/data/sourcedatabase.dmp:
          exp source/source@orcl_linux file=/data/sourcedatabase.dmp
 
    当提示:“在没有警告的情况下成功终止导出。”,表明导出数据完毕。
    如果找不到exp命令,一般是没有配置好环境变量,需要检查系统或者用户的环境变量。
 
二、数据库恢复数据步骤(操作顺序依次为建立表空间、关联用户、导入备份数据)

    Oracle版的NC数据库是存放在建立6个永久表空间里的,各表空间的名称必须为:
    NNC_DATA01、NNC_DATA02、NNC_DATA03、NNC_INDEX01、NNC_INDEX02、NNC_INDEX03,
    各表空间占用磁盘的总合是依据标准配置或者实际项目情况而定,
    假定在“/u10201/oradata/erp/”里存放所有6个表空间,以下为建里表空间、建立用户和导入数据的步骤:
    具体使用时,需要修改成具体windows或者linux下存在全路径名,须和下面的脚本对应。
 
    1、建立规定的6个表空间:
   
        在服务器上安装oracle9i后,首先运行SQLPlus Worksheet:
        “Oracle - OraHome”——“Application Development”——“SQLPlus Worksheet”:
        直接连接到 数据库
        用户名(U):system
        口令(P):要导入的Oracle的system的密码
        服务:要导入的Oracle的实例名,如sid_target
        连接身份:SYSDBA
 
        确定,连接成功后,根据实际情况修改以下脚本,拷入SQL*Plus WorkSheet:
   
        CREATE TABLESPACE NNC_DATA01 DATAFILE '/u10201/oradata/erp/nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;   
        CREATE TABLESPACE NNC_DATA02 DATAFILE '/u10201/oradata/erp/nnc_data02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
        CREATE TABLESPACE NNC_DATA03 DATAFILE '/u10201/oradata/erp/nnc_data03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K ;
        CREATE TABLESPACE NNC_INDEX01 DATAFILE '/u10201/oradata/erp/nnc_index01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;   
        CREATE TABLESPACE NNC_INDEX02 DATAFILE '/u10201/oradata/erp/nnc_index02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;
        CREATE TABLESPACE NNC_INDEX03 DATAFILE '/u10201/oradata/erp/nnc_index03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
  
   
        点击菜单worksheet,“执行(X)  F5”。
        提示“表空间已创建。”,表明执行成功。
        
    2、建立要导入的用户:
   
    建立用户ncuser,密码ncPaSsORd,关联表空间NNC_DATA01,并予以DBA授权,在worksheet里拷入:
   
    CREATE USER ncuser IDENTIFIED BY ncPaSsORd DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE TEMP;
    GRANT connect,dba to ncuser with admin option;
 
    提示“用户已创建”;“授权成功。”表明执行成功。
    关闭窗口,退出worksheet。
 
    3、导入dmp数据
   
    在Oracle服务器端或者安装了网络服务和实用工具的Oracle客户端打开Linux终端或者Windows命令提示符:
 
    imp 要导入的用户名/密码@要导入的Oracle实例名 file=指定导入文件的全路径名 full=y ignore=y  (注意:这是导入,请选择要导入的用户和实例名)
   
    e.g.1:把刚才导出的sourcedatabase.dmp导入到刚才新建立的ncuser用户里:
        imp ncuser/ncPaSsORd@sid_target file=C:\sourcedatabase.dmp full=y ignore=y fromuser=source
       
    e.g.2:把刚才导出的sourcedatabase.dmp导入到刚才新建立的ncuser用户里:
        imp ncuser/ncPaSsORd@sid_target file=/home/oracle/sourcedatabase.dmp full=y ignore=y fromuser=source
       
    当命令提示符里提示:“成功终止导入,但出现警告。”,表明导入数据完毕。
    其中full=y ignore=y为可选项,如果不知道原来的用户(fromuser)是谁,就需要只用full=y这个选项了。
 
    附:    导入实用程序有如下常用命令参数:
    USERID        指定执行导入的用户名和密码
    BUFFER        指定用来读取数据的缓冲区大小,以字节为单位
    COMMIT        指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交
    FILE        指定要导入的二进制文件名
    FROMUSER    指定要从导出转储文件中导入的用户模式
    TOUSER        指定要将对象导入的用户名。FROMUSER与TOUSER可以不同
    FULL        指定是否要导入整个导出转储文件
    TABLES        指定要导入的表的列表
    ROWS        指定是否要导入表中的行
    PARFILE        指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数
    IGNORE        导入时是否忽略遇到的错误,默认为N
    TABLESPACES    按表空间方式导入,列出要导入的表空间名
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-253500-1-1.html 上篇帖子: 如何高效删除Oracle数据库中的重复数据 下篇帖子: oracle 的配置文件 sqlnet tnsnames listener 之间的关系
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表