分享

[经验] NC数据库备份及恢复操作方法

 俺永不后悔 2012-04-23
在NC实施中,需要将数据库进行导出备份,与之对应的也需要进行数据库恢复。以下方法对前面两个需求做下详细的说明,供大家参考。

一、NC31数据库导出数据步骤(export data from oracle)
在Oracle9i服务器端或者安装了网络服务和实用工具的Oracle客户端打开命令提示符:
exp 要导出的用户名/密码@要导出的Oracle实例名 file=指定导出文件的全路径名
  (注意:这是导出,请选择要导出的用户和实例名)
eg:在实例名为source的服务器端有用户名和密码均为source的用户,将其数据导出到C:\sourcedatabase.dmp:
     exp source/source@source file=C:\sourcedatabase.dmp
当命令提示符里提示:“在没有警告的情况下成功终止导出。”,表明导出数据完毕。
二、NC31数据库恢复数据步骤(顺序依次建立表空间、关联用户、导入备份数据)
Oracle9i版的NC31数据库是存放在建立6个永久表空间里的,各表空间的名称必须为:
NNC_DATA01、NNC_DATA02、NNC_DATA03、
NNC_INDEX01、NNC_INDEX02、NNC_INDEX03,
各表空间占用磁盘的总合是依据各个项目的实际情况而定的,
以下建库脚本均为1GB×6=6GB为基准,当各个数据文件满额时自动扩展,增量为32M。
假定E盘存放表空间ORA文件,在该盘新建文件夹:ncdata,文件名可自定义,须和下面的脚本对应。
以下为建里表空间、建立用户和导入数据的步骤:
1、建立规定的6个表空间:
  在服务器上安装oracle9i后,首先运行SQLPlus Worksheet:
  “Oracle - OraHome92”——“Application Development”——“SQLPlus Worksheet”:
  直接连接到 数据库
  用户名(U):system
  口令(P):要导入的Oracle的system的密码
  服务:要导入的Oracle的实例名
  连接身份:SYSDBA
  确定,连接成功后,根据实际情况修改以下脚本,拷入SQL*Plus WorkSheet:
create tablespace NNC_DATA01 datafile 'e:\ncdata\NNC_DATA01.ORA' size 1024M AUTOEXTEND ON
  NEXT 32M MAXSIZE UNLIMITED NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
create tablespace NNC_DATA02 datafile 'e:\ncdata\NNC_DATA02.ORA' size 1024M AUTOEXTEND ON
  NEXT 32M MAXSIZE UNLIMITED NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
create tablespace NNC_DATA03 datafile 'e:\ncdata\NNC_DATA03.ORA' size 1024M AUTOEXTEND ON
  NEXT 32M MAXSIZE UNLIMITED NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
create tablespace NNC_INDEX01 datafile 'e:\ncdata\NNC_INDEX01.ORA' size 1024M AUTOEXTEND ON
  NEXT 32M MAXSIZE UNLIMITED NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
create tablespace NNC_INDEX02 datafile 'e:\ncdata\NNC_INDEX02.ORA' size 1024M AUTOEXTEND ON
  NEXT 32M MAXSIZE UNLIMITED NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
create tablespace NNC_INDEX03 datafile 'e:\ncdata\NNC_INDEX03.ORA' size 1024M AUTOEXTEND ON
  NEXT 32M MAXSIZE UNLIMITED NOLOGGING EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
  点击菜单worksheet,“执行(X)  F5”。
  提示“表空间已创建。”,表明执行成功。

2、建立要导入的用户:
建立用户nc31,密码nc31,关联表空间NNC_DATA01,并予以DBA授权,在worksheet里拷入:
create user nc31 identified by nc31 default tablespace NNC_DATA01 temporary tablespace TEMP;
grant connect,dba,resource to nc31 with admin option;
  提示“用户已创建”;“授权成功。”表明执行成功。
  关闭窗口,退出worksheet。

3、导入dmp数据(import data into oracle)
在Oracle9i服务器端或者安装了网络服务和实用工具的Oracle客户端打开命令提示符:
imp 要导入的用户名/密码@要导入的Oracle实例名 file=指定导入文件的全路径名 full=y ignore=y
  (注意:这是导入,请选择要导入的用户和实例名)
e.g:把C:\sourcedatabase.dmp导入到刚才建立的nc31用户里(假定刚才建立的nc31用户所在oracle的实例名为sun):
  imp gjnc/gj123@orcl file=D:\cmeccs1210.dmp full=y ignore=y
当命令提示符里提示:“成功终止导入,但出现警告。”,表明导出数据完毕。
附: 导入实用程序有如下常用命令参数:
USERID  指定执行导入的用户名和密码
BUFFER  指定用来读取数据的缓冲区大小,以字节为单位
COMMIT  指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交
FILE  指定要导入的二进制文件名
FROMUSER 指定要从导出转储文件中导入的用户模式
TOUSER  指定要将对象导入的用户名。FROMUSER与TOUSER可以不同
FULL  指定是否要导入整个导出转储文件
TABLES  指定要导入的表的列表
ROWS  指定是否要导入表中的行
PARFILE  指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数
IGNORE  导入时是否忽略遇到的错误,默认为N
TABLESPACES 按表空间方式导入,列出要导入的表空间名

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多