数据库管理员的基本职责: 1.数据库管理员 (DBA) 在一个大型的数据库系统中,有专门负责数据库系统的管理(安装,监视,备份与恢复)及维护的人员 有专门负责数据库应用系统建立与开发的技术人员 那些懂得和掌握数据库系统全局并作管理数据库的人员叫数据库管理员,(DataBase Administrator)简称DBA 2.DBA的职责 DBA应具有的职责: (1)Oracle 软件的安装与升级。 (2)负责数据库性能协调,提高运行速度。 (3)数据库的备份与恢复管理。 (4)管理用户和权限,保证数据安全。 (5)保证数据的完整性和一致性。 (6)减少数据的冗余存储(管理数据存储)。 (7)合理设计和建立数据库。 (8)负责个人数据库管理咨询与开发者咨询,起沟通数据库生产厂家和用户的桥梁作用。 3. DBA应掌握的知识 为了能很好地完成DBA的上述任务,DBA必须掌握以下各方面的知识: (1). Oracle 软件总体结构. (2). Oracle 产品结构. (3). Oracle 安全性及审计. (4). Oracle 存储结构的管理. (5). Oracle DBA实用程序的使用. (6). Oracle 数据库系统的安装. (7).在不同操作系统下, 数据库系统的性能调整. (8).备份与恢复. (9).数据字典. (10).其它有关知识. 4.DBA的权限 (1). 操作系统特权: 因DBA负责数据库的监控和维护, 经常要涉及到操作系统的较高权限, 所以在建立操作系统用户时应把DBA 用户和一般用户有所分别。 (2). 数据库特权: DBA有对数据库一切实体的查看和更改权限。 在Oracle系统初始安装后,提供三个具有DBA特权的用户。 (a) internal 用户: 该用户负责数据库的启动与关闭,只有该用户才能启动 和关闭数据库。 例如该用户用DBA工具SQL*DBA启动数据库。 启动数据库命令 输入: SQLDBA > Connect internal ; /* 用户登录数据库 */ SQLDBA > startup ; /* 启动数据库 */ 关闭数据库命令 输入: SQLDBA > connect internal ; SQLDBA > shutdown normal ; (b). sys 用户: 该用户拥有数据字典表, 其中存储了数据库的所有信息。 数据字典的所有基表和视图都属于sys用户, 这些表和视图对 Oracle数据库系统能否正常运行是非常重要的。 这些基表中的数据由Oracle RDBMS进行存取管理 DBA 用 户除在极少情况下修改个别表的内容外,一般只是对其进行查 询 由Oracle 核心自己去管理这些关键的信息 也不要在该 用户名下建立一般用户的数据表 否则, 由于操作不慎, 破坏 了数据字典表, 可能会导致整个系统的混乱 为了防止以该用户名登录, 初始安装后可修改其口令。 SQL> grant connect to sys identified by <新口令> ( c). system 用户 该用户拥有访问数据字典表的视图, 这些视图供给数据库中 其他用户使用 system用户拥有附加的数据字典表和视图以 及一些Oracle工具用到的一些表和视图 尽管视图重要性比 不上基表, 但也不要改动它, 以免影响系统正常工作 可以在system 用户中适当的创建一些字典表的视图, 但不要 把一般用户的数据表存入该用户名下。 5. DBA的工具 DBA 用来管理Oracle 的工具, 主要有以下几种: (1) . Export 和 Import 是DBA用来做数据备份和恢复的实用工具。 (2) . SQL*Loader 是供DBA 和 一般用户用来将各种格式的文本信息装入Oracle 数据库中 (3). SQL*DBA 它是DBA管理Oracle数据库的实用工具。用来启动、关闭、监控数据库系统, 创建及修改各种实体, 对数据库的安全进行 管理等 企业管理器(Enterprise Manager) 称为OEM,是Oracle提供 的新工具,它允许DBA以图形方式管理一个或多个Oracle系统。 OEM 从WindowsNT 启动菜单启动, 或通过单击Oracle Enterprise Manager文件夹中相应的图标来启动, 按屏幕上出 现有关对话框回答。 (1). 正常启动(Startup Normal) 调用行方式服务器管理器“SVRMGR30”, 并输入登录命令 “connect internal” , 与Oracle 数据库连接。 a. SVRMGR>connect internal; b. 输入安全数据库口令 “oracle”; c. SVRMGR> startup; 现在数据库已启动。也称数据库打开(open) 或开通。 所有 合法用户可以登录数据库存取数据。 使用服务器管理器启动数据库, 用startup命令等于完成下列 3个 步骤: startup nomount ; alter database mount; alter database open; Oracle 的权限(特权)管理 系统权限:Oracle提供了80多种系统权限,每种系统权限允许用 户执行特定的数据库操作 系统权限的授予命令为 GRANT GRANT create any view TO scott; 系统权限的回收命令为REVOKE REVOKE create any view FROM scott; 使用 GRANT 和 REVOKE 命令一般格式: GRANT role or system privilege [, role or system privilege] TO user or role or public [, user or role ] [WITH ADMIN OPTION] 实体权限: 每种类型的实体有与之相关的实体权限, 例如 对表的查询, 对表中数据的增, 删 ,改等 。在数据库中访问一个对象是通过 权限来完成的 GRANT <权限> ON [< 用户名>] <表名> TO <用户名| PUBLIC> [WITH GRANT OPTION] 例如: GRANT select ,update ON dept TO PUBLIC ; 回收实体权限的命令: REVOKE <权限> ON <表名> FROM <用户名>; 创建角色命令: CREATE ROLE <角色名> IDENTIFIED BY <口令> 将权限授予创建的角色,将角色授予用户。 例如: CREATE ROLE app_user IDENTIFIED BY hello; GRANT CREATE VIEW TO app_user ; GRANT app_user TO <用户名> ; Oracle8 提供了8个系统级角色。 例如:CONNECT(连接) 通常,该角色已能够满足各个环境中的最终用户。根据开发 人员的需要, 一般也可以满足需求。 RESOURCE(资源) 拥有该角色的开发人员除具有CONNECT 权限外,能生成 PL/SQL块、过程、 触器等对象。 DBA 可以使角色生效或失效 , 命令如下: 暂时失效: SET ROLE 角色 DISABLE; 重新有效: SET ROLE 角色 ENABLE; 删除角色: DROP ROLE 角色; 审计的功能 审计通常用于调查可疑活动和监视与收集特定数据库活动的数据. 审计操作类型包括登录企图、对象访问和数据库操作。 审计记录包括被审计的操作、执行操作的用户、操作的时间信息 审计的分类 1.特权用户审计 2.数据库审计 3.权限审计 4.语句审计 5.对象审计 什么是数据库恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的, 但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作, 影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。 因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。 Oracle数据库使用几种结构来保护数据: 1 数据库后备 2 日志 3 回滚段和控制文件。