160 likes | 301 Views
第九章 管理用户与资源. 9.1 用户身份验证方法. Oracle 并不像 Informix 那样采用操作系统来管理用户, Oracle 采用的是确定用户的身份以及该用户是否具有访问权限。通常, Oracle 采用两种验证方法:口令身份验证和操作系统身份验证。. 9.1.1 口令身份验证. Oracle 采用 “ / ” 后跟口令和不加 “ / ” 的口令提示输入方法。如: $sqlplus system/manager SQL>sqlplus Enter username:system Enter password:******
E N D
第九章 管理用户与资源 辽宁工程技术大学 软件工程系
9.1 用户身份验证方法 • Oracle 并不像 Informix 那样采用操作系统来管理用户,Oracle 采用的是确定用户的身份以及该用户是否具有访问权限。通常,Oracle 采用两种验证方法:口令身份验证和操作系统身份验证。 辽宁工程技术大学 软件工程系
9.1.1 口令身份验证 • Oracle 采用 “/”后跟口令和不加“/”的口令提示输入方法。如: • $sqlplus system/manager • SQL>sqlplus • Enter username:system • Enter password:****** • SQL>show user • User is "SYSTEM" 辽宁工程技术大学 软件工程系
9.1.2 操作系统身份验证 • 如果在UNIX 上建立了LANCE帐户,在Oracle 中也建立了 OPS$LANCE 帐户,则当LANCE连接到UNIX 后,他不需具有Oracle 的用户名和口令就能访问Oracle 辽宁工程技术大学 软件工程系
9.1.2 操作系统身份验证 • 用户可以在命令行中加斜杠(/)来调用这种形式的登录,如: • %sqlplus / • SQL>show user • User is "OPS$LANCE" 辽宁工程技术大学 软件工程系
9.2 建立内部用户 • CREATE USER username IDENTIFIED BY password • Or IDENTIFIED EXETERNALLY • Or IDENTIFIED GLOBALLY AS 'CN=user' • [DEAFULT TABLESPACE tablespace ] • [TEMPORARY TABLESPACE tablespace] • [QUOTA [integer K[M]][UNLIMITED] ON tablespace • [,QUOTA [integer K[M]][UNLIMITED] ON tablespace • [PROFILES profile_name] • [PASSWORD EXPIRE] • [ACCOUNT LOCK or ACCOUNT UNLOCK] 辽宁工程技术大学 软件工程系
建立内部用户 • 例1 • 建立一个用户名为zhao、口令为zhaoabc的用户,并使该用户能与Oracle系统进行连接,步骤如下: • 1. 用 system 或 sys 登录 • 2. create user zhao identified by zhao default tablespace user_tab; • 3. grant connect,resource to zhao; 辽宁工程技术大学 软件工程系
建立新用户 • 例2 • 建立一个用户名并指定临时表空间。 • CREATE USER zhao IDENTIFIED BY zhao_yuan_jie • DEFAULT TABLESPACE users • TEMPORARY TABLESPACE TEMP QUOTA 10M PROFILE prfile1; 辽宁工程技术大学 软件工程系
9.3 建立外部验证用户 • 2. 用CREATE USER 建立外部用户: • CREATE USER ops$zhao IDENTIFIED BY EXTERNALLY; • 如果在INITsid.ORA文件的OS_AUTHENT_PREFIX=""(即没有设置为OPS$),则: • CREATE USER zhao IDENTIFIED BY EXTERNALLY; • CREATE USER ops$zhaoyj IDENTIFIED BY EXTERNALLY • DEFAULT TABLESPACE users • TEMPORARY TABLESPACE temp • QUOTS UNLIMITED ON users • QUOTS UNLIMITED ON temp; 辽宁工程技术大学 软件工程系
9.5 使用密码文件验证用户 • $orapwd [enter] • usage:orapwd file=<filename>password=<password.entries=<users> • Where file_name of password file (mand), • Password-password for SYS and INTERNAL (mand), • Entries –maximum number of distinct DBA and OPERs(opt), • There are no space around the equal-to(=) character. • 这里: • file 是密码文件的路径和名字; • password 是进入SYS的管理员的口令; • entries 是可存放管理员帐户的数目。 辽宁工程技术大学 软件工程系
例子.创建一个密码文件: • orapwd file=e:\Oracle\intra.passwd password=change_on_install_new entries=30 辽宁工程技术大学 软件工程系
将sysdba角色的权限授予其他的用户 • SQL>connect sys/change_on_install_new as sysdba; • sysdba包含的权限是:所有的系统权限; • sysoper包含的权限是: • startup,shutdown, • alter database,archive log, • recover,restricted session几种。 辽宁工程技术大学 软件工程系
9.6 修改与删除用户 • ALTER USER username IDENTIFIED BY password • Or IDENTIFIED EXETERNALLY • Or IDENTIFIED GLOBALLY AS 'CN=user' • [DEAFULT TABLESPACE tablespace ] • [TEMPORARY TABLESPACE tablespace] • [QUOTA [integer K[M]][UNLIMITED] ON tablespace • [,QUOTA [integer K[M]][UNLIMITED] ON tablespace • [PROFILES profile_name] • [PASSWORD EXPIRE] • [ACCOUNT LOCK or ACCOUNT UNLOCK] • [DEFAULT ROLE role[,role] • or [DEFAULT ROLE ALL [EXEPT role[,role]]]or[DEFAULT ROLE NOTE] 辽宁工程技术大学 软件工程系
修改与删除用户 • 例1.增加资源给用户: • SQLPLUS SYSTEM/MANAGER • SQL>ALTER USER sideny QUOTA 10M ON SYSTEM; 辽宁工程技术大学 软件工程系
修改与删除用户 • 例2.查询用户的资源限额信息: • SQL>SELECT * FROM DBA_TS_QUOTAS; • TABLESPACE_NAME USERNAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS • ---------------- -------- ------ --------- ------- ---------- • SYSTEM SYSTEM 194560 0 190 0 • USERS SCOTT 61440 -1024 60 -1 • SYSTEM DAK 71680 0 70 0 • USERS HOUSE 0 0 0 0 • SYSTEM HOUSE 3.2E+07 0 31395 0 辽宁工程技术大学 软件工程系
修改与删除用户 • 语法如下: • DROP USER user [CASCADE] • 例1.如果加CASCADE 则连同用户的 对象一起删除: • SQL>drop user zhao cascade; • 提示:不要轻易使用 DROP USER 命令。只有在确认某个用户没有保留时才使用该命令。 • 如果要确实删除某个用户,而该用户拥有许多大量的表等,则可能删除需要很长的时间。为了加快用户的删除,建议管理员先将该用户的对象删除(实际是废除),然后再删除用户。 辽宁工程技术大学 软件工程系