oracle--dba和表的备份与恢复
数据库管理员
每个oracle数据库应该至少有一名数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分别担负不同的管理职责,那么一个数据库管理员的主要工作是什么呢?
dba的职责:
1、安装和升级oracle数据库
2、建库、表空间、表、视图、索引...
3、制定并实施备份与恢复计划
4、数据库权限管理,调优,故障排除
5、对于高级dba,要求能参与项目开发,会编写sql语句、存储过程、触发器、规则、约束、包
管理数据库的用户主要是sys和system
在前面我们已提到这两个用户,区别主要是:
1、最重要的区别,存储的数据重要性不同。
sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba(角色),sysdba(系统权限),sysoper(系统权限)角色或权限,是oracle权限最高的用户。
system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dba,sysdba系统权限。
2、其次的区别,权限的不同。
sys用户必需以as sysdba或as sysoper形式登录,不能以normal方式登录数据库。
system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,这一点类似linux里面的su的感觉,从登录信息里面我们可以看出来。
sysdba和sysoper权限区别
sysdba和sysoper具体的权限可以看下表:
系统权限 |
sysdba |
sysoper |
区别 |
startup(启动数据库) |
startup |
shutdown(关闭数据库) |
shutdown |
|
alter database open/mount/backup |
alter database open/mount/backup |
|
改变字符集 |
none |
|
create database(创建数据库) |
none不能创建数据库 |
|
drop database(删除数据库) |
none |
|
create spfile |
create spfile |
|
alter database archivelog(归档日志) |
alter database archivelog |
|
alter database recover(恢复数据库) |
只能完全恢复,不能执行不完全恢复 |
|
拥有restricted session(会话限制) |
拥有restricted session权限 |
|
可以让用户作为sys用户连接 |
可以进行一些基本的操作,但不能查看用户数据 |
|
登录之后用户是sys |
登录之后用户是public |
dba权限的用户
dba用户是指具有dba角色的数据库用户。特权用户可以执行启动实例,关闭实例等特殊操作,而dba用户只有启动数据库后才能执行各种管理工作。
数据库管理员--管理初始化参数
管理初始化参数
初始化参数用于设置实例或是数据库的特征,oracle10g提供了200多个初始化参数,并且每个初始化参数都有默认值。
显示初始化参数命令
show parameter
如何修改参数
需要说明的如果你希望修改这些初始化的参数,可以到文件:
盘符:\oracle目录\admin\数据库实例\pfile\init.ora文件中去修改。
数据库(表)的逻辑备份与恢复--介绍
逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程;
逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程。
物理备份即可在数据库open的状态下进行也可在关闭数据库后进行;
但是逻辑备份和恢复只能在open的状态下进行。
原理图(所有数据库一样,只是使用的工具不一样而以。)
数据库(表)的逻辑备份与恢复--导出
导出具体的分为:导出表、导出方案、导出数据库三种方式。
导出使用exp命令来完成的,该命令常用的选项有:
userid:用于指定执行导出操作的用户名、口令、连接字符串;
tables:用于指定执行导出操作的表;
owner:用于指定执行导出操作的方案;
full=y:用于指定执行导出操作的数据库;
inctype:用于指定执行导出操作的增量类型;
rows:用于指定执行导出操作是否要导出表中的数据;
file:用于指定导出文件名。
导出表
1、导出自己的表
exp userid=用户名/密码@数据库实例名 tables=(表名1,表名2,..) file=备份路径
例:exp userid=scott/tiger@orcl tables=(emp,dept) file=d:/scott_emp_dept.dmp
2、导出其它方案的表
如果用户要导出其它方案的表,则需要DBA的权限或是exp_full_database的权限,比如system就可以导出scott的表
exp useris=用户名/密码@数据库实例名 tables=(方案名.表名1,方案名.表名2,..) file=备份路径
例:exp userid=system/orcl@orcl tables=(scott.emp,scott.dept) file=d:/scott_emp_
dept2.dmp
特别说明:备份文件的后缀名一般是.dmp,但是这不是必须的。
3、导出表的结构
exp userid=用户名/密码@数据库实例名 tables(表名1,表名2,..) file=备份路径 rows=n
例:exp userid=system/orcl@orcl tables(scott.emp,scott.dept) file=d:/scott_em
p_dept.demp rows=n
4、使用直接导出方式
exp userid=用户名/密码@数据库实例名 tables(表名1,表名2,..) file=备份路径 direct=y
例:exp userid=system/orcl@orcl tables(scott.emp,scott.dept) file=d:/scott_em
p_dept.demp direct=y
这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。
这时需要数据库的字符集要与客户端字符集完全一致,否则会报错。
导出方案
导出方案是指使用export工具导出一个方案或是多个方案中的所有对象(表、索引、约束..)和数据,并存放到文件中。
1、导出自己的方案
exp 用户名/密码@数据库实例名 owner=所有者 file=备份路径
例:exp scott/tiger@orcl owner=scott file=d:/scott_owner.dmp
2、导出其它方案
如果用户要导出其它方案,则需要dba的权限或者exp_full_database的权限。例如system用户就可以导出任何方案
exp 用户名/密码@数据库实例名 owner=(所有者1,所有者2,..) file=备份路径
例:exp system/orcl@orcl owner=scott,system file=d:/system_scott_owner.dmp
特别注意:如果用户的权限够大,则可一次性导出多外用户的方案。比如system。
导出完整数据库
需要dba的权限或者exp_full_database的权限。
exp 用户名/密码@数据库实例名 full=y file=备份路径
例:exp system/orcl@orcl full=y file=d:/orcl_full.dmp
导入表
导入自身表
imp 用户名/密码@数据库实例名 file=备份路径 tables=(表名1,表名2,..)
例:imp scott/tiger@orcl file=d:/emp_dept.dmp
特别注意:如果目的地有相同的表,则导入不成功。
导入其它方案的表
需要有dba权限或者imp_full_database的权限。
imp 用户名/密码@数据库实例名 file=备份路径 tables=(表名1,表名2,..) fromuser=方案名 touser=system
例:imp system/orcl@orcl file=d:/scott_emp_dept.demp tables=emp,dept fromuser=scott touser=system
注意:提示成功,但警告,表示此对象有scott导出,而不是当前用户。
导入方案
导入自身方案
imp 用户名/密码@数据库实例名 file=备份路径
例:imp scott/tiger@orcl file=scott_owner.dmp
导入其它方案
需要有dba权限或者imp_full_database权限
imp 用户名/密码@数据库实例名 file=备份路径 fromuser=方案名 touser=system
例:imp system/orcl@orcl file=scott.dmp fromuser=scott touser=system
导入完整数据库
需要有dba权限或者imp_full_database权限
imp 用户名/密码@数据库实例名 file=备份路径 full=y
例:imp system/orcl@orcl file=orcl_full.dmp full=y
oracle--dba和表的备份与恢复的更多相关文章
- dba和表的备份与恢复
每个oracle数据库应该至少有一名数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分别担负不同的管理职责.那么一个数据库管理员的主要工作是什么呢 ...
- oracle DBA 常用表和视图
☆dba_开头..... dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数 ...
- Oracle DBA面试突击题
一份ORACLE DBA面试题 一:SQL tuning 类 1:列举几种表连接方式 答: Oracle的多表连接算法有Nest Loop.Sort Merge和Hash Join三大类,每一类又可以 ...
- Oracle DBA常用查询
Oracle DBA常用查询 –1. 查询系统所有对象select owner, object_name, object_type, created, last_ddl_time, timestamp ...
- Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据
Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...
- oracle学习之表空间
一.oracle当中的dual表 注意:sql语句一定要有一个 : 结尾,不然会报错. Oracle数据库内种特殊表DualDual表Oracle实际存表任何用户均读取用没目标表SelectDual表 ...
- oracle dba 职责, 及个人需要掌握内容
ORACLE DBA 职责, 基本相当于日常工作. 0. 数据库设计 1. 模式对象的创建与管理(table, index 等等) 2. 事物管理, 例如并发等 3. SQL 调优 只是针对SQL的 ...
- Oracle DBA 的常用Unix参考手册(二)
9.AIX下显示CPU数量 # lsdev -C|grep Process|wc -l10.Solaris下显示CPU数量# psrinfo -v|grep "Status of pr ...
- Oracle数据库用户数据完整备份与恢复
使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1 PL/SQL->工具->导 ...
- (摘)ORACLE DBA的职责
ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据 库的空间使用情况,系统资源的使用情况进行检查,发现并解 ...
随机推荐
- FusionCharts报错
1.具体报错如下 SCRIPT 5007:无法获取属性"SetReturnValue"的值: 对象为空或未定义 script block(158),行1字符158 2.错误原因 3 ...
- Flex读取txt文件中的内容报错
Flex读取txt文件中的内容 1.具体错误如下 2.错误原因 读取文件不存在 var file:File = new File(File.applicationDirectory.nativePat ...
- Error 1313: RETURN is only allowed in a FUNCTION SQL Statement
1.错误描述 14:07:26 Apply changes to rand_string Error 1313: RETURN is only allowed in a FUNCTION SQL St ...
- Excle巧取汉字打头的字串内容
处理表格数据时遇到问题:从网页表格中复制来的数据,地址一列中出现类似于“4AWZCX万载老林业局2”的无用字符前缀.现在希望提取第一个汉字及其之后的所有内容(图1),寻求高效分离中英文及数字的实操方法 ...
- mariadb集群与nginx负载均衡配置--centos7版本
这里配置得是单nginx主机..先准备4台主机,三台mariadb集群,一台nginx. ------------------------------------------------------- ...
- ASP.NET WebForm 通过 PagedDataSource 实现 Repeater 的分页
1.效果图&代码说明 1.效果图 2.代码说明 1.翻页按钮 前台两个LinkButton(上一页.下一页),设置不同的CommandName.CommandArg ...
- Project入门学习
Microsoft Office Project制定项目计划时,针对每项任务是可以分配具体的资源的,比如由某个人完成某项任务,或者把某项设备分配到某项任务,这样便于项目的管理和人员.设备的安排及有效利 ...
- sass学习笔记--摘录
//$a: Helvetica, sans-serif //$b: #333 // //body //font: 100% $a //color: $b //$a: red //body //colo ...
- UVA10692:Huge Mods
题面 传送门 题意 输入正整数a1,a2,a3..an和模m,求a1^a2^...^an mod m Sol 首先有\[ a^b\equiv \begin{cases} a^{b\%\phi(p)}~ ...
- [HEOI2016]游戏
二分图匹配(网络流实现) # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a ...