首页 > 代码库 > Oracle基础(三)数据库管理

Oracle基础(三)数据库管理

上篇介绍了Oracle数据库的基本操作指令:增、删、改、查以下针对数据库的管理进行介绍

数据库角色介绍

数据管理员:  至少有一个数据库管理员dba。

            职责:安装和升级oracel数据库

            建库,表空间,表。视图。索引

            制定并实施备份和恢复计划

            数据库权限管理,调优,故障排除

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

            Sys 和system差别

           1、  最重要。存储的数据的重要性不同

            Sys:全部oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的执行至关重要,有数据库自己维护,不论什么用户都不能手动更改。sys拥有dba,sysdba,sysoper角色或权限。是oracle权限的最高用户

System :用户存放次一级的内部数据,如oracle的一些特性或工具的管理信息,拥有dba,sysdba角色或系统权限

             2、 其次差别

             Sys必须以as sysdba或as sysyoper形式登录。不能以normal方式登录数据库

             System假设正常登录。事实上就是一个普通的dba,但假设以as sysdba登录。其结果实际上它是作为sys用户登录的。

             数据库的逻辑备份和恢复

             导出 导出表,导出方案,导出数据库

使用exp命令完毕

            Userid:用户指定运行导出操作员的username,口令,链接字符串

            Tables:导出操作的表

            Owner:导出操作的方法

             Full=y:导出操作的数据库

             Inctype:导出操作的增量类型

            Rows :

            Exp userid=scott/tiger@ myoraltables=(emo,dept) file=d:\e1.dmp

            导出自己的方案

            Exp scott/tiger@myoral owner= scottfile=d:\scott.dmp

            导出其它的方案

             Exp system/manager@myoralowner=(system,scott) file=d:\system.dmp

            导出数据库

             Exp userid=system/manager@myyoral full=yinctype=complete file =x.dmp

             导入自己表

              Imp userid=scott.tiger@myortables=(emp) file =d:\xx.dmp

             导入表到其它用户

              Imp userid =system/manager@myortables=(emp) file = d:\xx.demp rows =n

              导入数据

              Imp userid =scott/tiger@myor tables=(emp)file =d:\xx.dmp igore=y

数据字典和动态性能视图

             Db 提供数据库的一些系统信息包含数据字典基表和数据字典视图。

             动态性能视图:记载了例程启动后的相关信息

       管理表空间和数据文件    

            Sql>select table_name from user_tables 查询该用户建立的全部的全部表格

            All_tables 可訪问到的全部表

            Dba_tables 显示全部方案拥有的数据库表

            查询表

            Desc dba_users

            查询有多少汇总角色?

            Select* from dba_roles

            查询某个用户。具有如何的角色

            Select * from dba_role_privs wheregrantee=’username’

            当前数据库的全称  :Select * from global_name

     管理表空间和数据文件

            表空间:数据库的逻辑组成部分,物理上。数据库数据存放在数据文件里,逻辑上将,数据库则是存放在表空间中。表空间由一个或是多个数据文件组成

            数据库的逻辑结构包含表空间,段。区和块

            表空间:控制数据库占用的磁盘空间

            Dba 能够将不同数据类型部署到不同的位置,有利于提高I/O性能。有利于备份和恢复等管理操作

            建立表空间 create tablespace

            建立数据库表空间

           Create tablespace data01 datafile‘d:\test\data01.dbf’ size 20m uniform size 128k

            使表空间脱机:Alter tablespace users offline

             联机:Alter tablespace users online

            仅仅读为read only

    约束

            包含not null,unique,primay key ,foreign key ,check

            表跟表的关系 references

            删除约束:alter table 表名 drop primary key cascade.

     维护数据的完整性

        管理索引

            用于加速数据存取的数据对象。

            单列索引:Create index 索引名 on 表名(列名)

            复合索引:Create index emp_indes on emp(ename,job );

     缺点:

           占用硬盘和内存 1.2倍

            额外更新索引

            显示索引

             Select index_name ,index_type formuser_indexes where table_name=’表名’

 管理权限和角色

      查询权限

           Select * from system_privilege_map order byname

           查询某个角色包含哪些权限

           Select * from dba_sys_privs wheregrantee=’DBA’

以上主要介绍了数据库管理员的职责以及权限,数据库完整性中的添加索引的利弊等管理。这部分尽管每一个开发者都经常使用的到功能。可是作为数据库管理,项目开发的管理人员确实必需要考虑而且做好的一项重要职责。

Oracle基础(三)数据库管理