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

本文介绍了一种在Oracle数据库中管理第三方应用用户的方法。通过创建专用的表空间、配置权限及资源限制,确保第三方用户安全地操作数据库。文章详细说明了创建用户、分配资源和设置连接数的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在日常管理的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。
这样就能实现数据库用户的连接数控制。

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值