收藏 分销(赏)

oracle学习笔记2.doc

上传人:仙人****88 文档编号:8369455 上传时间:2025-02-11 格式:DOC 页数:7 大小:38KB 下载积分:10 金币
下载 相关 举报
oracle学习笔记2.doc_第1页
第1页 / 共7页
oracle学习笔记2.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
linux: SYS、SYSTEM 数据库中所有字典表和视图都存储在SYS模式中, SYS主要用来维护系统信息和管理实例。 SYSTEM是默认的ORACLE系统管理员, 通常通过SYSTEM用户管理数据库用户、权限和存储等。 oracle:orapwd file=... password=... entries=5(表示 该密码文件最多可容纳具有sysdba权限的5个用户) entries是可以保存的记录个数,每个具有sysdba或sysoper 权限的用户算一个记录,如果一个用户同时具有sysdba和 sysoper的权限,则只占一个记录。 数据库启动后可以通过v$pwfile_users 来查看密码文件中记录的情况。 但是entries并不是一个准确的值,也就是说,如果我们 设置entries为10,可能会有超过10个用户可以具有 sysdba或者sysoper的权限 当不指定entries值或者指定的entries的值为0-4的时候, 可以有五个用户具有sysdba或者sysoper的权限。 sysoper和sysdba权限 在DB的字典视图中无 sysoper: startup,shutdown,alter database open|mount, alter database backup controlfile, alter tablespace begin/end backup,recover database alter database archivelog,restricted session sysdba: (除了sysoper的所有权限以外还拥有的权限) sysoper privileges with admin option, --授予某一个用户sysoper的权限 create database, recover database until --恢复数据库到一个任意点 sys: select * from v$pwfile_users //该视图记录了当前密码文件中的用户记录 sys true true sys: grant connect to lh; //授予连结权限,否则该用户将不能以as sysdba方式以外的方式连结 grant sysdba to lh; 给用户授与sysdba权限的过程就是把密码从数据字典复制 到了密码文件中的过程。 select * from v$pwfile_users sys true true lh true false sqlplus lh/lh as sysdba //任何有sysdba权限的用户以sysdba权限登录系统,实际上都是以sys用户登录 SQL> show user USER is "SYS" grant sysoper to lh; sys: select * from v$pwfile_users sys true true lh true true SQL> connect u1/u1 as sysdba ERROR: ORA-01031: insufficient privileges Warning: You are no longer connected to ORACLE. remote remote_login_passwordfile //该参数为一个初始化参数,可以限制密码文件中用户登录时(远程和本地登录)的校验方式 none/shared/exclusive //不使用密码文件验证/使用密码文件验证/老板本的使用密码文件验证参数 alter system set remote_login_passwordfile=none scope=spfile; create pfile from spfile; shutdown immediate startup D:\>sqlplus sys/oracle@abc as sysdba ERROR: ORA-01017: invalid username/password; logon denied sqlnet.ora sqlnet.authentication_services=none/all //sqlnet.ora文件中的登录验证,不使用操作系统验证/采用所有验证方式 alter system set remote_login_passwordfile=shared scope=spfile; create pfile from spfile; shutdown immediate startup 权限 系统权限 对象权限 角色 managing privileges sys: drop user u1 cascade; create user u1 identified by u1 default tablespace users temporary tablespace temp; connect u1/u1 connect sys/oracle as sysdba grant create session to u1; connect u1/u1 create table test(id number,name varchar2(20)); connect sys/oracle as sysdba grant create table to u1; connect u1/u1 create table test(id number,name varchar2(20)); connect sys/oracle as sysdba alter user u1 quota 10M on users; //给u1用户在users表空间上授予了10M的空间使用权 connect u1/u1 create table test(id number,name varchar2(20)); create table test2(id number,name varchar2(20)) tablespace sale_ts; connect sys/oracle as sysdba alter user u1 quota 10M on sale_ts; connect u1/u1 create table test2(id number,name varchar2(20)) tablespace sale_ts; sys: create role rt; grant create table,create session to rt; select * from role_sys_privs where role='RT' grant rt to qw; grant select on lh.test to qw; grant update (age) on lh.test to qw; select * from system_privilege_map //查看可用的系统权限名称列表 select * from dba_role_privs where grantee='QW' //查看QW用户的数据库角色 select * from dba_sys_privs where grantee='QW' //查看QW用户的系统权限 select * from dba_tab_privs where grantee='QW' //查看QW用户的对象权限 select * from DBA_COL_PRIVS where grantee='QW' //查看QW用户的列权限 select * from dba_ts_quotas //查看QW用户的配额 1.system privileges: view => system_privilege_map , dba_sys_privs,session_privs 2.grant system privilege sql> grant CREATE ANY SEQUENCE to a //赋予a用户在任何用户上创建sequence的权限 sql> create sequence b.seq //在b用户上创建了一个sequence名为seq sql> grant create session,create table to managers; sql> grant create session to scott with admin option; with admin option can grant or revoke privilege from any user or role; 3.sysdba and sysoper privileges: 在DB的字典视图中无 sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile, alter tablespace begin/end backup,recover database alter database archivelog,restricted session sysdba: sysoper privileges with admin option,create database,recover database until sys:sysdba,sysoper v$pwfile_users Sysdba权限认证过程主要涉及ORACLE中的相关参数和配置文件 sys: select * from v$pwfile_users sys true true sys: grant sysdba to lh; select * from v$pwfile_users sys true true lh true false sqlplus lh/lh as sysdba SQL> show user USER is "SYS" grant sysoper to lh; sys: select * from v$pwfile_users sys true true lh true true SQL> connect u1/u1 as sysdba ERROR: ORA-01031: insufficient privileges Warning: You are no longer connected to ORACLE. 4.password file members: view:=> v$pwfile_users 5.O7_dictionary_accessibility =true restriction access to view or tables in other schema 6.revoke system privilege sql> revoke create table from karen; sql> revoke create session from scott; 7.grant object privilege sql> grant execute on dbms_pipe to public; sql> grant update(first_name,salary) on employee to karen with grant option; 8.display object privilege : view => dba_tab_privs, dba_col_privs 9.revoke object privilege sql> revoke execute on dbms_pipe from scott [cascade constraints]; manager role 1.create roles sql> create role sales_clerk; sql> create role hr_clerk identified by bonus; sql> create role hr_manager identified externally; 2.给角色授权 与给用户授权基本相同,但是系统权限UNLIMITED TABLESPACE、 WITH GRANT OPTION不能授予角色,不能用一条GRANT语句同时 授予系统权限和对象权限。 sql> GRANT CREATE SESSION TO public_role WITH ADMIN OPTION sql> GRANT SELECT ON scott.emp TO public_role sql> GRANT INSERT,UPDATE,DELETE ON scott.emp to private_role 3.modify role sql> alter role sales_clerk identified by commission; //修改验证的密码 sql> alter role hr_clerk identified externally; //修改一个角色为外部角色*** sql> alter role hr_manager not identified; //修改角色的验证方式为不使用任何验证 4.assigning roles 分配角色给用户 sql> grant sales_clerk to scott; sql> grant hr_clerk to hr_manager; sql> grant hr_manager to scott with admin option; 5.establish default role 设置默认角色 ALTER USER user DEFAULT ROLE {role[,role]...|ALL|EXCEPT role[,role]...|NONE} 设置默认角色时,需要确保用户已经具有了该角色。ALL表示将用户所有角色都 设置为默认角色,EXCEPT是排除列表,NONE表示没有默认角色。 sql> alter user scott default role hr_clerk,sales_clerk; sql> alter user scott default role all; sql> alter user scott default role all except hr_clerk; sql> alter user scott default role none; 6.enable and disable roles 激活和禁止角色 当用户登录时,只具有其默认角色所拥有的权限。 sql> set role hr_clerk; //激活hr_clerk角色 sql> set role sales_clerk identified by commission; //以数据库验证方式激活角色 sql> set role all except sales_clerk; //激活除了sales_clerk之外的角色 sql> set role none; //禁止所有角色 7.revoke role from user 取消用户的角色 sql> revoke sales_clerk from scott; sql> revoke hr_manager from public; 8.remove role sql> drop role hr_manager; 9.display role information view: =>dba_roles,dba_role_privs, role_role_privs,dba_sys_privs, role_sys_privs, role_tab_privs,session_roles homework: (1)练习在linux中创建密码文件 (2)理解sys和system用户的区别 (3)理解sysoper和sysdba的区别 (4)学会使用系统权限,对象权限,角色来管理数据库中的应用.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服