Liny_@NotePad

沉迷ACG中

练习:创建一个新建tablespace的User

YOYO posted @ 2009年2月13日 20:55 in 【数据库】 with tags oracle 练习 , 2657 阅读

使用sysdba连接

SQL> conn / AS sysdba;
已连接。


授予scott DBA权限

SQL> GRANT dba TO scott;
授权成功。


使用scott(密码tiger)连接

SQL> conn scott/tiger;
已连接。


创建表空间tb_spoto,数据文件放在'd:/workspace/oracle/spoto.ora',起始大小为5M。
* 注意数据文件存放的目录必须存在,如果不存在会提示找不到路径的错误。

SQL> CREATE TABLESPACE tb_spoto
  2  datafile 'd:/workspace/oracle/spoto.ora' SIZE 5M;

表空间已创建。


创建用户linyq,密码linyq,默认表空间是刚刚创建的tb_spoto。
* identified by后面跟的是密码。

SQL> CREATE USER linyq
  2  IDENTIFIED BY linyq
  3  DEFAULT TABLESPACE tb_spoto;

用户已创建


此时使用linyq登陆,会提示用户LINYQ缺少创建对话的权限,登陆失败。同时与ORACLE的连接断开。原因是并没有给该用户授予connect权限。

SQL> conn linyq/linyq
ERROR:
ORA-01045: USER LINYQ lacks CREATE SESSION privilege; logon denied

警告: 您不再连接到 ORACLE。


为了给该用户赋予权限,再次以scott登陆。

SQL> conn scott/tiger
已连接。


授予connect权限给用户linyq。

SQL> GRANT CONNECT TO linyq;
授权成功。


使用linyq连接,这次成功登陆了。

SQL> conn linyq/linyq;
已连接。


查询linyq能看到的表,因为刚刚创建,所以没有任何表。

SQL> SELECT * FROM tab;

未选定行


尝试创建一个表,弹出提示,该用户在表空间TB_SPOTO中没有权限,创建失败。
原因是该用户并没有被授予RESOURCE权限。

SQL> CREATE TABLE users(
  2  username VARCHAR2(20),
  3  password VARCHAR2(20),
  4  sex VARCHAR2(2),
  5  age NUMBER(2)
  6  );
CREATE TABLE users(
*
ERROR 位于第 1 行:
ORA-01950: 表空间'TB_SPOTO'中无权限


于是再次以scott登陆。

SQL> conn scott/tiger;
已连接。


授予resource权限给用户linyq。

SQL> GRANT RESOURCE TO linyq;
授权成功。


重新以linyq登陆

SQL> conn linyq/linyq;
已连接。


创建表users,成功了。

SQL> CREATE TABLE users(
  2  username VARCHAR2(20),
  3  password VARCHAR2(20),
  4  sex VARCHAR2(2),
  5  age NUMBER(2)
  6  );

表已创建。


此时查询,就有刚刚创建的users这个表了。

SQL> SELECT * FROM tab;

TNAME                          TABTYPE  CLUSTERID                             
------------------------------ ------- ----------                             
USERS                          TABLE


查询users表的内容,里面为空。

SQL> SELECT * FROM users;

未选定行


向users表中插入一条记录。

SQL> INSERT INTO users(username,password,sex,age)VALUES('YOYO','1989','F',20);

已创建 1 行。


查询users表的内容,只有一条刚刚插入的记录。

SQL> SELECT * FROM users;

USERNAME             PASSWORD             SE        AGE                       
-------------------- -------------------- -- ----------                       
YOYO                 1989                 F          20


基本操作完毕 = =。

* 请记得在创建用户时将权限授予好,避免像此例一样 = =。

[附]…..
查询user表的结构:

DESC users;
describe users;


更新用户为未锁定:

ALTER USER linyq account unlock;


保存sql*plus的内容到指定文件的方法:

spool 指定路径的文件
执行SQL查询
spool off


linyq@SPOTO 2009-2-13

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter