数据库管理员

每个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和表的备份与恢复的更多相关文章

  1. dba和表的备份与恢复

    每个oracle数据库应该至少有一名数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分别担负不同的管理职责.那么一个数据库管理员的主要工作是什么呢 ...

  2. oracle DBA 常用表和视图

    ☆dba_开头.....   dba_users      数据库用户信息   dba_segments  表段信息   dba_extents    数据区信息   dba_objects    数 ...

  3. Oracle DBA面试突击题

    一份ORACLE DBA面试题 一:SQL tuning 类 1:列举几种表连接方式 答: Oracle的多表连接算法有Nest Loop.Sort Merge和Hash Join三大类,每一类又可以 ...

  4. Oracle DBA常用查询

    Oracle DBA常用查询 –1. 查询系统所有对象select owner, object_name, object_type, created, last_ddl_time, timestamp ...

  5. Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

    Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...

  6. oracle学习之表空间

    一.oracle当中的dual表 注意:sql语句一定要有一个 : 结尾,不然会报错. Oracle数据库内种特殊表DualDual表Oracle实际存表任何用户均读取用没目标表SelectDual表 ...

  7. oracle dba 职责, 及个人需要掌握内容

    ORACLE DBA 职责, 基本相当于日常工作. 0. 数据库设计 1. 模式对象的创建与管理(table, index 等等) 2. 事物管理, 例如并发等 3. SQL 调优 只是针对SQL的 ...

  8. Oracle DBA 的常用Unix参考手册(二)

    9.AIX下显示CPU数量    # lsdev -C|grep Process|wc -l10.Solaris下显示CPU数量# psrinfo -v|grep "Status of pr ...

  9. Oracle数据库用户数据完整备份与恢复

    使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1   PL/SQL->工具->导 ...

  10. (摘)ORACLE DBA的职责

    ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据 库的空间使用情况,系统资源的使用情况进行检查,发现并解 ...

随机推荐

  1. FC总线技术简介

    FC是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,解决了并行总线SCSI遇到的技术瓶颈,并在同一大的协议平台框架下可以映射更多FC-4上层协议.FC具备通道和网络 ...

  2. zTree实现地市县三级级联DAO接口

    zTree实现地市县三级级联DAO接口 ProvinceDao.java: /** * @Title:ProvinceDao.java * @Package:com.gwtjs.dao * @Desc ...

  3. 手机端仿ios的1-n级联动脚本二

    一,图片 二,代码 2.1,html脚本 var weekdayArr=['周日','周一','周二','周三','周四','周五','周六'];var timeArr = ['08:30','09: ...

  4. 【SPOJ】Longest Common Substring II (后缀自动机)

    [SPOJ]Longest Common Substring II (后缀自动机) 题面 Vjudge 题意:求若干个串的最长公共子串 题解 对于某一个串构建\(SAM\) 每个串依次进行匹配 同时记 ...

  5. HDU5919:Sequence II

    题面 Vjudge Sol 给一个数列,有m个询问,每次问数列[l,r]区间中所有数的第一次出现的位置的中位数是多少,强制在线 主席树 询问区间内不同的数的个数 树上二分找到那个中位数 # inclu ...

  6. linux jdk 和tomcat环境变量配置

    系统版本:centos6.5版本 java版本:1.8 一.准备工作 1. java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中. 2.下载tomcat包,下载地址: ...

  7. springboot dubbo filter之依赖注入null

    @Autowiredprivate ICallerRepository callerRepository;...用dubbo提供的ServiceBean即可获取bean,因为该类已经实现了Applic ...

  8. eclipse 中启动Tomcat超时了错误

    修改E:\eclipse\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml 将 start-ti ...

  9. autobase之配置文件

    配置文件内容: 1.db_info{},数据库链接属性,包括Oracle,dmdb,快立方 2.credit etc目录的路径 3.批量基础数据导入sql路径 4.用例执行日志存储目录路径 功能: 1 ...

  10. python web开发-flask中的url带斜线和不带斜线区别详解

    通过flask进行路由配置的时候,有一个细节,就是同样的url,带上"/"和不带"/"有什么区别. 举例说明: 比如有个url,名字为"/url&qu ...