oracle创建第三方数据接口表,指定特定用户访问某张表
2015-03-30 17:23
87 查看
/*****创建用户并指定操作哪张表开始******/ --1.创建用户并设置默认表空间 CREATE USER CHENGDWY IDENTIFIED BY CHENGDWY DEFAULT TABLESPACE CFWL QUOTA UNLIMITED ON CFWL; --DROP USER CHENGDWY CASCADE; --删除用户 --2.授予CHENGDWY用户创建session的权限,即登陆权限 GRANT CONNECT TO CHENGDWY; ALTER USER CHENGDWY DEFAULT ROLE NONE; GRANT CREATE SESSION TO CHENGDWY; --3.授予CHENGDWY用户使用表空间的权限 GRANT UNLIMITED TABLESPACE TO CHENGDWY; --4.给用户授权可以查看、插入、更新某张表的数据 GRANT SELECT ON QICHSJ TO CHENGDWY; --授予查看表QICHSJ的权限 GRANT INSERT ON QICHSJ TO CHENGDWY; --授予插入表QICHSJ的权限 GRANT UPDATE ON QICHSJ TO CHENGDWY; --授予修改表QICHSJ的权限 GRANT SELECT ON GUIDHSJ TO CHENGDWY; --授予查看表guidhsj的权限 GRANT INSERT ON GUIDHSJ TO CHENGDWY; --授予插入表guidhsj的权限 GRANT UPDATE ON GUIDHSJ TO CHENGDWY; --授予修改表guidhsj的权限 --5.登录新创建的用户,查看授权是否成功 SELECT * FROM CFWL.QICHSJ Q; --成功 SELECT * FROM QICHSJ Q; --失败,报:表或视图不存在! SELECT * FROM CFWL.GUIDHSJ G; --成功 SELECT * FROM GUIDHSJ G; --失败,报:表或视图不存在! --6.给新创建的用户授权可以创建同义词 GRANT CREATE SYNONYM TO CHENGDWY; --7.使用新创建的用户创建同义词供对方公司访问,解决上面报的错 CREATE SYNONYM TB_QICHSJ FOR CFWL.QICHSJ;--CFWL是创建用户的账号,须根据实际进行修改 CREATE SYNONYM TB_GUIDHSJ FOR CFWL.GUIDHSJ; --SELECT * FROM USER_SYNONYMS; --查看当前用户下的同义词 --8.在此登录新创建的用户查询授权是否成功 SELECT * FROM CFWL.TB_QICHSJ Q; --成功 SELECT * FROM TB_GUIDHSJ G; --成功 --9.限制第三方连接数据库的连接数 SHOW PARAMETER RESOURCE; --查看数据库连接数限制是否打开,此语句需在SQL*Plus下执行 ALTER SYSTEM SET RESOURCE_LIMIT = TRUE; --修改数据库连接数限制为打开状态,此语句选在SQL*Plus下执行 --新建profile, 初始限制为1 ,用于测试。 CREATE PROFILE CHENGDWY_PROFILE LIMIT SESSIONS_PER_USER 1 FAILED_LOGIN_ATTEMPTS UNLIMITED; --将创建的数据库连接数限制赋给用户 ALTER USER CHENGDWY PROFILE CHENGDWY_PROFILE; --将会话数调整到30 ALTER PROFILE CHENGDWY_PROFILE LIMIT SESSIONS_PER_USER 30; --DROP PROFILE CHENGDWY_PROFILE CASCADE; --删除用户连接数据库限制 /*****创建用户并指定操作哪张表结束******/
相关SQL语句
--查看所有用户会话信息 SELECT * FROM V$SESSION; SELECT SID, LOGON_TIME, USERNAME, MACHINE FROM V$SESSION; --查看所有用户连接信息 SELECT S.USERNAME, S.OSUSER, S.PROGRAM, S.MACHINE, S.SID, S.SERIAL#, P.SPID, 'alter system kill session ' || '''' || TRIM(S.SID) || ',' || TRIM(S.SERIAL#) || ''';' FROM V$SESSION S, V$PROCESS P WHERE S.PADDR = P.ADDR AND S.USERNAME IS NOT NULL; --断开已连接的用户 SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME = 'CHENGDWY'; ALTER SYSTEM KILL SESSION '152, 189';
SQL*Plus执行结果:

参考文档:
http://blog.csdn.net/lixi292/article/details/7029915
http://blog.sina.com.cn/s/blog_5695d9a901013ji7.html
http://database.51cto.com/art/201010/231887.htm
http://www.cnblogs.com/liuyou/archive/2011/10/20/2219624.html
相关文章推荐
- oracle 创建一个用户,只能访问指定的对象
- oracle 创建一个用户,只能访问指定的对象
- oracle授权另外一个用户访问自己创建的数据对象
- oracle 创建一个用户,只能访问指定的对象
- oracle授权另外一个用户访问自己创建的数据对象
- oracle授权另外一个用户访问自己创建的数据对象
- oracle授权另外一个用户访问自己创建的数据对象
- oracle 创建一个用户,并且设定只能访问指定的对象
- Linux环境中Oracle数据导入与导出备份创建用户操作
- 数据的备份与导入 oracle 创建用户
- Oracle创建用户、表空间、导入导出数据的命令举例
- Oracle 创建用户及数据表的方法
- oracle创建表空间,创建用户,创建表,插入数据,查询
- oracle 数据库 创建用户 创建空间 导入数据
- Oracle 创建用户及数据表的方法
- Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限集合
- Mysql 创建用户并只访问指定数据库
- Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限
- 4、在Oracle中导出数据、创建用户、授权和导入数据
- Oracle 创建用户及数据表的方法