Oracle数据库新建用户并为其创建一个视图(示例)

1.创建用户

//<1> 以sysdba管理员登录创建用户smart/smart
  sqlplus /nolog
  conn /as sysdba;
  create user smart identified by smart;

//<2> 查看所有的用户列表(查看用户是否创建成功)
  select * from all_users;

2.授予权限

  --为了能够保证能够登陆,必须赋予如下权限

  --授予smart用户创建session的权限,即登陆权限
  grant create session to smart;

  --授予smart用户使用表空间的权限
  grant unlimited tablespace to smart;

  --授予smart用户创建视图的权限
  grant create any view to smart;

3.登录另一用户,为新建用户smart授予访问指定表的权限

  --oracle对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权.
  --如果tianzhi_smart用户要授权给smart用户查看自己的zh_major_item表的权限;
  sqlplus tianzhi_smart/tianzhi_smart@localhost:1521/orcl

  --授予smart用户查看指定的权限
  grant select on zh_major_item to smart;

4.登录新建用户smart,创建视图

//登录smart用户
sqlplus smart/smart@localhost:1521/orcl

//测试是否可以访问tianzhi_smart用户下的zh_major_item表
select * from tianzhi_smart.zh_major_item;

//创建视图
create or replace force view vw_major_item
AS Select * from tianzhi_smart.zh_major_item
WITH READ ONLY;

//测试视图是否创建成功
//观察是否与 select * from tianzhi_smart.zh_major_item;查询结果相同
select * from vw_major_item;

你可能感兴趣的:(oracle)