Fork me on GitHub

Oracle数据库备份还原笔记

Oracle数据库备份还原笔记

通过查阅资料知道Oracle备份还原的方式有三种。分别的是导出/导入、热备份和冷备份。导出/导入是一种逻辑备份、而热备份和冷备份是物理备份。[参考资料(https://blog.csdn.net/happylee6688/article/details/13620937])

这里只记录导出/导入的备份和还原的方式。实际工作中遇到一个需求:需要将服务器上的数据库备份,导入自己本机的数据库。相当于把服务器上的对应数据库实例copy一份儿到本地。主要操作步骤如下。

1. 数据库导出

操作位置:需要备份的数据库,DOS窗口【注意不是SQLPLUS】。

exp RSGL_GB_NEW/RSGL@ORCL file=d:\beifen_20190909.dmp owner=(RSGL_GB_NEW)

这个命令意思是将RSGL_GB_NEW这个库(密码是RSGL)导出。导出的路径是d:\beifen_20190909.dmp。

导出完成之后,将这个文件拷贝到需要还原的机器上,进行第二步。

2. 创建表空间

操作位置:需要还原数据库的机器,DOS窗口,登录之后进入SQLPLUS窗口

C:\Users\zz>sqlplus / as sysdba;

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 9月 27 19:13:21 2019

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-01031: 权限不足

请输入用户名:  system
输入口令:

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create tablespace RSGL_GB_NEW nologging datafile 'E:\app\oracleServer\product\11.2.0\Oracle\RSGL_GB_NEW.dbf' size 100m autoextend on next 500M maxsize unlimited;

表空间已创建。

登录了数据库,选择一个可以具有创建用户权限的用户账号登录,创建表空间。接着第三步。

3. 创建用户,赋予DBA权限

操作位置:SQLPLUS窗口

SQL> CREATE USER RSGL_GB_NEW IDENTIFIED BY RSGL DEFAULT TABLESPACE users;

用户已创建。

SQL> GRANT CREATE SESSION,CREATE ANY TABLE,CREATE ANY VIEW ,CREATE ANY INDEX,CREATE ANY PROCEDURE, ALTER ANY TABLE, ALTER ANY PROCEDURE,DROP ANY TABLE,DROP ANY VIEW,DROP ANY INDEX, DROP ANY PROCEDURE,SELECT ANY TABLE,INSERT ANY TABLE,UPDATE ANY TABLE,DELETE ANY TABLE TO RSGL_GB_NEW;

授权成功。

SQL> grant DBA to RSGL_GB_NEW;

4. 导入数据库

操作位置:DOS窗口【注意:是DOS】

C:\Users\zz>imp RSGL_GB_NEW/RSGL fromuser=RSGL_GB_NEW touser=RSGL_GB_NEW file=D:\RSGL_GN_NEW201909270.dmp ignore=y;

Import: Release 11.2.0.1.0 - Production on 星期五 9月 27 19:31:10 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
## 开始导入数据了。。。。。。。。

我这里因为是导入本地,所以不需要在RSGL_GB_NEW/RSGL后加上@ORCL。网上是这么说的,我还没搞明白为什么。

5. 常见问题

5.1 sp2-0734错误

参考:https://blog.csdn.net/qq_33369215/article/details/53264768

5.2 IMP-00013错误

参考: https://blog.csdn.net/breaker892902/article/details/11004495

对Oracle数据库不熟悉,有可能有没有说明白的地方。如果实际操作过程中遇到错误,可以搜索对应的错误提示,大概率是命令写错了。

posted @ 2019-10-12 16:44  itzhouq  阅读(517)  评论(0编辑  收藏  举报