第7课 oracle数据库的管理及数据备份,恢复

一般,每个数据库都应该至少有一名数据库管理员,但是现在由于成本等原因,只有大公司才会有专门的dba;

dba的职责:

1,安装和升级oracle数据库;

2,建立表空间,表,视图,索引等;

3,制定并实施数据库备份和恢复计划;

4,数据库的权限管理和调优,故障排除等;

5,对于高级dba,要求能参与项目刚开发,会编写sql语句,存储过程,触发器,规则,约束,包等;


Sys和system的区别:

  Sys是权限最高的用户,拥有dba,sysoper,sysdba权限,登入时必须as sysdba,或者assysoper登入;

   在oracle中,每个用户对用一个方案,在sys方案中,存储了基表,和动态视图;

  System拥有dba,sysdba权限:他的方案里也存放了一些很重要的操作数据;

这里的sysoper权限好像应用不大,很少用,下面是比较sysdba和sysoper的不同;

sysdba权利最大,该有的权利都有,sysoper有些权利没有:改变数据库字符集,创建,删除数据库,sysoper只能完全恢复数据库,不能执行部分恢复;不能查看用户数据,登陆后用户是public;

关闭启动数据库的两条命令为:startup,  shutdown,只有sysdba拥有这个权利;

高级的dba能够进行调优工作,主要是对数据库的配置参数进行调整,参数大约200多个,可以以sysdba身份用show paramter查看这些参数,

 也可以再D:\oracle\admin\myOra\pfile\ init.ora进行修改,当然也可在图形界面修改。


备份和恢复:

逻辑备份和物理备份:

1,  逻辑备份:(只能在数据库运行的状态)

导出:使用工具如export 等将数据对象的结构和数据导出到文件的过程;

导入:数据库损害后,用import利用备份文件把数据对象导入到数据库的过程。

2,物理备份:可以再数据库关闭的状态下进行。

导出分为:导出表,导出方案,导出数据库

导出命令:exp   这些都必须在控制台进行命令,oracle的bin目录下(因为这个目录下有exp.exe文件),我的安装在d盘:D:\oracle\ora92\bin


 导出表: 

第一种:导出自己的表:exp userid=scott/tiger@myora tables=(emp) file=d:\e1.dmp  导出多表,只需在括号内添加表名

第二种:sysdba导出别的用户的表:exp userid=system/xxxxxx@myora tables=(scott.emp) file=d:\e2.dmp

                  可否导出到别的文件,如d:\e1.txt   当然导出的表实际上没什么用处,只是为了恢复表吧

导出表结构:

有些时候我们对表的数据不感兴趣,只需导出表的结构,

     同样可以导出自己的表结构和别人的表结构:同导出表的区别是只需在后面加上 rows=n  :   rows=n/y  表示是否要导出表中数据;

 导出表及表结构其实还有一种很迅速的方式:在后面加上:direct =y ,这样在时间上会提高很多,至于为什么,我也不知道。

 如:exp userid=system/zpg7016893@myora tables=(scott.emp) file=d:\e2.dmpdirect =y  注意要oracle的字符集与客户端字符集完全一致才可以;

导出方案:

 导出方案,也很相识,只需把关键字table 改成owner,:如下:也可以导出多个方案:

exp userid=system/密码@myoraowner= scott file=d:\e5.dmp

导出数据库:

exp userid=system/密码@myora full=yinctype=complete  file=d:\e6.dmp  // inctype=complete表示增量发导出,下次导出时,速度就快很多;

以上就是数据库的不同层次上的备份操作,下面是恢复,也就是数据不同层次上的到入:


数据导入:

imp命令

1,导入表: imp  userid=scott/tiger@myora tables=(emp) file=d:\e1.dmp;   导入表到当前用户;

                         impuserid=scott/tiger@myora tables=(emp) file=d:\e1.dmp  touser=scott; 导入表到scott用户;

  imp userid=scott/tiger@myora tables=(emp) filed=”d:\e1.dmp   ignore=y”; ignore=y表示表结构存在了,就可以只导入数据:

2,导入表结构:imp userid=scott/tiger@myora tables=(emp) filed=”d:\e1.dmp  rows=n”;  rows=表示不导入数据行;


3,导入方案:

    导入自身导出的方案:Imp userid=scott/tiger file=d:\e6.dmp

   导入其他方案:imp userid=system/manager file=d:m6.dmp fromuser=systemtouser=scott;

4,导入数据库:

  Imp userid=system/manager full=yfile=d:\e6.dmp


 












阅读更多
个人分类: 数据库 oracle
想对作者说点什么? 我来说一句

Oracle 论文 数据备份恢复

2011年12月28日 54KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭