背景和目的:
为不影响主库性能,创建一用户和视图只允许在备库访问。涉及视图中表较大,结构设计不合理,性能稍差。
过程:
创建视图、用户、授权、创建同义词、验证
1、produser 用户创建视图
切换到g_tab等用户下
alter session set current_schema = produser;
替换下面view的sql
--create or replace view v_test as select * from produser.g_tab where rownum <10;
--select * from v_test ;
2、sys 用户创建查询权限用户quser
create user quser identified by Zgy10jh_25
default tablespace TS_TET
temporary tablespace temp
quota unlimited on TS_TET;
--授权
grant connect to quser;
alter user quser default role none;
--登录权限
grant create session to quser;
--创建同义词,不加public后面不带用户不能查
create public synonym v_test for produser.v_test;
--授查询权限
grant select on v_test to quser;
3、quser 查询用户访问
--用quser登录后查询时候要在视图前加上 produser ,否则会报视图不存在, 这个视图属于produser,而用户quser不具备创建视图权限
alter session set current_schema = quser;
select name from v_test where rownum<10;