在日常管理的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。
这样就能实现数据库用户的连接数控制。
再有一些业务用户的表需要读写,可以另外单独授权。
简而言之,在第三方应用的用户管理上,我们需要从表空间限额和系统权限及资源使用上进行限制,保证数据库正常运行。
分享到:
相关推荐
标题中的“第三方数据库操作工具”指的是那些非原生、由其他公司或个人开发的软件,它们允许用户连接并管理各种类型的数据库系统。这类工具通常提供图形用户界面(GUI),简化了数据库的日常管理和维护任务,使得...
"第三方自动备份数据库软件"就是为了满足这一需求而出现的解决方案。这类软件能够为SQL Server、Oracle、MySQL等常见数据库提供自动化备份服务,从而减轻管理员的工作负担并降低人为错误的风险。 首先,对于SQL ...
而"SQL_user"可能是一个数据库用户手册、脚本集合或者是一个示例数据库,它可以帮助我们理解如何与这些第三方数据库进行交互。 在学习和使用SQL与第三方数据库时,你需要掌握以下关键知识点: 1. SQL基础:了解...
OAuth2的工作流程通常包括四个角色:资源所有者(用户)、客户端(第三方应用)、授权服务器(QQ或微信平台)和资源服务器(存储用户数据的服务器)。 Spring Security是一个强大的安全框架,主要用于Java应用的...
1. **用户授权**:当用户在应用中选择第三方登录时,应用会引导用户跳转到第三方平台的登录页面。用户在该平台上输入凭证并授权应用访问其部分个人信息。 2. **获取授权码**:用户授权后,第三方平台会返回一个授权...
数据库脚本和三方jar,第三方数据库,Java源码.zip这个压缩包文件包含了多个关键的IT技术元素,让我们逐一深入探讨。 首先,我们关注的是“数据库脚本”。在软件开发中,数据库脚本通常指的是用于创建、修改或操作...
总的来说,“第三方数据库”和“数据库2000”展示了数据库系统的多样性和历史演进,而JDBC驱动则强调了跨平台的数据库连接能力,这些都是IT专业人员在开发和维护数据库应用时需要掌握的关键知识点。
6. **存储用户信息**:将第三方平台返回的用户信息与本地数据库进行比对或创建新用户。如果用户已存在,更新相关信息;如果不存在,创建新用户并关联第三方账户。 7. **维护安全**:在整个过程中,确保敏感信息如...
为了更高效地管理和操作Oracle数据库,开发人员和DBA通常会借助于第三方软件工具,其中PL/SQL Developer(通常简称为PLSQL)是一款非常实用的工具。 PL/SQL是Oracle数据库的编程语言,它结合了SQL的查询功能和过程...
第三方数据库可能提供了更高级的功能,如分布式事务处理、高可用性和可扩展性,以支持大规模的在线交易和用户访问。 `Alipay`标签的反复出现表明该项目与支付宝集成密切相关。支付宝作为中国最流行的支付平台之一,...
第三方IP地址数据库的应用场景广泛,包括但不限于: - **网站访问统计**:通过对访客IP地址的分析,可以获取访问者的地理位置信息,进而进行地域分布统计。 - **网络安全防护**:通过监控异常IP地址活动,识别潜在的...
最后是"窗体类",窗体是VB应用程序的基础,第三方窗体控件可能会提供窗口管理、透明度调整、自定义标题栏等功能。例如,有的窗体控件支持MDI(多文档接口),使得在一个父窗口下可以同时打开多个子窗口进行操作;...
在C++中,你可以使用标准模板库(STL)或者第三方库如SQLite、ODBC(Open Database Connectivity)来实现数据库操作。 “mfc”是Microsoft Foundation Classes的缩写,这是一个由Microsoft提供的C++类库,用于构建...
2. 应用引导用户跳转到第三方登录页面,用户授权应用访问其在第三方平台的信息。 3. 用户授权后,第三方平台会重定向回你的应用,并附带一个授权码或访问令牌。 4. 应用接收到授权码后,向第三方平台发送请求,换取...
1. 数据库连接:用户可以通过直观的界面创建、管理和维护数据库连接。只需输入服务器地址、端口号、用户名和密码,就能轻松连接到各种数据库。对于不同类型的数据库,Navicat提供了相应的连接参数配置,确保了连接的...
根据提供的文件信息,我们可以推断出这是一本关于高级应用数据库系统的国际会议论文集,名为《Database Systems for Advanced Applications》(面向高级应用的数据库系统)。该会议为第20届国际会议(DASFAA 2015),...
这里提到的“dbeaver”是一个具体的第三方数据库管理工具,它被广泛应用于各种数据库系统的操作。DBeaver是一款开源、免费且多平台的通用SQL编辑器和数据库管理工具。以下是对DBeaver及其相关知识点的详细解释: 1....
在软件开发中,第三方插件通常是由非原始开发者创建的、用于增强或补充原有软件功能的组件。在ThinkPHP框架中,这些插件可以是用于权限管理、表单验证、日志记录、数据统计等各种用途的代码库。 "thinkphp-bjyadmin...
在第三方物流企业的具体应用中,数据挖掘可以通过以下几个方面实现: 首先,数据挖掘技术可以用于优化供应链管理。通过分析历史订单数据、库存状态、运输路径和客户偏好等信息,企业能够预测未来的需求趋势,合理...