创建用户供备库查询

发布时间 2023-10-27 17:12:11作者: ritchy

背景和目的:
为不影响主库性能,创建一用户和视图只允许在备库访问。涉及视图中表较大,结构设计不合理,性能稍差。

过程:
创建视图、用户、授权、创建同义词、验证
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;