Oracle学习 第18天
—— 数据表的备份与恢复
数据库管理员的职责
一、安装和升级Oracle数据库
二、创建数据库实例、表空间、表、视图、索引等
三、制定并实施备份与恢复计划
四、数据库的权限管理,性能调优,故障排除等
五、参与一些项目开发。编写存储过程、触发器、规则、约束、包等
Oracle两大管理员的区别 复习
一、存储数据的重要性不同
SYS用户:所有的Oracle数据字典的基表和视图都存放在SYS用户下,这些基表和视图对Oracle的运行是至关重要的,由数据库自身维护,任何用户都不能手动修改。SYS用户是Oracle权限最高的用户。
SYSTEM用户:存放稍微次一级的内部数据。这些数据非常重要但却不会从根本上影响Oracle的运行。如Oracle的一些特性或者工具的管理信息等。SYSTEM用户在Oracle中权限仅次于SYS用户。
二、权限不同
SYS用户:必须以 AS SYSDBA 或 AS SYSOPER 的形式登录。无法以 NORMAL 方式登录数据库。
SYSDBA 与 SYSOPER 的区别在下面介绍。
一般情况下,很少会用使用SYS用户登录。
SYSTEM用户:如果使用 NORMAL 方式登录,他就是一个普通的 DBA 用户;
如果以 AS SYSDBA 方式登录,其结果实际上就是作为SYS用户登录的。
SYSDBA与SYSOPER的区别
一、相同点
二、不同点
数据表的备份和恢复
一、逻辑备份
逻辑备份是指使用工具Export将数据对象的结构和数据导出到文件的过程,逻辑恢复是指当数据库对象被误操作而损坏后使用工具Import利用备份文件把数据对象导入到数据库中的过程。逻辑备份和恢复只能在OPEN的状态下进行。
逻辑导出:
导出具体的分为:导出表、导出方案、导出数据库三种方式。
导出使用EXP命令完成,该命令常用的参数有:
userid: 用于指定执行导出操作的用户名、口令、连接字符串;
tables: 用于指定执行导出操作的表;
owner: 用于指定执行导出操作的方案;
full = y: 用于指定执行导出操作的数据库;
inctype: 用于指定执行导出操作的增量类型;
rows: 用于指定执行导出操作是否要导出表中的数据;
file: 用于指定导出的文件名
导出表数据基本语法:
EXP USERID=用户名/密码@数据库实例名 TABLES=(方案名.表名1, 方案名.表名2…) FILE=导出的路径与文件名
★ 注意:
1、如果用户需要导出其他方案的表,需要具备 DBA 权限或 EXP_FULL_DATABASE 权限
2、备份文件的后缀名一般是 .dmp , 但这不是必须的。
导出表数据基本示例:
★ 注意:
EXP 命令不是在 ORACLE 控制台下执行的。而是在 DOS 下执行。
C:\Users\Admin>exp userid = scott/scott@orcl tables = (emp) file = E:/emp_backup.dmp Export: Release 11.2.0.1.0 - Production on 星期六 6月 16 12:43:20 2018 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出指定的表通过常规路径... . . 正在导出表 EMP导出了 14 行 成功终止导出, 没有出现警告。
导出表结构基本语法:
EXP USERID=用户名/密码@数据库实例名 TABLES=(方案名.表名1, 方案名.表名2…) FILE=导出文件路径 ROWS=N;
直接导出基本语法:
EXP USERID=用户名/密码@数据库实例名 TABLES=(方案名.表名1, 方案名.表名2…) FILE=导出文件路径 DIRECY=Y;
★:注意
直接导出的方式比默认的方式速度要快很多,当数据量很大的时候一般建议考虑这种方法。但是,直接导出需要数据库的字符集编码与客户端的字符集编码一样,否则会报错。
导出方案基本语法:
EXP USERID=用户名/密码@数据库实例名 OWNER=(方案名1, 方案名2…) FILE=导出文件路径;
二、物理备份
物理备份指的是通过拷贝的方式对数据库数据进行备份。物理备份既可以在关闭数据库后进行,也可以在数据库OPEN状态下进行。
我们将关闭数据库后进行备份的操作称作冷备份;OPEN状态下的备份称之为热备份。
Oracle中冷备份很简单,只需要将数据库关闭,然后直接拷贝数据文件、日志文件等即可。
Oracle中热备份必须要先对活动中的部分运行归档模式。