1、SQLSELECTproperty_name,property_valueFROMdatabase_propertiesWHEREproperty_nameLIKEDEFAULT%;PROPERTY_NAMEPROPERTY_VALUE- -DEFAULT_TEMP_TABLESPACETEMPDEFAULT_PERMANENT_TABLESPACEUSERSDEFAULT_TBS_TYPESMALLFILE更多关于表空间的请参考:Oracle表空间与数据文件1.修改用户修改用户的语法同创建用户,仅仅讲关键字create替换为alter,alter user可以修改除用户名之外的任一属性ALT
2、ERrobinson ACCOUNT LOCK;2.修改密码DBA可以创建用户和修改密码用户本人可以使用ALTER USER语句修改密码robinsonIDENTIFIEDnewpassword;3.删除用户:DROPusername CASCADECASECADE连同用户创建的对象一并删除,如果该用户创建了对象,要加CASCADE删除,否则删除不掉另外,不能删除当前正在与ORACLE服务器相连的用户。4.改变用户在表空间上的配额:usernameQUOTA 0ONsystem;scott QUOTA UNLIMITEDUSERS;dog QUOTA 30M5.查看用户表空间配额(dba_ts
3、_quotas):USERNAME,TABLESPACE_NAME,MAX_BYTES/1024/1024 Max MB2dba_ts_quotasUSERNAME=SCOTTUSERNAMETABLESPACE_NAMEMaxMB- -SCOTTSYSTEM306.查看特定对象下用户所拥有的对象使用dba_objects视图owner,object_name,object_typedba_objectsowner=3Oracle权限系统权限:允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等对象权限:允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等3.1系统权限
4、超过一百多种有效的权限(SELECT*SYSTEM_PRIVILEGE_MAP查)数据库管理员具有高级权限以完成管理任务,例如:创建新用户删除用户删除表备份表a.常用的系统权限:SESSION创建会话SEQUENCE创建序列SYNONYM创建同名对象TABLE在用户模式中创建表ANY在任何模式中创建表在用户模式中删除表在任何模式中删除表PROCEDURE创建存储过程EXECUTE执行任何模式的存储过程创建用户删除用户VIEW创建视图b.授予用户系统权限GRANTprivilege , privilege.TOuser, user| role, PUBLIC.WITH ADMIN OPTION;
5、PUBLIC所有用户WITH ADMIN OPTION使用户同样具有分配权限的权利,可将此权限授予别人SESSION,CREATETABLE,CREATEscott;scottWITHADMINOPTION;CONN scott;-scott具有WITH ADMIN OPTION,故可以将EXECUTE ANY PROCEDURE授予robinsonEnter password:Connected.robinson;Grantsucceeded.PUBLIC;-将EXECUTE ANY PROCEDURE授予所有用户CONN system/redhat;-使用system为robinson授予
6、CREATE TABLE、CREATE SESSION权限c.使用系统权限-使用robinson具有创建会话、创建表tb1ASUSER_TABLES;-下面提示没有权限在users表空间创建对象USER_TABLES*ERROR at line 1:ORA-01950:noprivilegesontablespaceUSERSCONN sysassysdba;-使用sys帐户登陆并为robinson在users表空间指定配额后可以创建表tb1robinson QUOTA 10MUseraltered.CONN robinson/lion;Tablecreated.d.查看系统权限dba_sys
7、_privs-针对所有用户被授予的系统权限user_sys_privs-针对当前登陆用户被授予的系统权限grantee,privilege,admin_optiondba_sys_privsgranteeIN(,ROBINSON)3ORDERgrantee;GRANTEEPRIVILEGEADM- - -ROBINSONNOYESUNLIMITED TABLESPACEe.回收系统权限REVOKEprivilege|roleuser_namerole_namePUBLIC-下面的示例中并没有回收掉原来由scott授予给robisnon EXECUTE ANY PROCEDURE的权限Revok
8、eselectfromwherein)andprivilege=EXECUTE ANY PROCEDUREorderby对于使用with admin option为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限3.2对象权限不同的对象具有不同的对象权限对象的拥有者拥有所有权限对象的拥有者可以向外分配权限ORACLE一共有种对象权限对象权限表视图序列过程修改(alter)删除(delete)执行(execute)索引(index)插入(insert)关联(references)选择(select)更新(update)a.对
9、象授权object_privALL(columns)objectuser|role|PUBLICWITH GRANT OPTION;ALL:所有对象权限PUBLIC:授给所有的用户OPTION:允许用户再次给其它用户授权b.授予系统权限与授予对象权限的语法差异:授予对象权限时需要指定关键字ON,从而能够确定权限所应用的对象。对于表和视图可以指定特定的列来授权。-对象授权示例SHOWUSER;isSCOTTempUPDATE(sal,mgr)-新创建一个用户john,使用robinson账户授予更新scott.emp(sal,mgr)的权限john IDENTIFIEDjohn;CONN ROB
10、INSON/LIONscott.emp-授予scott.emp(sal,mgr)的更新权限UPDATESETsal+100ename-成功更新1 row updated.-向数据库中所有用户分配权限deptc.查询权限分配情况数据字典视图描述ROLE_SYS_PRIVS角色拥有的系统权限ROLE_TAB_PRIVS角色拥有的对象权限USER_TAB_PRIVS_MADE查询授出去的对象权限(通常是属主自己查)USER_TAB_PRIVS_RECD用户拥有的对象权限USER_COL_PRIVS_MADE用户分配出去的列的对象权限USER_COL_PRIVS_RECD用户拥有的关于列的对象权限USER_SYS_PRIVS用户拥有的系统权限USER_TAB_PRIVSUSER_ROLE_PRIVS用户拥有的角色-查询已授予的对象权限(即某个用户对哪些表对哪些用户开放了对象权限)user_tab_privs_made;-下面是scott用户开放的对象权限TABLE_NAMEGRANTORGRA HIE- - - - - -DEPTNOEMP-查询列上开放的对象权限user_col_privs_made;COLUMN_NAMEGRA-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1