sqlcreate user app_zijin_reader
identified by 123456 --初始口令
default tablespace ZIJIN; --初始口令过期,会提示用户重置口令
sql--赋予app_zijin_reader连接等常规权限
grant connect to app_zijin_reader;
grant create view to app_zijin_reader;
grant create session to app_zijin_reader;
grant create synonym to app_zijin_reader;
sql-- 获取原账号app_zijin用户的所有查询表权限
select 'grant select on '||owner||'.'||object_name||' to app_zijin_reader;'
from dba_objects
where owner in ('APP_ZIJIN')
and object_type='TABLE';
js
$ sqlplus / as sysdba > ./app_zijin_reader.sql <<sqleof
select 'grant select on '||owner||'.'||object_name||' to app_zijin_reader;' from dba_objects where owner in ('APP_ZIJIN') and object_type='TABLE';
sqleof
grant select on app_zijin.ENTRY_CERT to app_zijin_reader;
grant select on app_zijin.SUB_MESSAGE_INFO to app_zijin_reader;
grant select on app_zijin.ENTRY_CERT_RELATION to app_zijin_reader;
grant select on app_zijin.ENTRY_CERT_RELATION to app_zijin_reader;
grant select on app_zijin.ENTRY_DECL_TAX to app_zijin_reader;
grant select on app_zijin.ENTRY_DOCU to app_zijin_reader;
grant select on app_zijin.ENTRY_FEES to app_zijin_reader;
grant select on app_zijin.ENTRY_GOODS_TAX to app_zijin_reader;
grant select on app_zijin.ENTRY_HEAD to app_zijin_reader;
grant select on app_zijin.ENTRY_LIST to app_zijin_reader;
grant select on app_zijin.ENTRY_WORKFLOW to app_zijin_reader;
grant select on app_zijin.IQ_APPEND to app_zijin_reader;
grant select on app_zijin.IQ_CERT to app_zijin_reader;
grant select on app_zijin.SUB_SWAP to app_zijin_reader;
grant select on app_zijin.VIN_LIST to app_zijin_reader;
js$ sqlplus / as sysdba > ./app_zijin_reader_synonym.sql <<sqleof
select 'create or replace SYNONYM app_zijin_reader.'||object_name||' for ' ||owner||'.'||object_name||';' from dba_objects where owner in ('APP_ZIJIN') and object_type='TABLE';
sqleof
js在只读账号app_zijin_reader端执行:添加显示各个表信息;在SYSNONYM目录下,tables目录下无显示
create or replace SYNONYM app_zijin_reader.VIN_LIST for app_zijin.VIN_LIST;
create or replace SYNONYM app_zijin_reader.SUB_SWAP for app_zijin.SUB_SWAP;
create or replace SYNONYM app_zijin_reader.SUB_MESSAGE_INFO for app_zijin.SUB_MESSAGE_INFO;
create or replace SYNONYM app_zijin_reader.IQ_CERT for app_zijin.IQ_CERT;
create or replace SYNONYM app_zijin_reader.IQ_APPEND for app_zijin.IQ_APPEND;
create or replace SYNONYM app_zijin_reader.ENTRY_WORKFLOW for app_zijin.ENTRY_WORKFLOW;
create or replace SYNONYM app_zijin_reader.ENTRY_LIST for app_zijin.ENTRY_LIST;
create or replace SYNONYM app_zijin_reader.ENTRY_HEAD for app_zijin.ENTRY_HEAD;
create or replace SYNONYM app_zijin_reader.ENTRY_GOODS_TAX for app_zijin.ENTRY_GOODS_TAX;
create or replace SYNONYM app_zijin_reader.ENTRY_FEES for app_zijin.ENTRY_FEES;
create or replace SYNONYM app_zijin_reader.ENTRY_DOCU for app_zijin.ENTRY_DOCU;
create or replace SYNONYM app_zijin_reader.ENTRY_DECL_TAX for app_zijin.ENTRY_DECL_TAX;
create or replace SYNONYM app_zijin_reader.ENTRY_CONTAINER for app_zijin.ENTRY_CONTAINER;
create or replace SYNONYM app_zijin_reader.ENTRY_CERT_RELATION for app_zijin.ENTRY_CERT_RELATION;
create or replace SYNONYM app_zijin_reader.ENTRY_CERT for app_zijin.ENTRY_CERT;
新账号可以查询原账号的所有表结构,但是无法执行 增删改相关操作
新账号进行删除操作时,会提示报错,无权删除
js附录:Oracle查询账号及权限详细语句
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;
4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
本文作者:Kevin@灼华
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!