第一步:创建用户(需要使用有dba管理员权限的用户创建一个新的用户,比如system) create user 用户名 identified by 密码 default tablespace 表空间;

第二步:赋连接权限 grant connect to 用户名; grant Resource to 用户名;

权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。

第三步:赋表权限(到表空间所属用户下执行) grant select on owner.表名 to 用户名;

如果有多表,可以用selece转换批量执行语句: select ‘grant select on ‘   owner   ’.’   object_name   ’ to 用户名;’ from dba_objects where owner in (‘owner’) and object_type=’TABLE’;

第四步:创建同义词: create or replace SYNONYM 用户名.表名 FOR owner.表名;

如果有多表,可以用selece转换批量执行语句: SELECT ‘create or replace SYNONYM 用户名.’   object_name   ’ FOR ‘   owner   ’.’   object_name   ’;’ from dba_objects where owner in (‘owner’) and object_type=’TABLE’;

样例如下:

/** 创建用户,system用户下执行**/

create user NewUser_TEST IDENTIFIED BY NewUser_TEST default tablespace SD temporary tablespace TEMP profile DEFAULT;

grant connect to NewUser_TEST; —grant dba to NewUser_TEST; grant resource to NewUser_TEST; – Grant/Revoke system privileges grant alter any procedure to NewUser_TEST; grant create any procedure to NewUser_TEST; grant create database link to NewUser_TEST; grant debug any procedure to NewUser_TEST; grant debug connect session to NewUser_TEST; grant unlimited tablespace to NewUser_TEST; grant Create any synonym to NewUser_TEST; grant create any view to NewUser_TEST;

/** 为用户赋权,老用户下执行 **/ GRANT SELECT ON XXX.TB_PARA_CURRENCY TO NewUser_TEST;

/** 创建同义词,新用户下执行 **/ create or replace synonym 表名 for 老用户.TB_XXX;