Chinaunix首页 | 论坛 | 博客
  • 博客访问: 216186
  • 博文数量: 55
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1126
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-22 15:15
个人简介

积累经验

文章分类

全部博文(55)

文章存档

2014年(55)

分类: Oracle

2014-01-23 00:54:09

实验:
? 通过指定适当的口令机制来创建用户
? 控制用户对空间的使用

1.创建up临时表空间
2.表空间up_temp
3.用户up(表空间up,临时表空间up_temp)
  用户up在表空间up上有1M的空间,(临时表空间不能分配限额)
4.创建表up表结构和scott.emp一致
5.插入数据,报quota错误

1.create temporary tablespace "up" tempfile '/opt/app/oracle/oradata/sytong1/up.dbf' size 100m;

2.create tablespace "up_space" datafile '/opt/app/oracle/oradata/sytong1/up_space.dbf' size 100m;

3.create user up1 identified by redhat default tablespace up_space temporary tablespace up quota 1m on up password expire;
PASSWORD EXPIRE:强制用户在使用SQL*Plus 登录到数据库时重置口令(该选项仅在用户通过数据库进行验证时有效)
4.grant connect to up1
  grant select on scott.tt to up1;
  grant create table to up1;
  conn up1/redhat
  create table up as select * from scott.emp;

5.insert into up select * from up;
ORA-01536: space quota exceeded for tablespace 'UP'

CREATE USER aaron
IDENTIFIED BY soccer
DEFAULT TABLESPACE data
DEFAULT TEMPORARY TABLESPACE temp
QUOTA 15M ON data
QUOTA 10M ON users
PASSWORD EXPIRE;
创建新用户:数据库验证
语法:
使用以下命令创建新用户:
CREATE USER user
IDENTIFIED {BY password | EXTERNALLY}
[ DEFAULT TABLESPACE tablespace ]
[ TEMPORARY TABLESPACE tablespace ]
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
]...]
[ PASSWORD EXPIRE ]
[ ACCOUNT { LOCK | UNLOCK }]
[ PROFILE { profile | DEFAULT }]
创建新用户:数据库验证(续)
语法(续):
其中:
User:是用户名
BY password:指定用户在登录时需通过数据库验证,还必须提供口令
EXTERNALLY:指定用户需通过操作系统验证
GLOBALLY AS:指定对用户进行全局验证
DEFAULT 或TEMPORARY TABLESPACE:为用户标识缺省或临时表空间
QUOTA:定义表空间中允许用户拥有对象所具有的最大空间(可将限额定义为整数字节或
千字节/兆字节。关键字UNLIMITED 用于指定用户拥有的对象可使用表空间内的全部可用
空间。缺省情况下,用户在任何表空间上都没有限额。)
PASSWORD EXPIRE:强制用户在使用SQL*Plus 登录到数据库时重置口令(该选项仅在
用户通过数据库进行验证时有效)。
ACCOUNT LOCK/UNLOCK:可用于显式锁定或解除锁定用户帐户(UNLOCK 为缺省设置)
PROFILE:用于控制资源使用和指定用户的口令控制机制。
注:有关创建配置文件的信息,请参考“管理配置文件” 一课。
口令验证方法是必需的。如果指定了口令,则Oracle 服务器将在数据字典中对其进行维
护。用户通过服务器进行验证时,可使用Oracle 服务器提供的口令控制机制。
设置了口令之后,当用户使用SQL*Plus 登录时将接收到下列登录消息,同时系统提示用
户输入新口令:
ERROR:
ORA-28001:该帐户已过期
更改PETER 的口令
旧口令:
新口令:
重新键入新口令:
口令已更改

更改用户的表空间限额
使用下列命令修改表空间限额或重新分配表空间:
ALTER USER user
[ DEFAULT TABLESPACE tablespace]
[ TEMPORARY TABLESPACE tablespace]
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ]
...]
如果分配的限额为0,用户拥有的对象仍保留在撤消的表空间内,但不能给它们分配新的
空间。例如,如果表空间USERS 内有一个10 MB 的表,若将该表空间的限额改为0,则
不能再为该表分配新区。
任何未更改的选项保持不变。
注:对于UNLIMITED TABLESPACE 权限应格外注意,因为它优先于限额设置。

-------------------------------------------------------------------

1 创建用户Bob,口令为CRUSADER。确保Bob 创建的所有对象和临时段都不是在系
统表空间中创建的。此外,还应确保Bob 可以登录,并可以在USERS 和INDX 表空
间中创建最多占用1 兆字节空间的对象。使用lab15_01.sql 脚本授予Bob 创建会
话的能力。
提示:请为Bob 分配缺省表空间USERS 和临时表空间TEMP。
create user bob identified by crusader 
default tablespace users temporary tablespace temp 
quota 1m on users
quota 1m on indx;

3 从数据字典中显示有关Bob 和Emi 的信息。
提示:可以通过查询DBA_USERS 获得相关信息。
select * from dba_users where username in ('BOB','EMI');

4 从数据字典中显示Bob 可以在表空间中使用的空间量信息。
提示:可以通过查询DBA_TS_QUOTAS 获得相关信息。
select * from dba_ts_quotas where username='BOB';

5 a 以用户Bob 的身份更改其临时表空间。结果如何?
b 以用户Bob 的身份将其口令更改为SAM。
grant connect to bob
grant alter user to bob;
conn bob/crusader
a.alter user bob temporary tablespace indx;
b.alter user bob account unlock identified by sam;

6 以用户SYSTEM 的身份删除Bob 的缺省表空间限额。
conn / as sysdba
alter user bob quota 0m on user qutoa 0m on indx;?

7 从数据库中删除Emi 的帐户
drop user emi;

8 假设Bob 忘记了他的口令。为他指定一个口令OLINK,并要求他下次登录时对口令做出相应更改。
alter user bob account unlock identified by olink password expire;DBAI 15章创建用户 表空间 分配大小
阅读(1585) | 评论(0) | 转发(0) |
0

上一篇:oracle 基本查询语句

下一篇:管理权限

给主人留下些什么吧!~~