5. 创建数据表
在上面,我们已建好了用户 study 我们现在进入该用户
sqlpluswstudy/study@test
然后就可以在用户study中创建数据表了
格式: create table 数据表名 , 后面的详细参数,请你在网上搜索 "oracle" "create table" "语法". 太多了,我就不附在这里了。
下面给一个例子,自己体会。
create table test_user (
no number(5) not null , ——pk
username varchar2(30) not null , ——用户名
passpord varchar2(30) not null , ——密码
constraint pk_connectdb primary key(no)
)storage (initial 10k next 10k pctincrease 0);
*下面讲解上面命令的各方面的含义
create table test_user ——创建数据表
no number(5) not null , ——pk
(列名或字段名) 数据类型(数据长度) 该数据列不能为空 ,是列之间的分隔符 ——后的内容是注释
constraint pk_connectdb primary key(no)
(约束) 约束名 (主键) (列名) 意思就是 在数据表 test_user中所有行数据 no的值不能相同(这就是主键的含义)
storage (initial 10k next 10k pctincrease 0); 这个说起来比较复杂, 反正如果某个数据表要存放大量数据,就把initial和next后的值设置大一点, 否则设置小一点。
既然上面在创建数据表中没有特别指定 表空间,当然该表就存放在study缺省表空间data_test了。
create tablespace data_phonepos datefile 'd:\install\OracleXpdb\datafilephonepos.dbf' size 8000M;
create user phonepos identified by phonepos default tablespace data_phonepos;
grant connect, resource to phonepos;
grant dba to phonepos;
权限的查询
5.1 查询某个用户授予其他用户在当前用户模式下的对象权限
select * from user_tab_privs_made ——假如当前用户为WENZI,那么查询结果就是由WENZI授权,在WENZI模式下的权限记录
5.2 查询某个用户授予其他用户在该用户模式对象及其他模式对象上的对象权限
select * from all_tab_privs_made —— 假如当前登录用户为WENZI,那么查询结果就是所有由WENZI授予的权限的记录
修改用户
ALTER USER avyrros
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE data_ts
TEMPORARY TABLESPACE temp_ts
QUOTA 100M ON data_ts
QUOTA 0 ON test_ts
PROFILE clerk;
删除用户
DROP USER username [CASCADE] ——CASECADE 选项会删除该用户模式下的所有对象,建议在删除前,先确认是否有其他的依赖关系存在。
查询属于用户的对象
select owner,object_name,object_type,status from dba_objects where owner='WENZI'
5.3 查询为某个用户授予的,在其他模式对象上的权限
select * from user_tab_privs_recd ——假如当前登录用户为WENZI,那么查询结果就是WENZI在其他模式对象上的权限
5.4 查询为某个用户授予的,在该用户模式对象与其他模式对象上的权限select * from all_tab_privs_recd ——假如当前用户为wenzi,则查询结果为wenzi在整个数据库中拥有权限的对象
角色管理
创建口令文件
orapwd file='……\pwd{SID}.ora' password='***(sys的密码)' tntries=10(口令文件最大的用户数量)
要使某个用户可以使用口令文件,必须为其授予SYSDBA权限,系统会自动将其加入到口令文件中。
grant sysdba to wenzi
当收回SYSDBA权限时,系统将对应的用户从口令文件中删除。
revoke sysdba from wenzi
查看口令文件管理的用户
select * from v$pwfile_users
22/2<12