1 数据文件

3.查询数据文件参数

要将数据文件置为脱机状态,可以通过下列语句实现,如将SCOTT对象的数据文件置为脱机状态:

  1. SQL> ALTER DATABASE DATAFILE 'F:\ORACLE\ORADATA\JSSBOOK\SCOTT01.DBF' OFFLINE;  

  2. Database altered.

将数据文件置于联机状态的语句与上类似,只需要将OFFLINE关键字换为ONLINE即可,例如:

  1. SQL> ALTERDATABASEDATAFILE 'F:\ORACLE\ORADATA\JSSBOOK\SCOTT01.DBF' ONLINE;  

  2. Database altered.

查询数据库中数据文件,以及文件的状态可以通过查询DBA_DATA_FILES和V$DATAFILE两个视图实现:

  1. SQL> SELECT NAME,STATUS FROM V$DATAFILE;  

  2. NAME STATUS  

  3. ---------------------------------------- -------

  4. F:\ORACLE\ORADATA\JSSBOOK\SYSTEM01.DBF SYSTEM  

  5. F:\ORACLE\ORADATA\JSSBOOK\UNDOTBS01.DBF ONLINE  

  6. F:\ORACLE\ORADATA\JSSBOOK\SYSAUX01.DBF ONLINE  

  7. F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF ONLINE  

  8. F:\ORACLE\ORADATA\JSSBOOK\SCOTT01.DBF ONLINE


2 重做日志文件

Oracle里联机日志文件(Online redo logfile)是oracle运行的核心,联机日志文件关系到整个oracle数据库的运行,很好的设置联机日志文件,将有助于oracle的健康运行,相反联机日志文件的损坏,oracle也就面临着崩溃的危险.

本文总结一下关于redo logfile的一些内容。

一、redo logfile的简单介绍

它一般由大小相同的一组文件构成。我们可以查看数据库视图v$logfile知道它的个数和存储位置。

 SQL> select * from v$logfile;

查看数据库视图v$log知道它当前的状态。

 SQL> select * from v$log;

一个时间只有一组logfile group是工作状态(current), redo logfile满了后会自动切换到下一个logfile group, 如果数据库是归档方式同时写到归档日志文件。这些文件不能用常规的文本编辑器查看, 它以特定的格式存放, 只有数据库或者专门的软件可以看懂它。

redo logfile的最大数目是在创建数据库时指明的。如果你想知道当前数据库redo logfile的最大数值是多少,重新生成控制文件, 就可以知道。

SQL>alter database backup controlfile to trace;

这条语句会在$ORACLE_BASE/admin/dbname/udump/路径下生成当前时间的一个*.trc文件, 也就是数据库的控制文件, 用文本编辑器, 即可看到数据库创建时用的一些参数, 包括redo logfile的最大数(maxlogfiles)。

二、 redo logfile的大小和位置对数据库性能的影响

如果用ORACLE的安装向导创建的典型数据库, 它的redo logfile大小为500K, 这基本上是不能满足典型的OLTP应用的, 在数据库日志文件(alert_orasid.log)里会记录着频繁的log switch。ORACLE推荐log switch时间最好在15--30分钟之间, 所以redo logfile的大小由数据库DML操作数据的大小决定其最佳大小。

  redo logfile最好有多个存储位置, 多组成员, 使数据库恢复时有更多的选择。

典型的OLTP应用,redo logfile大小可以为16M。当然繁忙的数据库, 例如当今的门户网站, 这个值可以达到100M以上.

如果你发现当前数据库日志文件里log switch的时间偏大或者偏小,不要紧。ORACLE提供了在数据库联机状态来改变redo logfile大小的方法。

三、在联机状态改变redo logfile大小的方法

假如原来有3个小的redo log file, 下面是Linux环境下的一个例子:

第一步: 往数据库添加三个大的redo logfile

SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/HS2008/redo04.log', '/u02/app/oracle/oradata/HS2008/redo04.log') size 100M reuse;

SQL> alter database add logfile group 5 ('/u01/app/oracle/oradata/HS2008/redo05.log', '/u02/app/oracle/oradata/HS2008/redo05.log') size 100M reuse;

SQL> alter database add logfile group 6 ('/u01/app/oracle/oradata/HS2008/redo06.log', '/u02/app/oracle/oradata/HS2008/redo06.log') size 100M reuse;

第二步: 手工地做log switch, 使新建的redo logfile起作用.

SQL> alter system switch logfile;

此操作可以执行一到几次, 使旧的redo logfile成invalid状态.

第三步: 删除原来旧的redo logfile.

SQL> alter database drop logfile group 1;

SQL> alter database drop logfile group 2;

SQL> alter database drop logfile group 3;

到操作系统下删除原日志组1、2、3中的文件

四、跟redo logfile有关的其它数据库参数

1、log_buffer

log_buffer是ORACLE SGA的一部分, 所有DML命令修改的数据块先放在log_buffer里, 如果满了或者到了check_point时候通过lgwr后台进程写到redo logfile里去。它不能设得太大,这样在意外发生时会丢失很多改变过的数据。它最好不要大于512K或者128K*CPU个数。

我们可以用下面的SQL语句检测log_buffer使用情况:

SQL> select rbar.name,rbar.value,re.name,re.value,(rbar.value*100)/re.value||'%' "radio" from v$sysstat rbar,v$sysstat re

where rbar.name='redo buffer allocation retries'

and re.name='redo entries';

这个比率小于1%才好,否则增加log_buffer的大小

2、log_checkpoint_interval

Oracle8.1 版本后log_checkpoint_interval指的是两次checkpoint之间操作系统数据块的个数。

checkpoint时Oracle把内存里修改过的数据块用DBWR写到物理文件,用LGWR写到日志和控制文件。

从性能优化来说 log_checkpoint_interval = redo logfile size bytes / 512 bytes

3、log_checkpoint_timeout

Oracle8.1 版本后log_checkpoint_timeout指的是两次checkpoint之间时间秒数。

Oracle建议不用这个参数来控制,因为事务(transaction)大小不是按时间等量分布的。

log_checkpoint_timeout = 0

log_checkpoint_timeout = 900


3 控制文件

2.查询控制文件参数

通过初始化参数CONTROL_FILES查询:

  1. SQL> SHOW PARAMETER CONTROL_FILES;  

  2. NAMETYPE VALUE  

  3. --------------------- ----------- ------------------------------

  4. control_files string F:\ORACLE\ORADATA\JSSBOOK\CONT  

  5. ROL01.CTL, F:\ORACLE\ORADATA\J  
  6. SSBOOK\CONTROL02.CTL, F:\ORACL  
  7. E\ORADATA\JSSBOOK\CONTROL03.CTL

通过动态性能视图V$CONTROLFILE查询:

  1. SQL> SELECTNAMEFROMV$CONTROLFILE;  

  2. NAME

  3. --------------------------------------------------

  4. F:\ORACLE\ORADATA\JSSBOOK\CONTROL01.CTL  

  5. F:\ORACLE\ORADATA\JSSBOOK\CONTROL02.CTL  

  6. F:\ORACLE\ORADATA\JSSBOOK\CONTROL03.CTL

3.控制文件备份

1、将控制文件备份为二进制文件

SQL>alter database backup controlfile to 'i:\oracle\backup\control.bkp';

2、将控制文件备份为文本文件(备份到oracle\base\admin\sid\udump目录下的跟踪文件中,将在跟踪文件中生成一个SQL脚本)

SQL>alter database backup controlfile to trace;

3、通过spfile生成pfile文件备份控制文件

SQL>create pfile='/pfile_backup.ora' from spfile='/home/oracle/product/10.2.0/db_1/dbs/spfileSID.ora';

4.恢复控制文件

1.关闭数据库实例;

2.在操作系统中用好的控制文件通过复制覆盖坏掉的控制文件‘

3.重启数据库。

5.重建控制文件(控制文件都损坏)

1、关闭数据库

SQL>shutdown immediate;

2、删除所有控制文件,模拟控制文件的丢失

3、启动数据库,出现错误,并不能启动到mount下

SQL>startup
ORA-00205: error in identifying controlfile, check alert log for more info
查看报警日志文件,有如下信息
SQL>alter database mount
Mon May 26 11:53:15 2003
ORA-00202: controlfile: 'D:Oracleoradatachencontrol01.ctl'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件。

4、关闭数据库
SQL>shutdown immediate;

5、在internal或sys下运行如下创建控制文件的脚本,注意完整列出联机日志或数据文件的路径,或修改由alter database backup control file to trace备份控制文件时产生的脚本,去掉多余的注释

SQL>STARTUP NOMOUNT
SQL>CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:ORACLEORADATATESTREDO01.LOG' SIZE 1M,
GROUP 2 'D:ORACLEORADATATESTREDO02.LOG' SIZE 1M,
GROUP 3 'D:ORACLEORADATATESTREDO03.LOG' SIZE 1M
DATAFILE
'D:ORACLEORADATATESTSYSTEM01.DBF',
'D:ORACLEORADATATESTRBS01.DBF',
'D:ORACLEORADATATESTUSERS01.DBF',
'D:ORACLEORADATATESTTEMP01.DBF',
'D:ORACLEORADATATESTTOOLS01.DBF',
'D:ORACLEORADATATESTINDX01.DBF'
CHARACTER SET ZHS16GBK;

SQL>RECOVER DATABASE

SQL>ALTER DATABASE OPEN;
6、如果没有错误,数据库将启动到open状态下。

说明:

1、重建控制文件用于恢复全部控制文件的损坏,需要注意其书写的正确性,保证包含了所有的数据文件与联机日志

2、经常有这样一种情况,因为一个磁盘损坏,我们不能再恢复(restore)数据文件到这个磁盘,因此在store到另外一个盘的时候,新创建控制我们就必须重文件,用于识别这个新的数据文件,这里也可以用这种方法用于恢复。


4 归档的日志文件

1,改变日志操作模式:

检查当前日志操作模式:

SELECT log_mode from v$database;

关闭数据库,然后装载数据库:

SHUTDOWN IMMEDIATE

STARTUP MOUNT

改变日志操作模式,然后打开数据库:

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

2、显示归档日志信息
SELECT name,log_mode FROM v$database;

显示归档日志信息.

Select name, sequence#, first_change# FROM v$archived_log;
显示日志历史信息
SELECT * FROM v$loghist;
显示归档进程信息.
SELECT * FROM v$archive_processes;
1,切换日志文件:
1.1,切换前:
SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 215 52428800 1 CURRENT
2 213 52428800 1 INACTIVE
3 214 52428800 1 INACTIVE

1.2 切换日志文件
SQL> alter system switch logfile;

1.3 切换后:
SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 215 52428800 1 ACTIVE
2 216 52428800 1 CURRENT
3 214 52428800 1 INACTIVE

2,强制checkpoint:
SQL> alter system checkpoint;

3,切换到归档/非归档模式
SQL> startup mount
SQL> alter database archivelog/noarchivelog
SQL> alter database open;

4,显示当前归档日志组和成员:
SQL> select GROUP#,member from v$logfile;

5,添加redo log组:
5.1 SQL> alter database add logfile group 4 ('/oracle/oradata/orcl/redo04.log') size 4m;
5.2 检查新加入的log状态
SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 215 52428800 1 INACTIVE
2 216 52428800 1 CURRENT
3 214 52428800 1 INACTIVE
4  0   4194304  1 UNUSED
(虽然这里是UNUSED的状态,但是通过切换日志文件或者数据库自动切换,该文件会被改为active状态)

6,添加新的文件到group 1
SQL> alter database add logfile member '/oracle/oradata/orcl/redo05.log' to group 1;
SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 219 52428800 2 CURRENT
2 216 52428800 1 ACTIVE
3 218 52428800 1 ACTIVE
4 217 4194304 1 ACTIVE
( 这里的group组中的member就变为2;)
SQL> select member from v$logfile where group#=1;

MEMBER
-----------------------------------------------------------------------------
/oracle/oradata/orcl/redo01.log
/oracle/oradata/orcl/redo05.log

7,给数据库日志文件改名
SQL> alter database rename file '/oracle/oradata/orcl/redo05.log'

to '/oracle/oradata/orcl/redo06.log';

这里如果数据库是当前被使用的,无法改名;如果redo06.log文件不存在,数据库无法获得其信息,无法改名,数据库文件如果已经存在在数据库中,无法改名(可以先创建号固定大小的数据库文件改名)

8, 删除新增的group 4
SQL> alter database drop logfile group 4;

9,删除新增的group 1的logfile;
SQL> alter database drop logfile member '/oracle/oradata/orcl/redo06.log';

10,清空logfile:
SQL> alter database clear logfile '/oracle/oradata/orcl/redo01.log'

SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 0 52428800 1 UNUSED
2 220 52428800 1 CURRENT
3 218 52428800 1 INACTIVE
#########################################################################################

查询归档日志文件状态:

select group#,status,type,member,IS_RECOVERY_DEST_FILE from v$logfile;

查询归档日志文件所在目录和文件名
select group#,status,type,member,IS_RECOVERY_DEST_FILE from v$logfile;

如何查看归档日志路径?

SQL> show parameter RECOVERY;
显示归档日志信息.

Col name format a40

Select name, sequence#, first_change# FROM v$archived_log;

Name用于表示归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值.


5 初始参数文件

理解oracle10g的初始化参数文件
当oracle实例启动时,它从一个初始化参数文件中读取初始化参数。这个初始化参数文件可以是一个只读的文本文件,或者是可以读/写的二进制文件。这个二进制文件被称作服务器参数文件(sever parameter file),它总是存储在服务器上。使用服务器参数文件,可以使得管理员用alter system命令对数据库所作的改变保存起来,即使重新启动数据库,改变也不会丢失。因此Oracle建议用户使用服务器参数文件。可以通过编辑过的文本初始化文件,或者使用DBCA来创建服务器参数文件
在你创建服务器参数文件之前,你可以使用文本初始化参数文件启动数据库。在数据库启动时,ORACLE实例首先在默认位置查×××器参数文件,如果没找到,接着找文本初始化参数文件。你也可以使用 STARTUP 命令的相关参数指定一个文本文件来启动数据库,此时服务器参数文件并不起作用。

默认的初始化参数文件名和默认路径
平台
默认名称 默认路径
Windows
init%ORACLE_SID%.ora %ORACLE_HOME%\database

初始化参数文件模板(
unix平台
control_files = (/u0d/lcg03/control.001.dbf,
/u0d/lcg03/control.002.dbf,
/u0d/lcg03/control.003.dbf)
db_name = lcg03
db_domain = us.oracle.com
log_archive_dest_1 =
"LOCATION=/net/fstlcg03/private/yaliu/testlog/log.lcg03.fstlcg03/lcg03/arch"
log_archive_dest_state_1 = enable
db_block_size = 8192
pga_aggregate_target = 2500M
processes = 1000
sessions = 1200
open_cursors = 1024
undo_management = AUTO
shared_servers = 3
remote_listener = tnsfstlcg03
undo_tablespace = smu_nd1
compatible = 10.2.0
sga_target = 1500M
nls_language = AMERICAN
nls_territory = AMERICA
db_recovery_file_dest =
/net/fstlcg03/private/yaliu/testlog/log.lcg03.fstlcg03/lcg03/arch
db_recovery_file_dest_size = 100G

oracle数据库提供了普遍使用的初始化参数模板,你可以通过此模版,或者通过dbca创建你自己的初始化参数文件。你可以根据你的数据库的需要编辑模板参数文件,修改或添加你自己的参数值,对于没有出现在该文件中的参数,oracle使用默认值。
如果你第一次创建oracle数据库,oracle 建议对初始化参数不要改变太多。当你熟悉了数据库和计算机环境后,可以使用alter system命令动态调整很多初始化参数。如果你使用文本初始化参数文件,你所作的改变只会影响当前的实例,重新启动后会恢复为文本初始化参数文件中设置的值。要使改变永久有效,还要手动更新文本初始化参数文件中的相应值。如果你使用服务器参数文件,alter system 命令可以影响当前实例并同时更新服务器初始化文件,使得改变永久有效。
以下介绍一些基本的初始化参数:
确定全局数据库名称
指定快速恢复区(Flash Recovery Area)
指定控制文件
指定数据块大小(Database block sizes)
管理系统全局区
指定最大进程数
指定回滚空间的管理方法
兼容性初始化参数和不能取消的兼容功能
设置许可(License)参数
确定全局数据库名称
全局数据库名称包含用户指定的本地数据库名和数据库所在的网络地址。DB_NAME初始化参数决定了本地名称,DB_DOMAIN指定了网络地址。这两个地址组成了数据库在网络上是唯一名称。
比如,我们要创建一个名为test.us.acme.com的数据库,参数值如下
DB_NAME=test
DB_DOMAIN=us.acme.com
你可以使用
ALTER DATABASE RENAME GLOBAL_NAME 命令重新命名全局数据库名。不过在第一次改变db_name和db_domain之后,你必须重新启动数据库并且重新建立控制文件。
DB_NAME初始化参数
DB_NAME必须为不大于八个字符的文本字符串。在创建数据库的过程中,DB_NAME中存储的数据库值会被记录在数据文件、重做日志文件,和控制文件中。如果再数据库实例启动时,参数文件中的DB_NAME值和控制文件中保存的值不一致会导致数据库启动失败。
DB_DOMAIN初始化参数
DB_DOMAIN是表示数据库所在的网络地址的文本字符窜。通常是拥有数据库的组织的域名。如果你将要建立的数据库是分布式数据库系统的一部分,一定要小心伺候这个参数。
指定快速恢复区
快速恢复区是oracle可以存储和管理数据恢复相关文件的区域,它和数据库区域是不同的,数据库区域是指oracle管理当前数据库文件的目录(包含数据文件,控制文件,在现重做日志)
你可以使用下面的初始化参数指定快速恢复区域
DB_RECOVERY_FILE_DEST :快速恢复区的位置。可以是目录,文件系统,或者自动存储管理硬盘组(ASM)。不能是原始文件系统(raw file system)
在RAC(Real Application Clusters)环境中,这个位置必须在cluster文件系统上,ASM硬盘组,或者通过NFS建立的共享目录上。
DB_RECOVERY_FILE_DEST_SIZE :指定了快速恢复区可以使用的最大字节数,这个参数必须要在DB_RECOVERY_FILE_DEST参数得到应用前指定。
在RAC环境中,这两个参数值必须在所有的实例中设置相同的值。
如果你已经设置了LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DUPLEX_DEST的值的话,上面提到的参数值不会起作用的。你必须禁用LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DUPLEX_DEST后才能设置快速恢复区。作为替代,你可以配置LOG_ARCHIVE_DEST_n 的值。如果你没有为本地设置LOG_ARCHIVE_DEST_n 的值,那么设置快速恢复区将会把LOG_ARCHIVE_DEST_10设置为快速恢复区。
Oracle建议使用快速恢复区,它可以简化恢复操作。

指定控制文件
参数CONTROL_FILES指定一个或多个控制文件,当你创建数据库时,在该参数中指定的控制文件会被创建。
如果没有设置该参数,oracle会帮你创建一个控制文件,或者如果你启用了oracle_managed files,将会创建oracle管理的控制文件。
如果你想让数据库在创建控制文件的时候创建另外的文件作为备份,那么CONTROL_FILES参数中指定的文件列表中不能包含系统中已经存在的文件。如果你想让数据库重新使用已经存在的文件,或者覆盖已有的文件,必须设置重新使用选项(警告,如果你选择重新使用选项,则已存在的文件中的内容会被覆盖)
Oracle强烈建议每个数据库使用至少两个控制文件,存储在不同的物理硬盘上
指定数据库块大小
DB_BLOCK_SIZE 初始化参数指定了标准的数据块大小。这个块大小被用于SYSTEM表空间,并且默认情况下也被用于其它的表空间。Oracle数据库可以支持最多四个额外的非标准块大小
DB_BLOCK_SIZE
标准块大小应该设为最普通的值,在很多情况下,你只需要设置这一个参数。比如4k或8k。如果你没有设置这个参数,默认大小是根据操作系统决定的,通常这就足够了。创建数据库之后这个参数值就不能更改了,除非重新创建数据库。如果数据库块大小不同于操作系统的块大小,请确保数据库块大小是操作系统块大小的倍数。比如,如果操作系统块大小是2k(2048字节),那么以下的参数值是有效的
DB_BLOCK_SIZE=4096
更大的块大小可以提供更有效的I/O操作。因此,在下面条件成立的情况下最好指定大于操作系统块大小的数据库块
1,数据库在大型计算机系统上,拥有超大内存和超快硬盘。比如大型主机拥有巨大的硬件资源,通常设置4k或更大的块。
2,操作系统的块大小太小。比如1k,如果数据库使用这么小的块,数据库会忙于进行大量的I/O操作。
非标准的块大小
创建新的表空间时,可以指定非标准的块大小(不同于system表空间的块大小)。这些块大小可以使用任何2的密次方的值,比如2k,4k,8k,16k,32k等。最小值根据操作系统的限制有所不同,所以以上的值在某些系统中不能使用。
要使用非标准的块,必须在SGA中为不同的非标准块配置缓存,配置方法稍后介绍。
在移动数据库的时候这个非标准块的功能会特别有用。比如,你可以从OLAP环境下转移一个4k块大小的表空间到使用8k作为标准块大小的数据仓库中。

更多参考:http://blog.sina.com.cn/s/blog_6a7217e80100kb3j.html

6 概要文件

Oracle系统为了合理分配和使用系统的资源提出了概要文件的概念。所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件。将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就按照概要文件给他分配资源。

通过数据字典查看缺省资源配置内容:
select * from dba_profiles order by profile;


在有的书中将其翻译为配置文件,其作用包括。

1、管理数据库系统资源。利用Profile来分配资源限额,必须把初始化参数resource_limit设置为true。ALTER SYSTEM SET resource_limit=TRUE SCOPE=BOTH;

2、管理数据库口令及验证方式。默认给用户分配的是DEFAULT概要文件,将该文件赋予了每个创建的用户。但该文件对资源没有任何限制,因此管理员常常需要根据自己数据库系统的环境自行建立概要文件。

PROFILE的管理(资源文件)当需要设置资源限制时,必须设置数据库系统启动参数RESOURCE_LIMIT,此参数默认值为FALSE
可以使用如下命令来启动当前资源限制:
alter system set RESOURCE_LIMIT=true;
当需要以后启动时也启动限制,必须在init<SID>.ora中设置
RESOURCE_LIMIT=true
一、PROFILE的管理内容:(内核资源参数,口令资源参数)
1、CPU的时间
2、I/O的使用
3、IDLE TIME(空闲时间)
4、CONNECT TIME(连接时间)
5、并发会话数量
6、口令机制:

二、DEFAULT PROFILE:
1、所有的用户创建时都会被指定这个PROFILE
2、DEFAULT PROFILE的内容为空,无限制

三、PROFILE的划分:
If a user attempts to perform an operation that exceeds the limit for other session resources,
Oracle aborts the operation, rolls back the current statement, and immediately returns an error.
The user can then commit or roll back the current transaction, and must then end the session.
that exceeds the limit(超过限制) for other session resources(范围之外的其他资源)
被理解为:连接控制资源范围之外的其他资源。
当一个用户试图操作超过限制的资源时,Oracle终止当前操作,取消正在执行的处理,并且返回一个错误,用户可以提交或回滚当前事物,之后必须断开会话。
如果一个用户试图操作一个超出他限制的资源,Oracle将放弃这个操作,取消正在执行的处理,并立即返回一个错误。这个用户然后提交或回滚当前的处理,之后必须终止这个会话。
如果是调用限制时,Oracle终止当前操作,取消正在执行的处理,并且返回一个错误,回滚整个事务。
1、CALL级LIMITE:
对象是:语句: