首页 > 代码库 > 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基础(三)数据库管理