现在的位置: 首页 > 综合 > 正文

用户创建删除解锁示例

2013年03月01日 ⁄ 综合 ⁄ 共 2190字 ⁄ 字号 评论关闭

1.创建一个用户

创建用户dog密码是wangwang,默认的用户表空间是test_data,默认的临时表空间是test_temp,在test_data表空间上的磁盘限额是11M,在users表空间磁盘限额1M
SQL> create user dog identified by  wangwang default tablespace test_data temporary tablespace test_temp quota 11m on test_data quota 1m on users password expire;

2.查询用户是不是已经创建--使用DBA用户

SQL> col username for a10
SQL> col default_tablespace for a10
SQL> col temporary_tablespace for a10
SQL> select username,default_tablespace,temporary_tablespace,created from dba_users where username like '%DOG%';
USERNAME  DEFAULT_TA TEMPORARY_ CREATED
---------- ---------- ------------------------
TESTDOG   TEST_DATA  TEST_TEMP  17-1月 -13
DOG       TEST_DATA  TEMP       17-1月 -13
查DOG用户的磁盘限额
SQL> select username,tablespace_name,bytes/1024/1024 MB,max_bytes/1024/1024 MAX_MB from dba_ts_quotas where username='DOG';
USERNAME  TABLESPACE         MB     MAX_MB
---------- ---------- ---------- ----------
DOG       USERS               0          1
DOG       TEST_DATA           0         11

3.修改用户的磁盘限额:

SQL> alter userdog quota 0 on users;
用户已更改。
修改限额为0M以后,即此时如果用户DOG在USERS表空间中已经创建了对象,所创建的对象可以继续使用,无法再要求新的磁盘空间。
SQL> alter userdog quota 15m ontest_data;
用户已更改。
SQL> selectusername,tablespace_name,bytes/1024/1024 MB,max_bytes/1024/1024 MAX_MB from dba_ts_quotas where username='DOG';
USERNAME  TABLESPACE         MB     MAX_MB
---------- ---------- ---------- ----------
DOG       TEST_DATA           0         15                                  ---在USERS表上的修改为0M限额,所以不显示。

4.用户账户解锁加锁

示例SCOTT用户解锁:

使用DBA或SYSDBA登陆,在运行栏里面敲:sqlplus(空格)/nolog 回车
接着在弹出框里面敲:conn sys/password as sysdba回车提示已连接
最后敲: alter user scott identified by tiger; 修改密码

alter user scott account unlock; 再解锁
 对SCOTT解锁这样就解决了。

账户加锁:

BYS@bys1>create user test identified by test;
User created.
BYS@bys1>grant connect,resource to test;
Grant succeeded.
BYS@bys1>conn test/test     ---此时可以登陆
Connected.
TEST@bys1>conn bys/bys
Connected.
BYS@bys1>alter user test account lock;   --使用DBA账户对TEST用户加锁
User altered.
BYS@bys1>conn test/test
ERROR:
ORA-28000: the account is locked     --登陆时提示账户已经被锁定
Warning: You are no longer connected to ORACLE.

5.删除用户

不能删除当前正在与ORACLE连接的用户。如此用户包括了对象(如已经创建有表),要用CASCADE子句,会连带删除用户表。
SQL>drop user testdog;
用户已删除。
TEST@bys1>create table aa(a number);
Table created.
BYS@bys1>drop user test;
drop user test
*
ERROR at line 1:
ORA-01922: CASCADE must be specified to drop 'TEST'
  ---用户有表时需要使用CASCADE关键字。
BYS@bys1>drop user test cascade;
User dropped.

抱歉!评论已关闭.