--==============================
--autho:_yeeXun
--date:发表于 @2010年12月24日 11:08:00
--address:Jau 17-304
--==============================
每个oracle数据库应该至少有一名数据库管理员(dba),他们的职责有:
1.安装和升级oracle数据库
2.建库,表空间,表,视图,索引......
3.制定并实施备份与恢复计划。
备份和恢复很重要。
4.数据库权限管理,调优,故障排除。
5.对于高级dba,要求能参与项目开发,会编写sql语句,存储过程,触发器,规则,约束,包。
在oracle数据库中,管理数据库的用户主要是sys和system,下面有个比方:
sys——董事长,权利大。
system——总经理,做主要工作的。
他们的区别主要是:
1.存储的数据的重要性不同(最重要的区别)
sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行至关重要,由数据库自己维护,任何用户都不能更改。Sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户。
特点:一个用户对应一个方案,sys对应一个sys方案,这个sys方案里存放了数据字典的基表和动态视图。
基表:数据库基表的表,数据库正常运行所必须的表,就想人生下来就有器官,没有基本器官,不算完整的人。
dba:数据库管理员,
sysdba:系统管理员,最高权限
sysoper:系统操作员。
system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dba,sysdba角色或系统权限。
2.其次的区别,权限的不同
sys用户必须以as sysdba或as sysoper形式登录,不能以normal方式登录数据库。
system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的。
下面是sysdba和sysoper具体的权限区别:
系统权限 | sysdba | sysoper |
区别 | Startup(启动数据库) | startup |
Shutdown(关闭数据库) | shutdown | |
Alter database open/mount/backup | Alter database open/mount/backup | |
改变字符集 | none | |
Create database(创建数据库) | None(不能创建数据库) | |
Drop database(删除数据库) | none | |
Create spfile | Create spfile | |
Alter database archivelog(归档日志) | Alter database archivelog | |
Alter database recover(恢复数据库) | 只能完全恢复,不能执行不完全恢复 | |
拥有restricted session(会话限制)权限 | 拥有restricted session权限 | |
可以让用户作为sys用户连接 | 可以进行一些基本的操作,但不能查看用户数据 | |
登录之后用户是sys | 登录之后用户是public |
Dba权限的用户
Dba用户是指具有dba角色的数据库用户,特别用户可以执行启动实例,关闭实例等特殊操作,而dba用户只有在启动数据库后才能执行各种管理工作。
也就是说dba连startup和shutdown的权限都没有。dba,sysdba,sysoper三者的权限大小关系为:sysdba > sysoper > dba。
管理初始化参数
初始化参数用户设置实例或是数据库的特征。Oracle9i提供了200多个初始化参数,并且每个初始化参数都有默认值。
·显示初始化参数
Show parameter命令。