第三方应用的数据库用户如何创建

标签: 应用 数据库 用户 | 发表时间:2012-11-05 11:42 | 作者:
出处:http://www.iteye.com

在日常管理的Oracle数据库中,会有第三方应用需要操作数据库。第三方应用会要求在数据库中创建一个用户,用于读写自己的对象和其他的对象。

关键点是,这是一个来自第三方应用的用户。我们不清楚它会如何操作数据库对象,如何使用数据库资源。


我碰到过这类用户读了超范围的表,将其表创建在users表空间上,其数据库会话数暴涨导致其他应用不再能连接数据库等等。

因此,需要从权限、使用资源、表空间限额等方面上对这类用户予以限制。

整理了一个这类用户的创建流程。如下所示:

 

(miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1716560 )

首先,创建第三方用户的数据表空间和临时表空间。

create tablespace tbs_crm datafile '/testdb/datafile/tbs_crm01.dbf' size 10240M;
create temporary tablespace tbs_crm_temp tempfile '/testdb/tempfile/tbs_crm_temp01.dbf' size 10240M;


其次,创建数据库用户

CREATE USER usr_crm IDENTIFIED BY usr_crm
 DEFAULT TABLESPACE tbs_crm
 TEMPORARY TABLESPACE TBS_crm_TEMP
 PROFILE DEFAULT;
 
再次, 授予connect,resource角色

GRANT "CONNECT","RESOURCE" TO usr_crm;

注意,需要从这个用户上撤销unlimited tablespace 系统权限。如果你是10g以下版本,这个操作可以不必去做。
revoke unlimited tablespace from usr_crm;

 

补充一些权限:

grant CREATE DATABASE LINK  to u8wan;
grant CREATE MATERIALIZED VIEW to     u8wan;
grant CREATE SEQUENCE    to u8wan;
grant CREATE SYNONYM    to u8wan;
grant CREATE VIEW    to u8wan;
grant DEBUG CONNECT SESSION to u8wan;


最后,限定该用户的表空间额度和使用会话数据

alter user usr_crm QUOTA UNLIMITED ON tbs_crm;
使得该用户只能在表空间tbs_crm上创建表和索引等对象。
如果需要新增表空间,如tbs_crm_ind,那么可以继续设置一下。
在user_ts_quotas中可以查到相关信息。


CREATE PROFILE "PROFILE_THIRD" LIMIT SESSIONS_PER_USER 60;
ALTER USER "USR_CRM" PROFILE "PROFILE_THIRD";
使用profile限制该用户的数据库连接数。
需要先创建一个profile,名称为profile_third,继而将用户的profile调整为profile_third。
这样就能实现数据库用户的连接数控制。

再有一些业务用户的表需要读写,可以另外单独授权。


简而言之,在第三方应用的用户管理上,我们需要从表空间限额和系统权限及资源使用上进行限制,保证数据库正常运行。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [应用 数据库 用户] 推荐:

第三方应用的数据库用户如何创建

- - ITeye博客
在日常管理的Oracle数据库中,会有第三方应用需要操作数据库. 第三方应用会要求在数据库中创建一个用户,用于读写自己的对象和其他的对象. 关键点是,这是一个来自第三方应用的用户. 我们不清楚它会如何操作数据库对象,如何使用数据库资源. 我碰到过这类用户读了超范围的表,将其表创建在users表空间上,其数据库会话数暴涨导致其他应用不再能连接数据库等等.

SSDB数据库的大规模应用

- - idea's blog
SSDB是一个 开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 作为Redis的替代方案.. 因为SSDB的最初目的是替代Redis, 所以SSDB会经常和Redis进行比较.

Oracle数据库的权限、用户、角色管理

- - 服务器运维与网站架构|Linux运维|互联网研究
系统权限:系统规定用户使用数据库的权限. 实体权限:某种权限用户对其它用户的表或视图的存取权限. DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构. RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构. CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构.

[转]Oracle 数据库中 SYS 、 SYSTEM 、 DBSNMP 、 SYSMAN 四用户的区别

- - 数据库 - ITeye博客
SYS,默认密码为CHANGE_ON_INSTALL,当创建一个数据库时,SYS用户将被默认创建并授予DBA角色,所有数据库数据字典中的基本表和视图都存储在名为SYS的方案中,这些基本表和视图对于Oracle数据库的操作时非常重要的. 为了维护数据字典的真实性,SYS方案中的表只能由系统来维护,他们不能被任何用户.

PostgreSQL数据库、表空间、角色及用户

- - 数据库 - ITeye博客
转自:http://blog.chinaunix.net/uid-354915-id-3499975.html. 1、通过pgAdmin创建数据库TestDb1:. 打开数据库TestDb1看到建库脚本:. 在目录——PostgreSQL(pg_catalog)——数据表——pg_database中可以查看多了一个数据库TestDb1:.

Memcache缓存与Mongodb数据库的优势和应用

- - C++博客-牵着老婆满街逛
转载自: http://www.jzxue.com/shujuku/shujukuzonghe/201005/19-3807.html. 先说说自己对 Memcache和Mongodb的一些看法,主要是抛砖引玉了,希望看到大家的意见和补充. Memcache的优势我觉得总结下来主要体现在:. 可以由10台拥有4G内存的机器,构成一个40G的内存池,如果觉得还不够大可以增加机器,这样一个大的内存池,完全可以把大部分热点业务数据保存进去,由内存来阻挡大部分对数据库读的请求,对数据库释放可观的压力.

NoSQL数据库的35个应用场景-转载

- - 人月神话的BLOG
中午原文: http://news.cnblogs.com/n/172096/. 英文原文:35+ Use Cases For Choosing Your Next NoSQL Database,编译:Juliashine.   现在我们站在各个用例的角度上来考虑哪种系统适合于这些用例. 源起:受 Lotus Notes 启发.

sqlserver数据库大型应用解决方案总结

- - 博客园_首页
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题. 对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载. 对于系统的稳定性和扩展性造成了极大的问题. 负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器.

应用服务器上在线备份Oracle数据库代码

- - CSDN博客数据库推荐文章
做在线备份时,输出做一个修改,动态把输出内容传到浏览器页面上去. 作者:qm4050 发表于2013-2-28 10:34:34 原文链接. 阅读:75 评论:0 查看评论.

在应用层通过spring解决数据库读写分离

- - CSDN博客推荐文章
如何配置mysql数据库的主从. 单机配置mysql主从: http://my.oschina.net/god/blog/496. 常见的解决数据库读写分离有两种方案. http://neoremind.net/2011/06/spring实现数据库读写分离. 目前的一些解决方案需要在程序中手动指定数据源,比较麻烦,后边我会通过AOP思想来解决这个问题.