`

oracle 限制特定用户连接

 
阅读更多

orcal 限制特定用户连接数

限制csuser的连接数为1

SQL> create profile limit_csuser limit sessions_per_user 1;

Profile created

SQL> ALTER USER csuser profile limit_csuser;

User altered

SQL> alter system set resource_limit=true;

System altered

SQL>

http://blog.csdn.net/truexf/archive/2006/09/06/1184869.aspx

第十四篇 oracle用户

一、用户的概念

  用户,即user,通俗的讲就是访问oracle数据库的“人”。在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema)、权限、角色、存储设置、空间限额、存取资源限制、数据库审计等。每个用户都有一个口令,使用正确的用户/口令才能登录到数据库进行数据存取。

二、用户默认表空间

  表空间是信息存储的最大逻辑单位、当用户连接到数据库进行资料存储时,若未指出数据的目标存储表空间时,则数据存储在用户的默认表空间中。比如:create table mytable(id varchar2(20),name varchar2(100));这条语句创建了一个表mytable,并将其存储在当前用户的默认表空间中,若要指定表空间,则:create table mytable(id varchar2(20),name varchar2(100)) tablespace tbs1;。用户的默认表空间可以在创建用户时指定,也可以使用aler user命令进行指定,具体语法见后面的介绍。

三、用户临时表空间

  临时表空间主要用于order by语句的排序以及其它一些中间操作。在oracle9i之前,可以指定用户使用不同的临时表空间,从9i开始,临时表空间是通用的,所的用户都使用TEMP作为临时表空间。

四、用户资源文件

  用户资源文件用来对用户的资源存取进行限制,包括:cpu使用时间限制、内存逻辑读个数限制、每个用户同时可以连接的会话数据限制、一个会话的空间和时间限制、一个会话的持续时间限制、每次会话的专用SGA空间限制。

五、用户表空间限额

  表空间存储限制是用户在某一个表空间中可以使用的存储空间总数。在创建或修改用户时,可以由参数quota指出。若用户在向表空间存储数据时,超出了此限额,则会产生错误。错误信息如:'ORA-01536:space quota exceeded for tablespace tablespacename..'。可以通过查询字典dba_ts_quotas查看表空间限额信息。

六、创建用户资源文件

  创建用户资源文件的语法如下:

CREATE PROFILE filename LIMIT

SESSION_PER_USER integer

CPU_PER_SESSION integer

USER_PER_CALL integer

CONNECT_TIME integer

......

基中:

SESSION_PER_USER: 用户可以同时连接的会话数量限额;

CPU_PER_SESSION:用户在一次数据库会期间可占用的CPU时间总量限额,单位为百分之一秒;

USER_PER_CALL:用户一次SQL调用可用的CPU时间总量限额,单位为百分之一秒;

LOGICAL_READS_PER_SESSION:在一次数据库会话期间能够读取的数据库块的个数限额;

LOGICAL_READS_PER_CALL:一次SQL调用可以读取的数据库块数限额;

IDLE_TIME:用户连接到数据库后的可空闲时间限额,单位为分钟,若空闲时间超过此值,则连接被断开;

CONNECT_TIME:一次连接的时间总量限额,单位为分钟,连接时间超过此值时,连接被断开;

PRIVATE_SGA:用户么有的SGA区的大小,单位为数据库块,默认值为UNLIMITED;

COMPOSITE_LIMIT:这是一项由上述限制参数构成的组合资源项。举例来说,假设资源设置如下:

  IDLE_TIME 20

    CONNECT_TIME 120

    CPU_PER_CALL 750

    COMPOSITE_LIMT 800

那么,当会话空间超过20分钟,或者连接时间超过120分钟,又或者执行一个SQL耗费超过7.5秒,再或者这几个资源限制加起来的总数超过800,则系统自动终止会话。

FAILED_LOGIN_ATTEMPTS:用户登录时,允许用户名/密码校验失败致使用登录失败的次数限额,超过该次数,帐户被锁定;

PASSWORD_LIFE_TIME:口令有效时间,单位为天数,超过这一时间,拒绝登录,须重新设置口令,默认值为UNLIMITED;

PASSWORD_REUSE_TIME:一个失效口令经过多少天后才可重新利用,默认为UNLIMITED;

PASSWORD_REUSE_MAX:一个口令可重复使用的次数;

PASSWORD_LOCK_TIME:当登录失败达到FAILED_LOGIN_ATTEMPS时,帐户被锁定,该参数用于设定被锁定的天数;

下面举例如下:

1)创建一个用户资源文件

create profile tax_users limit

session_per_user 3

cpu_per_session UNLIMITED

connect_time 30

logical_reads_per_session DEFAULT

logical_reads_per_call 1000

private_sga 15K

composite_limit 500000

password_life_time 90

2)查询用户资源文件信息

sql>select *from dba_profile where profile = 'tax_users'

3)指定用户资源文件给用户

sql>alter user us1 profile tax_users

七、创建、修改、删除用户

1.创建用户

  创建用户的详细语法请查询oracle的官方参数文档,这里介绍典型的语法。语法如下:

CREATE USER username

IDENTIFIED BY password

DEFAULT TABLESPACE tablespace

TEMPORARY TABLESPACE tablespace

PROFILE profile

QUOTA integer|UNLIMITED ON tablespace

各选项含义如下:

IDENTIFIED BY password:用户口令;

DEFAULT TABLESPACE tablespace:默认表空间;

TEMPORARY TABLESPACE tablespace:临时表空间;

PROFILE profile|DEFAULT:用户资源文件;

QUOTA integer[K|M]|UNLIMITED ON tablespace:用户在表空间上的空间使用限额,可以指定多个表空间的限额。

举例:

CREATE USER us1 IDENTITIED BY abc123

DEFAULT TABLESPACE user01

TEMPORARY TABLESPACE temp

PROFILE DEFAULT

QUOTA 1000M ON user01;

2.修改用户

  修改用户的语法是与创建用户的语法类似的,主要是CREATE USER 变成 ALTER USER,具体请参考oracle文档。

3.删除用户

删除用户,是将用户及用户所创建的schema对象从数据库删除。如下:

SQL>DROP USER us1;

若用户us1含有schema对象,则无上述语句将执行失败,须加入关键字CASCADE才能删除,意思是连并其对象一起删除,如下:

SQL>DROP USER us1 CASCADE;

分享到:
评论

相关推荐

    Oracle经典故障解析 连接数&会话数

    1. 连接数和会话数的概念:在Oracle中,连接数指的是同一时间连接到数据库的用户数量。每次用户通过SQL客户端登录到数据库时,都建立了一个连接。而会话数则是指为这些连接提供的会话的数量,每个连接对应一个或多个...

    Oracle禁用操作系统认证方式登陆及SYS远程登录

    例如,限制特定用户只能从指定IP地址登录,或者禁止某个IP段的所有连接。 **示例代码如下:** 1. **限制单用户从单IP登录**: ```sql CREATE OR REPLACE TRIGGER disable_login AFTER LOGON ON scott.SCHEMA ...

    Oracle11g连接Pl/Sql的客户端

    5. **tnsnames.ora文件**: 这个文件包含了Oracle数据库服务的网络连接描述,用于定义如何连接到特定的Oracle实例。每个条目都包含一个服务名、主机名、端口号和SID(System Identifier)。 6. **SQL*Plus**: ...

    一段无需安装Oracle客户端即可访问Oracle数据库的delphi控件

    标题中的“一段无需安装Oracle客户端即可访问Oracle数据库的Delphi控件”指的是在Delphi编程环境中,使用特定的第三方控件或组件库,可以实现与Oracle数据库的连接和交互,而不需要在用户机器上安装完整的Oracle...

    远程连接ip oracle

    通过上述步骤,我们可以成功地建立一个远程连接至Oracle数据库的环境,并且通过创建用户、授予权限以及初始化参数等方式确保其功能完整性和安全性。对于企业级应用而言,这种能力对于提高工作效率和确保数据安全至关...

    怎样查看oracle当前的连接数

    此命令可以帮助我们了解每个具体用户的连接数量,这对于分析特定用户的活动非常有用。 3. **统计总的活动会话数**: ```sql SELECT COUNT(*) FROM v$session WHERE status = 'ACTIVE'; ``` 这个查询只统计状态...

    odbc驱动包,解决navicate连接oracle数据库

    Oracle ODBC驱动程序是一个特定于Oracle数据库的接口,它允许Navicate通过ODBC数据源来连接并操作Oracle数据库,执行SQL查询、数据导入导出等任务。 描述中提到的“解决navicate连接oracle数据库的问题”,这通常...

    Oracle如何限制固定IP的访问

    在Oracle数据库管理过程中,为了增强安全性,有时我们需要限制特定IP地址对数据库的访问。这种做法不仅可以防止未授权访问,还可以有效减少潜在的安全威胁。本文将详细介绍如何通过修改Oracle的相关配置文件来实现对...

    SSIS连接Oracle参考[借鉴].pdf

    综上所述,连接SQL Server与Oracle涉及到多个方面的问题,包括但不限于服务器之间的位数兼容性、路径配置的正确性、不同环境下的特定挑战等。对于企业级应用而言,建议根据实际情况选择合适的连接方式,并密切关注...

    通过oracle9i获取连接数据库的用户名和密码

    Oracle应用程序通常包含内置的数据库连接账号,用于系统初始化连接,而非最终用户的登录凭证。因此,截获的首要目标是这一内置账户信息。 #### 技术细节 - **关键模块定位**:在Oracle9i环境中,密码加密操作主要...

    无需安装oracle客户端可以直接使用plsql连接oracle数据库

    操作文档则会指导用户如何配置环境变量,连接到远程Oracle数据库,以及如何解决可能遇到的问题。 标签中的“sqlplus”是Oracle提供的一款命令行工具,用于执行SQL查询和PL/SQL块。虽然PL/SQL Developer提供了图形化...

    oracle-用户与权限的管理

    对象权限则限制用户对特定数据库对象(如表、视图)的访问。比如,只读权限允许用户查询表中的数据,但不允许修改。 #### 三、角色管理 角色是一组相关权限的集合,可以简化权限管理。通过将权限分配给角色,再将...

    Oracle创建表空间、临时表、用户及用户授权

    在Oracle数据库管理中,表空间(Tablespaces)、临时表(Temporary Tables)、用户(Users)以及用户授权(User Authorization)是数据库管理员(DBA)进行数据库架构设计和安全管理的基础操作。以下将详细介绍这些...

    Oracle10g用户和权限管理ppt

    Oracle10g中的用户和权限管理是数据库管理的重要组成部分,它确保了数据的安全性和访问控制。在这个Oracle10g的内部培训课程中,主要涵盖了以下几个关键知识点: 1. **创建和管理数据库用户账户**:每个用户账户都...

    用智能优化限制提高Oracle数据库性能

    例如,在SQL语句中添加`/*+ ordered use_nl(bonus) parallel(e,4) */`这样的Hint,可以明确指定使用嵌套循环连接(Nested Loop Join)的方式,并行执行特定的子查询,从而在某些场景下进一步提升查询效率。...

    JDBC连接Oracle数据库代码经验

    当需要一个数据库连接时,`getConnection`会尝试从对应的连接池中获取一个空闲连接,如果连接池中没有空闲连接且总数未达到最大限制,就会创建新的连接。而`releaseConnection`方法则将不再使用的连接归还给连接池,...

    oracle创建huike用户与表空间并授权

    为了限制用户在特定表空间上使用的空间,可以设置表空间配额: ``` ALTER USER huike QUOTA 500M ON huike_data; ``` 这将限制“huike”在“huike_data”表空间上的空间使用不超过500MB。 5. **提交更改**: ...

    QT 5.11自编译连接Oracle 11g2 11.2数据库DLL,亲测可用

    首先,Oracle数据库的连接通常需要特定的驱动程序,QT框架中并未内置对Oracle的支持。因此,我们需要自行编译Oracle的驱动DLL(动态链接库)和LIB(静态链接库)。在提供的压缩包文件`sqldrivers.rar`中,我们看到了...

    arcsde10.0和10.1 连接oracle11g的参数。亲测通过

    4. **配置ArcSDE连接字符串**:ArcSDE通过特定格式的连接字符串来指定数据库连接信息。例如,示例中提供的连接字符串为: ``` sde:oracle11g:WIN7-20140325RB ``` 这里的`WIN7-20140325RB`应该是`tnsnames.ora`...

    Oracle默认密码及修改密码.docx

    Oracle提供了一些预定义的系统用户,每个用户都有特定的权限和用途。在初装Oracle数据库时,这些默认密码通常用于初始设置和管理。 首先,让我们看看Oracle的一些默认密码: 1. **sys** 用户:默认密码是 `change_...

Global site tag (gtag.js) - Google Analytics