首页 > 代码库 > 数据库管理员<三>

数据库管理员<三>

数据库管理员

? 介绍

每个 oracle 数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个 dba 就够了,但是对于一个大的数据库

可能需要多个 dba 分担不同的管理职责。那么一个数据库管理员的主要工作是什么呢:

? 职责

1.安装和升级 oracle 数据库

2.建库,表空间,表,视图,索引„

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

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

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

 

Oracle 安装会自动的生成 sys 用户和 system 用户:

(1) sys 用户是超级用户,具有最高权限,该用户默认的密码是 change_on_install

(2)system 用户是管理操作员,权限也很大,默认的密码是 manager

? 管理数据库的用户主要是 sys 和 system                

(sys 好像是董事长,system 好像是总经理,董事长比总经理大,但是通常是总经理干事)

在前面我们已经提到这两个用户,区别主要是:

1.最重要的区别,存储的数据的重要性不同 

 sys:所有 oracle 的数据字典的基表和视图都存放在 sys 用户中,这些基表和视图对于 oracle 的运行是至关重要的,由数据库

自己维护,任何用户都不能手动更改。sys 用户拥有 dba,sysdba,sysoper 角色或权限,是 oracle 权限最高的用户。

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

限。

看图:

sysdba 可以建数据库,sysope 不能建数据库

2. 其次的区别,权限的不同。

sys 用户必须以 as sysdba 或 as sysoper 形式登录。不能以 normal 方式登录数据库

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

从登录信息里面我们可以看出来。

sysdba 和 sysoper 权限区别图,看图:

sysdba>sysoper>dba

可以看到:只要是 sysoper 拥有的权限, sysdba 都有;蓝色是它们区别的地方。(它们的最大区别是: sysdba 可以创建数据库,

sysoper 不可以创建数据库)

? dba 权限的用户

dba 用户是指具有 dba 角色的数据库用户。特权用户可以执行启动实例,关闭实例等特殊操作,而 dba 用户只有在启动数据库

后才能执行各种管理工作。

(相当于说 dba 连 startup 和 shutdown 这两个权限都没有)

两个主要的用户,三个重要权限,他们的区别和联系,大家要弄清楚

管理初始化参数

? 管理初始化参数(调优的一个重要知识点,凭什么可以对数据库进行调优呢?是因为它可以对数据库的一些参数进行修改修

正)

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

? 显示初始化参数

(1) show parameter 命令

? 如何修改参数

需要说明的如果你希望修改这些初始化的参数,可以到文件 D:\oracle\admin\myoral\pfile\init.ora 文件中去修改比如要修

改实例的名字

数据库管理员<三>