数据库的备份操作是在整个项目运行中最重要的工作之一。
一、数据的导出和导入
数据的导出和导入是针对于一个用户的备份操作,可以按照如下的方式完成:
1、 数据的导出
- 在硬盘上建立一个文件夹:c:\backup;
- 输入exp指令;
- 输入用户名和密码;
- 设置导出文件的名称:导出文件: EXPDAT.DMP;
-
-
-
2、 数据的导入
- 先将表删除干净;
- 进入到导出文件所在的文件夹之中:c:\backup;
- 输入imp指令;
- 输入用户名和密码;
- 导入整个导出文件 (yes/no): no > yes
但是以上的操作只是做为一个演示,因为这种备份操作本身只适合数据量小的情况,如果数据量较大的话,这种操作是会损耗性能的,而且时间也会很长,要想解决大数据量的问题只能对数据分区操作。
二、数据表的冷备份
在数据操作之中,有可能有些用户不会进行事务的提交,那么在这种情况下很可能无法进行完整的备份操作,而所谓的冷备份指的就是在闭数据库实例的情况下进行数据库备份操作的实现。
如果要进行冷备份,则需要备份出数据库中的一些几个核心内容:
- 控制文件,指的是控制整个Oracle数据库的实例服务的核心文件,直接通过”v$controlfile”找到;
- 重做日志文件,可以进行数据的灾难恢复,直接通过”v$logfile”找到;
- 数据文件,表空间文件,通过”v datafile”和”v tablespace”找到;
- 核心操作的配置文件(pfile),通过”SHOW PARAMETER pfile”找到;
从实际的Oracle的部署来讲,所有的文件为了达到IO的平衡操作,要分别保存在不同的硬盘上。
确定了要备份的文件之后,下面按照如下的步骤查找:
1、 使用超级管理员登录
CONN sys/change_on_install AS SYSDBA;
2、 查找所有的控制文件目录
SELECT * FROM v$controlfile;
3、 备份重做日志文件
SELECT * FROM v$logfile;
4、 查找表空间文件
SELECT * FROM v$tablespace; SELECT * FROM v$datafile;
5、 找到pfile文件
SHOW PARAMETER pfile;
6、 关闭数据库实例
SHUTDOWN IMMEDIATE;
7、 将所有查找到的数据备份到磁盘上;
8、 启动数据库实例
STARTUP;
一般一个专业的DBA开发人员,必须熟练以上的步骤,这样才可能在出现灾难之后进行及时的恢复。