加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle数据库备份

发布时间:2020-12-12 13:23:06 所属栏目:百科 来源:网络整理
导读:原文地址:http://www.voidcn.com/article/p-sslvcjlq-oz.html ? ? dba的职责: ? ? 1、安装和升级oracle数据库 2、建库、表空间、表、视图、索引... 3、制定并实施备份与恢复计划 4、数据库权限管理,调优,故障排除 5、对于高级dba,要求能参与项目开发,

系统权限

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用户只有启动数据库后才能执行各种管理工作。

?

管理初始化参数

?????初始化参数用于设置实例或是数据库的特征,oracle11g提供了300多个初始化参数,并且每个初始化参数都有默认值。

?

显示初始化参数命令

show?parameter

?

如何修改参数

需要说明的如果你希望修改这些初始化的参数,可以到文件:

盘符:oracle目录admin数据库实例pfileinit.ora文件中去修改。

?

?

数据库(表)的逻辑备份与恢复

逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程;

逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程。

物理备份既可在数据库open的状态下进行也可在关闭数据库后进行;

但是逻辑备份和恢复只能在open的状态下进行。

?

导出

导出具体的分为:导出表、导出方案、导出数据库三种方式。

导出使用exp命令来完成的,该命令常用的选项有:

userid:用于指定执行导出操作的用户名、口令、连接字符串;

tables:用于指定执行导出操作的表;

owner:用于指定执行导出操作的方案;

full=y:用于指定执行导出操作的数据库;

inctype:用于指定执行导出操作的增量类型;

rows:用于指定执行导出操作是否要导出表中的数据;

file:用于指定导出文件名。

?

导出表

1、导出自己的表

exp?userid=用户名/密码@数据库实例名?tables=(表名1,表名2,..)?file=备份路径

例:exp?userid=scott/[email?protected]?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/[email?protected]?tables=(scott.emp,scott.dept)?file=d:/scott_emp_

dept2.dmp

?

特别说明:备份文件的后缀名一般是.dmp,但是这不是必须的。

?

3、导出表的结构

exp?userid=用户名/密码@数据库实例名?tables(表名1,..)?file=备份路径?rows=n

例:exp?userid=system/[email?protected]?tables(scott.emp,scott.dept)?file=d:/scott_em

p_dept.demp?rows=n

4、使用直接导出方式

exp?userid=用户名/密码@数据库实例名?tables(表名1,..)?file=备份路径?direct=y

例:exp?userid=system/[email?protected]?tables(scott.emp,scott.dept)?file=d:/scott_em

p_dept.demp?direct=y

这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。

这时需要数据库的字符集要与客户端字符集完全一致,否则会报错。

?

导出方案

导出方案是指使用export工具导出一个方案或是多个方案中的所有对象(表、索引、约束..)和数据,并存放到文件中。

1、导出自己的方案

exp?用户名/密码@数据库实例名?owner=所有者?file=备份路径

例:exp?scott/[email?protected]?owner=scott?file=d:/scott_owner.dmp

?

2、导出其它方案

如果用户要导出其它方案,则需要dba的权限或者exp_full_database的权限。例如system用户就可以导出任何方案

exp?用户名/密码@数据库实例名?owner=(所有者1,所有者2,..)?file=备份路径

例:exp?system/[email?protected]?owner=scott,system?file=d:/system_scott_owner.dmp

?

特别注意:如果用户的权限够大,则可一次性导出多外用户的方案。比如system。

?

导出完整数据库

需要dba的权限或者exp_full_database的权限。

exp?用户名/密码@数据库实例名?full=y?file=备份路径

例:exp?system/[email?protected]?full=y?file=d:/orcl_full.dmp

?

?

导入表

导入自身表

imp?用户名/密码@数据库实例名?file=备份路径?tables=(表名1,..)

例:imp?scott/[email?protected]?file=d:/emp_dept.dmp

特别注意:如果目的地有相同的表,则导入不成功。

?

导入其它方案的表

需要有dba权限或者imp_full_database的权限。

imp?用户名/密码@数据库实例名?file=备份路径?tables=(表名1,..)?fromuser=方案名?touser=system

例:imp?system/[email?protected]?file=d:/scott_emp_dept.demp?tables=emp,dept?fromuser=scott?touser=system

注意:提示成功,但警告,表示此对象有scott导出,而不是当前用户。

?

导入方案

导入自身方案

imp?用户名/密码@数据库实例名?file=备份路径

例:imp?scott/[email?protected]?file=scott_owner.dmp

?

导入其它方案

需要有dba权限或者imp_full_database权限

imp?用户名/密码@数据库实例名?file=备份路径?fromuser=方案名?touser=system

例:imp?system/[email?protected]?file=scott.dmp?fromuser=scott?touser=system

?

?

导入完整数据库

需要有dba权限或者imp_full_database权限

imp?用户名/密码@数据库实例名?file=备份路径?full=y

例:imp?system/[email?protected]?file=orcl_full.dmp?full=y

?

?

?

----------参考《韩顺平玩转Oracle》

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

原文地址:http://www.voidcn.com/article/p-sslvcjlq-oz.html

?

?

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用户登录的。

?

sysdba和sysoper权限区别

sysdba和sysoper具体的权限可以看下表:

    推荐文章
      热点阅读