ORACLE数据库系统管理
- 格式:doc
- 大小:172.00 KB
- 文档页数:22
ORACLE数据库系统管理数据库管理员职责概述;1.安装数据库系统2.启动和关闭数据库系统3.设计和创建一个数据库4.监视和控制用户对数据库的存取5.管理数据库的存储结构6.备份和恢复数据库系统7.用户的权限管理 8.监视和优化数据库系统性能第一章ORACLE用户管理ORACLE数据库系统建立后为系统管理员建立三个初始用户sys 口令 change_on_installsystem 口令 managerinternal 口令oracle1.建立用户步骤ORACLE帐户是由ORACLE数据库管理员建立(需DBA 特权):.给每个用户设一个用户名、口令.每个用户占有一个模式,与用户同名.给每个用户设一个缺省表空间(system,temp,tolls,users,indx,rbs,oem-repository) .给每个用户设一个临时表空间,来存放临时信息.给每个用户设表空间配额.给每个用户可设配置文件,缺省为default.给每个用户授权2.基本命令:create user 用户名 indentified by 口令 [externally]default tablespace 表空间名temporary tablespace 临时表空间名quota 整数[k | m] [unlimited] on 表空间名profile 环境文件名例1:创建用户wang,user_data表空间上可用1M,system表空间上可用2Mcreate user wang identified by wangdefault tablespace user_data(users)temporary tablespace temp_data(temp)quota 1m on user_data(uers)quota 2m on systemprofile default;例2:查阅用户信息sql>select user_name,default_tablespace,created from dba_users;3.修改与删除用户命令: alter user 和 drop user例:更改wang用户的口令alter user wang identified by wang;例:删除用户wang及其表和视图drop user wang cascade;4.权限管理:(1)授权命令:grant 系统特权名 to 用户名 public [with admin option]public 授权给全体用户with admin option 被授权用户可继续把此权限授予其他用户基本权限connect 授予最终用户,数据库用户的最基本权利,由下列权限组成alter session create cluster create databaselinkcreate sequence create session create synonymcreate table create viewresource 授予开发人员,由下列权限组成create cluster create procedure create sequencecreate table create triggerdba系统权限,具有所有系统级权限,用于数据库管理和创建等工作imp_full_database 整库装入特权exp_full_database 整库卸出特权delete_catalog_role:oracle8新增可删除审计记录表sys.aud$select_catalog_role和excute_catalog_role 查询和执行数据字典中部分过程和函数例:把dba特权授与用户wanggrant dba to wang;例:把connect 特权授予用户wang 并改变口令grant connect to wang identified by wang ;(2)回收特权命令: revoke 系统特权名from 用户名;例:回收wang用户的dba特权revoke dba from wang;(3)查看权限的数据字典user_sys_privs dba_sys_privs5.使用安全管理器创建用户security manager6.查看oracle用户信息的数据字典user_objects 实体信息 user_synonym 同义词信息user_users 当前用户信息 all_users 所有oracle帐户信息dba_users用户信息例1:查看当前用户信息select * from user_users;例2:查看所有用户信息select * from dba_users;例3:查看当前用户使用空间select * from user_ts_quotas;例4:查看所有用户表空间select * from dba_ts_quotas ;7.配置文件(profile).缺省配置文件为default :在此文件中所有资源设为不受限制,即用户进程可以使用所有资源。
.自定义配置文件:限制用户使用资源,可建立新的配置文件(1)是配置文件起作用的两种方法将init.ora 中 resource_limit=true或alter system set resource_limit=true(2)主要参数sessions_per_user 每个用户可同时进行几个会话cpu_per_session 每个会话可用多少个CPU的百分之一秒cpu_per_call 语法分析可用多少个百分之一秒connect_time 用户调用数据库时间idle_time 用户不调用数据库的时间logical_reads_per_session 整个会话过程中用户访问ORACLE块logical_reads_per_call 数据库一次调用访问ORACLE块private_sga 一个用户进程所用SGA的内存数量composite_limit 复合限制failed_log_attempts 连续多次注册失败引起帐户死锁password_life_time 一个口令在其终止前可用的天数,与下一参数UNLIMITEDpassword_reuse_max 一个口令在重新使用前必须改变多少次password_lock_time 一个帐户被锁住的天数(3)例:创建一个配置文件myprofilecreate profile myprofilelimit session_per_user 20 并行会话20cpu_per_session unlimited 单个会话用户可消耗无限的CPU时间cpu_per_call 3000 单次调用不能消耗超过30秒的CPU时间connect_time 45 会话时间45分钟logical_reads_per_session default 单次会话从内存和磁盘读取的数据块logical_reads_per_call 1000 单次调用从内存和磁盘读取的数据块private_sga 15k 单次会话中总的资源开销不超过15Kcomposite_limit 5000000 单次会话中总的资源开销不能超过5000000个服务单位(4)工具方式SECURITY MANAGER修改:alter profile myprofile limit connect_time 60;删除:drop profile myprofile cascade;授予: alter user wang profile myprofile;数据字典:select profiel from dba_users where username='wang';select * from dba_profiles where profile='myprofile';第二章管理用户权限和角色对每一个用户授权使用户可以根据权限大小分别进行创建、存取、修改表或视图等操作。
建表权是用户的基本权限。
.系统级权限: 对一类特定实体完成特定操作.实体级权限:指授权某个用户访问其他用户所创建的对象(如表、视图等)(或称对象级权限) 1.系统级权限(1)系统级权限列表create/alter/drop [any] cluster create/alter/drop [any] procedurecreate/alter/drop [any] index create/alter/drop [any] sequencecreate/alter/drop [any] snapshot create/alter/drop [any] synonymcreate/alter/drop [any] table create/alter/drop [any] viewselect any table insert any table delete any tablealter session create session excute any procedure 数据库管理create [public] databaselink create/alter/drop profilecreate/alter/drop role create/alter/drop rollbacksegmentcreate/alter/drop tablespace create/alter/drop useralter database alter system grant any privilegegrant any role manage tablespace unlimited tablespace(2)授权。
工具方式security manager。
命令格式:grant [ 系统特权名][角色] to [用户名][角色][ public] [with admin option]public 授予全部用户with admin option 用户可以将其权限授予其他用户例:给用户wang授予创建任意表权限和删除任意表权限grant create any table,drop any table to wang;例:给用户wang授予创建任意索引的特权并可以授权给其他用户grant create any index to wang with admin option;(3)回收特权revoke [ 系统权限名] [角色] from [用户名] [角色] [ public]例:回收用户wang的创建任意索引的特权revoke create any index from wang;其中with admin option一同收回(4)查看用户的系统权限的数据字典user_sys_privs 和 dba_sys_privs例:查看用户wang的系统权限select * from user_sys_privs;2.实体级权限管理数据库实体主要包括表、视图、过程/函数、快照等(1)实体级权限类型select insert update delete excute index(2)实体级权限授予grant [实体特权] on [用户名].[实体名] to [用户][角色][public] [with grant option] 例:授予用户wang 对scott 用户中emp表的插入操作特权grant insert on scott.emp to wang;然后以wang/wang 用户登录,可以插入数据sql>insert into scott.emp(empno) values ('1045');不能做查询: sql> select * from scott.emp; 缺乏权限例:授予用户wang对emp表的所有操作权限grant all on scott.emp to wang;例:利用对视图授权操作控制特定字段和特定记录建立视图create or replace view new_emp;as select empno,enamefrom empwith check option;授权grant select,update on scott.new_emp to wang;以wang用户登录做查询sql>select * from scott.new_emp;只能看见所选中的列,从而达到访问特定记录的作用(3) 回收实体级权限例:从用户wang的插入和删除emp表的特权revoke insert,delete on scott.emp from wang;(4)利用数据字典检查实体级权限user_tab_privs用户实体权限dba_tab_privs 数据库中所有实体权限dba_col_privs 数据库中所有列的权限user_tab_privs_made 用户拥有的所有实体权限user_tab_privs_recd 用户被授予的所有实体权限user_col_privs 用户是拥有者,授权者或被授权者列的权限user_col_privs_made 用户拥有所有列的权限user_col_privs_recd 用户被授予的的所有列的权限all-tab_privs_made 用户权限和实体权限all_tab_prives_recd 授予了用户或public的实体权限table_privileges 用户是授权者,拥有者或public获权者的实体权限all_col_privs 授予了用户或public的列权限all_col_privs_made 用户是拥有者或授权者的列权限all_col_privs_recd 授予了用户或public的列权限column_privileges 用户是授权者,拥有者或public获权者的所有列权限3.角色(role)角色是一种系统级和实体级权限的集合,将它们组合在一起,赋予一个名字,使得授予和回收这些权限更加简单。