oracle表空间

概念

表空间和数据文件
●表空间是逻辑存储概念,一个表空间是一个或多个数据文件的逻辑集合
●存储对象(表、索引)逻辑的存储在表空间上,而存储对象的数据物理的存放在数据文件上
●数据库至少需要一个叫做system的表空间,也就是系统表空间
●一个表空间至少包括一个数据文件,数据文件是最终的数据存储体,一个数据文件只属于一个表空间

管理表空间
●通常一个数据库由多个表空间构成,每个表空间存储不同特性的数据
●一个正常运行的数据库通常包括下面这些表空间:
-system存放数据字典信息, 是数据库必须的表空间,也是创
建数据库时第一个被创建的表空间
-sysaux存放除了数据字典之外的一些系统管理辅助信息,是
10g新增加的表空间,用于分担系统表空间的负荷存放自动管理的回滚段信息,提供事务的回滚功能-temp   存放用户排序时的临时数据
存放用户表上的索引信息
*除了systemsysaux表空间必须在创建数据库的时候创建外,其他表空间都可以在数据库生成后由DBA创建并进行管理,通常对系统表空间的管理任务较少:

 

●表空间的空间管理是Oracle描述表空间中空间分配状况的方法,从Oracle8i开始,空间管理方法有以下两种:数据字典管理表空间:

      一是以前一直被沿用的空间管理方法,从9i开始逐渐被淘汰

      -使用数据字典表Uet$和Fet$描述和管理表空间中空闲空间和使用空间一当空间被分配或者释放时,相应的数据字典信息被更新本地管理表空间:

      一直接在各个表空间上管理空闲空间和使用空间

      -使用存储在表空间上的Bitmap标示空闲空间和使用空间的信息-Bitmap中的每位描述一个block或者一组block的状态-从9i开始成为默认的表空间属性。

         数据字典和本地管理表空间

      ●字典管理表空间使用数据字典表描述表空间上的空间分布情况●在表空间中的每个段需要使用存储子句设置自己的存储特性:

      ●字典管理表空间的空间管理开销很大,性能很差,所以DMT技术已经被放弃

      CREATE TABL ESPACE datas

      datafle '/u01/oradata/orcldatas01 .dbf

      SIZE 500M EXTENT MANAGEMENT DICTIONARY

      DEFAULT STORAGE (initial 1M NEXT 1M PCTINCREASE 0),

      ●本地管理表空间使用bitmap描述空间分布情况,减少在数据字典中的竞争●不需要为每个段单独设置存储参数,在本地管理表空间上段的区大小遵循表空间的设置

      ●当空间分配或者释放的时候不产生回滚信息,空间管理开销很小,对性能非常有好处,所以现在广泛采用LMT

      CREATE TABL ESPACE datas

      datafile '/u01/oradatmporc/datas01 dbf SIZE 500M

      EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

 

移植一个DMT表空间

      ●随着Oracle版本的不断更新,LMT技术已经逐渐取代了DMT,但是老的系统仍然采用着字典管理方式

      ●表空间的本地管理和字典管理方式不能直接转换

      ●在升级老版本数据库到新版本数据库后,大多数表空间都可以通过创建新的本地管理表空间,并移动存储对象到新表空间的方式把字典管理表空间替换掉,但是系统表空间却无法这样处理

      ●Oralce提供了移植数据字典管理的系统表空问到本地管理的表空间的方法:

      DBMS_ SPACE_ ADMIN.TABLESPACE_ MIGRATE _TO_ LOCAL('SYSTEM');

表空间的状态●正常的表空间运行在Online状态下,Offline状 态的表空间是不可访问的,意味着表空间上所有的数据都不能被访问●表空间在Offline的时候会带来检查点事件
●大多数表空间是可以Ofline的, 但是也有些表空间不能被离线:
一系统表空间
: -存在激活的回滚段的表空间-默认的临时表空间●Offline表空间的语句:
ALTER TABLESPACE users OFFLINE;●Online表空间的语句:
ALTER TABLESPACE users ONLINE;
 
tablespaceonlineread  write
system必须onlimne必须read  write
sysaux可以offline不能read noly
undo不能offline不能read noly

调整表空间

 

 

 

 

 

 

 

 

 

增加文件大小

ALTER TABLESPACE TBS ADD DATAFILE '/oradata/rTBS_TR_IND_002.dbf'  SIZE 32G AUTOEXTEND OFF;   ALTER TABLESPACE TBS ADD DATAFILE 'G:\datafile\TBS_EDS_DAT01.DBF'SIZE 100M   REUSE;ALTER TABLESPACE TBS AUTOEXTEND ON; 

重置数据文件的大小

ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf'
RESIZE 500M;

删除数据文件

ALTER TABLESPACE TEST
DROP DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf'

数据文件自动扩展

 

ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf' AUTOEXTEND ON;
ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf' AUTOEXTEND OFF;ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf' AUTOEXTEND ON netxt 1M maxsize 1T;

 

移动数据文件将表空间离线
SQL> alter tablespace users offline;
在操作系统下将数据文件移到另一位置
SQL> host mv /u01/app/oracle/oradata/ocp/users01.dbf /u02/  
SQL> host ls /u02/
修改控制文件的记录指针 
SQL> alter database rename file   
'/u01/app/oracle/oradata/ocp/users01.dbf' to '/u02/users01.dbf';  
或者
SQL> alter tablespace users rename datafile  
'/u01/app/oracle/oradata/ocp/users01.dbf' to '/u02/users01.dbf';  
注:执行此项时,目标文件(TO后面的那一段)一定要存在。   
5、将表空间在线  
SQL> alter tablespace users online;
对于那些不能offline的表空间,只能关闭数据,在mount状态下修改,修改后再OPEN
表空间脱机
SQL>SELECT TABLESPACE_NAME, CONTENTS, STATUS FROM DBA_TABLESPACES;
SQL> ALTER TABLESPACE TBS_DM_DAT OFFLINE IMMEDIATE;

表空间的ONLINE和OFFLINE状态

1. 只要数据库处于OPEN状态,除了SYSTEM表空间外的其他表空间,都可以将其置为online或offline状态。SYSTEM表空间之所以不能置为offline,是因为其中保存的数据字典需要一直使用。将表空间置为offline,可能的原因包括维护、备份以及恢复等目的。

3. 如果表空间处于offline状态,那么Oracle不会允许任何对该表空间中对象的SQL执行。表空间置为offline时仍处于活动状态的语句在交易级别并不会受影响。Oracle会保存这些尚未完成语句相关的回滚数据到SYSTEM表空间。当表空间置为online时,如果有必要,那么Oracle会应用这些回滚数据。

3. 除了Oracle外,没有任何应用能够读取或编辑offline的表空间。因此,offline的表空间更不能导到其他数据库。

4. Oracle在一些场景下会自动切换表空间状态从online到offline。例如,当数据库写进程DBWn,尝试几次仍不能写入表空间的数据文件中。用户访问offline表空间时会收到一个报错。如果造成这种磁盘IO失败的问题是介质错误,解决这问题之后需要恢复表空间。

5. 将表空间置为offline可能包含如下原因:

(1) 需要禁止访问一部分数据库的场景。

(2) 执行一次offline表空间备份(尽管表空间可以在online和使用情况下备份)。

(3) 当更新或维护应用时,需要让应用和对应的表临时不能访问。

(4) 重命名或重分配表空间中的数据文件。

当表空间置为offline,数据库会将关联的所有数据文件都置为offline状态。但是如下表空间不能置为offline:

> SYSTEM

> UNDO表空间

> 临时表空间

6. 将表空间置为offline之前,若有用户设置该表空间为其默认表空间,需要考虑是否需要改变其默认表空间。之所以这样做,是因为这些用户将不能访问offline表空间中的对象。

7. 使用ALTER TABLESPACE ... OFFLINE语句可以添加如下参数:

NORMAL:如果表空间的任何数据文件没有出现错误,表空间能够正常地置为offline。如果出现写错误,那么表空间中的数据文件不会被置为offline。当明确使用OFFLINE NORMAL,数据库会对所有数据文件进行一次checkpoint检查点事件,NORMAL是默认设置。

TEMPORARY:表空间能够临时置为offline状态,即使一个或多个文件出现错误。当使用OFFLINE TEMPORARY,数据库会将还没有置为offline的数据文件进行置位操作,并执行检查点事件。

如果没有文件是offline,但使用了temporary语句,那么当将表空间置为online时不需要介质恢复。然而,如果表空间的一个或多个文件由于写入错误因此导致offline状态,能够临时将表空间置为offline状态,恢复online之前需要对表空间进行恢复操作。

IMMEDIATE:表空间能够立即设置为offline状态,数据库不会进行任何数据文件的检查点事件。当使用OFFLINE IMMEDIATE,那表空间置为online之前需要对表空间进行介质恢复操作。但是如果数据库处于NOARCHIVELOG模式,表空间就不能立即置为offline状态。

8. 如果必须设置表空间为offline状态,建议首先使用默认的NORMAL语句。他会确保当表空间置为online前不需要执行恢复操作,尽管在不完全恢复之后,使用LATER DATABASE OPEN RESTLOGS语句重置了redo日志sequence。

仅仅当不能使用NORMAL方式将表空间置为offline时,可以使用TEMPORARY。使用TEMPORARY后,在表空间置为online前,仅需要恢复那些出错的offline文件。

如果NORMAL和TEMPORARY都失败时,才可以选择使用IMMEDIATE选项。

9. 如果表空间没有“干净地”置为offline(也就是没有使用NORMAL语句执行的offline操作),那么置为online前需要首先对该表空间执行介质恢复操作。否则数据库会报错,表空间仍处于offline状态。


 

置脱机状态,可以使用下面4个参数来控制脱机方式

NORMAL 该参数表示将表空间以正常方式切换到脱机状态,在进入脱机状态过程中,ORACLE会执行一次检查点, 将SGA区中与该表空间相关的脏缓存块写入数据文件中,然后再关闭表空间的所有数据文件。如果在这过程中没有发生任何错误,则可以使用NORMAL参数,这也是默认的方式。

TEMPORARY 该参数将表空间以临时方式切换到脱机状态。这时ORACLE在执行检查点时并不会检查各个数据文件的状态,即使某些数据文件处于不可用状态,ORACLE也会忽略这些错误。这样将表空间设置为联机状态时,可能需要进行数据恢复。

IMMEDIATE 该参数将表空间以立即方式切换到脱机状态,这时ORACLE不会执行检查点,也不会检查数据文件是否可用。而是直接将属于表空间的数据文件设置为脱机状态。下一次将表空间恢复为联机状态时必须进行数据库恢复。

FOR RECOVER 该参数将表空间以用于恢复方式切换到脱机状态,如果要对表空间进行基于时间的恢复,可以使用这个参数将表空间切换到脱机状态。

如果数据库运行在非归档模式下(NOARCHIVELOG),由于无法保留恢复表空间所需要的重做数据,所以不能将表空间以立即方式切换到脱机状态。如果表空间脱机了,则查询表空间下的表,会报错误:ORA-00376 此时无法读取文件 以及 ORA-01110:数据文件x......

 

注意:脱机(offline)一般用于数据库的联机备份,数据恢复等维护操作。有些表空间不能OFFLINE,如:SYTEM,UNDO等

1. SYTEM 不能offline,也不能read only

2. 当前的UNDO表空空间,不能offline,也不能read only

3. 当前的临时表空间不能offline,也不能read only

4. SYSAUX可以offline 不能read only

SQL> ALTER TABLESPACE SYSTEM OFFLINE;

ALTER TABLESPACE SYSTEM OFFLINE

ORA-01541: system tablespace cannot be brought offline; shut down if necessary

SQL> ALTER TABLESPACE SYSTEM OFFLINE;

ALTER TABLESPACE SYSTEM OFFLINE

ORA-01541: system tablespace cannot be brought offline; shut down if necessary

 

表空间offline,数据文件offline 的区别

在对表空间进行offline时,oracle需要针对这个表空间生成检查点,刷新表空间中数据文件的相关事务,更新数据文件头SCN,数据文件 SCN,文件终止SCN,达到一致状态,当表空间被再次ONLINE时,oracle会捕捉online时刻的SCN,更新上面各个位置的SCN(当然文件结束SCN号会置为无穷大),将数据文件都打开

在对单个数据文件做offline时,是立即offline,此时不会针对数据文件生成检查点,所以数据文件的终止SCN为无穷大,处于不一致状态,数据文件也需要recover,在v$recover_file视图也可以看到这个文件的信息,要想将数据文件online,必须先对文件执行recover操作,所以建议offline数据文件后应该立刻执行recover操作,使他处于一致状态,以免后面出现不必要的麻烦

对于非归档模式下进行数据文件offline操作需要接上drop子句,他不会物理删除文件的,在归档模式下指定drop子句会被Oracle忽略

另外对于offline的数据文件,正常重起是不能对他进行recover的,因为他的状态是offline,数据库启动时是不检查offline文件的 SCN是否一致的,所以启动后你仍然可以在v$recover_file视图中看到他,需要手工对他进行recover才能恢复,如果应用的联机日志已经 switch掉,则要从归档中进行恢复,没有归档的话,文件就只能一直处于recover状态
 

对一个datafile执行offline和offline drop的区别 
1、对一个datafile执行offline或offline drop本质上是一回事,但对一个datafile执行offline只能在归档模式下;而对一个datafile执行offline drop则既可以在归档模式也可以在非归档模式下;
2、对一个datafile无论是执行offline还是offline drop,都是只改写了control文件,不会更新file$和ts$,这就是为什么可以在mount状态下对某个datafile执行offline/offline drop的本质原因;

 

3、只有当对datafile所在的表空间执行offline normal的时候,才会既改写control文件,又更新ts$和seg$,oracle这里会把ts$的online$字段的值由1改为2,但依然不会去更新file$;

 

4、只有当对datafile所在的表空间执行drop操作的时候,oracle才会去更新ts$和file$,oracle这里会把ts$的online$字段的值由1改为3,会把file$的status$字段由2改为1;

注意,无论是file$的file#还是ts$的ts#,它们都是连续的!并且oracle会重用file$的file#,但是不会重用ts$里的ts#,这本质上是因为ts$里会记录tablespace的名字,而file$里并没有记录datafile的名字,所以file$里的记录可以重用而ts$则不能。

 

5、只要你对一个datafile执行了offline或者offline drop操作,则oracle在open的时候就不会去存储上(无论是文件系统、裸设备还是ASM)校验这个文件了,所以即使这个文件已经在存储上被删掉了,此时库依然可以open。

 

6、无论你是在归档模式还是在非归档模式,且无论你对某个datafile是执行了offline还是offline drop操作,只要归档日志还在(对应于归档模式)或者相关的online redo log没有被logfile switch覆盖(对应于非归档模式),则这个datafile始终是可以online的,里面的数据都还在。当然,即使归档日志不在了,online redo log被logfile switch覆盖了,这个datafile也是可以online的,只是里面的数据可能会不一致。

  
  

 

 

查看表空间容量

select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name;

TABLESPACE_NAME            SUM(BYTES)
------------------------------ ----------
SYSAUX                34209792
UNDOTBS1              1638400
USERS                102170624
SYSTEM                7077888
TEST_TABLESPACE           9437184

查看表空间剩余总量

SELECT dbf.tablespace_name,
dbf.totalspace/1024 "总量(G)",
dbf.totalblocks AS 总块数,
dfs.freespace/1024 "剩余总量(G)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 "空闲比例"
FROM (SELECT t.tablespace_name,
SUM(t.bytes) / 1024 / 1024 totalspace,
SUM(t.blocks) totalblocks
FROM dba_data_files t
GROUP BY t.tablespace_name) dbf,
(SELECT tt.tablespace_name,
SUM(tt.bytes) / 1024 / 1024 freespace,
SUM(tt.blocks) freeblocks
FROM dba_free_space tt
GROUP BY tt.tablespace_name) dfs
WHERE TRIM(dbf.tablespace_name) = TRIM(dfs.tablespace_name)
AND dfs.tablespace_name='ISC';

缩表空间语句

select 'alter database datafile ''' || a.file_name || ''' resize ' ||
round(a.filesize - (a.filesize - c.hwmsize - 100) * 0.8) || 'M;',
a.filesize || 'M' as "数据文件的总大小",
c.hwmsize || 'M' as "数据文件的实用大小"
from (select file_id, file_name, round(bytes / 1024 / 1024) as filesize
from dba_data_files
WHERE file_id=6) a, 
(select file_id, round(max(block_id) * 8 / 1024) as HWMsize
from dba_extents
group by file_id) c 
where a.file_id = c.file_id
and a.filesize - c.hwmsize > 100
AND c.file_id='6';

 
--Oracle 表空间使用率
SELECT D.TABLESPACE_NAME,  SPACE || 'M' "SUM_SPACE(M)",  SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)",  ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%'  "USED_RATE(%)",  FREE_SPACE || 'M' "FREE_SPACE(M)"  FROM (  SELECT TABLESPACE_NAME,  ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,  SUM (BLOCKS) BLOCKS  FROM DBA_DATA_FILES  GROUP BY TABLESPACE_NAME) D,  (  SELECT TABLESPACE_NAME,  ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE  FROM DBA_FREE_SPACE  GROUP BY TABLESPACE_NAME) F  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)  
UNION ALL                                                           --如果有临时表空间  
SELECT D.TABLESPACE_NAME,  SPACE || 'M' "SUM_SPACE(M)",  USED_SPACE || 'M' "USED_SPACE(M)",  ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)",  NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)"  FROM (  SELECT TABLESPACE_NAME,  ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE,  SUM (BLOCKS) BLOCKS  FROM DBA_TEMP_FILES  GROUP BY TABLESPACE_NAME) D,  (  SELECT TABLESPACE_NAME,  ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE,  ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE  FROM V$TEMP_SPACE_HEADER  GROUP BY TABLESPACE_NAME) F  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)  
ORDER BY 1;
Oracle查看用户表空间使用情况:select a.file_id "FileNo",a.tablespace_name   
"Tablespace_name",   
a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",   
sum(nvl(b.bytes,0)) "Free",   
sum(nvl(b.bytes,0))/a.bytes*100 "%free"   
from dba_data_files a, dba_free_space b   
where a.file_id = b .file_id(+)   
group by a.tablespace_name ,   
a.file_id,a.bytes order by a.tablespace_name;

 

 

      select segment_ name, blocks, extents, bytes, segment_ type, tablespace_ name fromdba_ segments where segment_ name=' T2 ;

      select blocks, empty_ blocks from dba_ tables where table_ name = , T2' ;

analyze table tablename  compute statlstlcs ;
analyze table tabl ename compute statistics for all indexes;analyze table tablename delete statistics

DBMS_ STATS E E Nstatistics iItT:
GATHER_ INDEX STATSIndex statistics

GATHER_ TABLE_ STATS
Table,  column, and index statistics

exec dbms_ stats. gather_ table_ stats(' SYS' ,' T2' ) ;
GATHER_ SCHEMA_ STATS
Statistics for al1 objects in a schema

GATHER_ DICTIONARY_ STATS
Statistics for al1 dictionary objects

 

 

 

  SELECT NUM ROWS, -表中的记录数BLOCKS,一表中数据所占的数据块数EMPTY_ BLOCKS, --表中的空块数

      AVG_ SPACE,  数据块中平均的使用空间CHAIN CNT,  表中行连接和行迁移的数量AVG_ ROW_ LENJ -- 每条记录的平均长度FROM USER TABLES索引列的统计信息

      包含索引的深度(B-Tree的级别),索引叶级的块数量,集群因子(clustering_ factor), 唯- -值的个数。SELECT BLEVEL, --索引的层数

      LEAF_ BLOCKS, --叶子结点的个数DISTINCT_ KEYS,--唯- - -值的个数

      AVG_ LEAF_ BLOCKS_ PER _KEY,--每个KEY的平均叶块个数AVG_ DATA_ BLOCKS_ PER_ _KEY, --每个KEY的平均数据块个数CLUSTERING_ FACTOR -- 群集因子FROM USER INDEXES列的统计信息

      包含唯一一的值个数,列最大小值,密度(选择率),数据分布(直方图信息),NU11值个数

 

列的统计信息

包含唯一的值个数,列最大小值,密度(选择率),数据分布(直方图信息),NU11值个数ELECT NUM DISTINCT, --唯一值的个数

      LOW_ VALUE, --列上的最小值HIGH_ VALUE, --列上的最大值DENSITY, -- 选择率因子(密度)NUM_ NULLS,一- 空值的个数

      NUM BUCKETS,一直方图的BUCKET个数HISTOGRAM --直方图的类型ROM USER_ TAB_ COLUMNS

 

 

  
  
  
  
  
  
  
  
  
  
  
  
  

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle日志

日志分类 redo log files联机日志或重做日志 archived log files归档日志 1184198alert log files 告警日志 trace files user_ _dump_ _dest 用户信息日志如跟踪会话日志 background dump_ dest进程日志还有其他一-些不常用的日志 v$database的log_mode 数据库归档模式…

MySQL:分库分表知识点盘点

本篇内容包括:数据库瓶颈、分库分表以及分库分表相关问题 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用…

oracle的sga

sga SGA的管理 ■有三种方式: ●8i:SGA的总大小由所有内存组件大小之和决定,不能直接定义SCA大小。对内部组件大小的修改必须在数据库重起 后 才能生为,所以叫做SGA的静态管理。 ●9i&#xff…

MySQL:主从相关知识点盘点

本篇内容包括:MySQL 主从复制简介、主从复制的原理以及主从搭建 一、MySQL 主从复制简介 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用**「主从复制」**。 比如:在复杂的业务系统中&#x…

oracle导出expdp

expdp/impdp 是 oracle 10g 版本后推出的服务器端工具--数据泵,作用是为了将数据库中的逻辑对象,比如表、用户、全库、表空间进 行导入,导出 命令解析 ATTACH ATTACH [[schema_name.]job_name] schema_name 表示用户名,job_name 表示导出的作…

oracle检查点

检 查 点 概述 ■l当修改数据时,需要首先将数据读入内存中(Buffer Cache),修改数据的同时,Oracle会记录重做信息(Redo)用于恢复。因 为有了重做信息的存在,Oracle不需要在提交时…

文献翻译:Java theory and practice: Fixing the Java Memory Model, Part 2

Java theory and practice: Fixing the Java Memory Model, Part 2 译:Java 理论与实践:修复 Java 内存模型,第 2 部分 翻译自:http://www.ibm.com/developerworks/library/j-jtp03304/(原文写于2004年3月&#xff0…

常用系统函数oracle

单行函数日期函数ADD_MONTHS(date, n):用于从一个日期值增加或减少一些月份 MONTHS_BETWEEN(date1, date2):判断两个日期之间相差的月份 LAST_DAY(date): 函数返回包含日期的月份的最后一天 ROUND(date[,fmt]): 将日期d按照fmt指定的格式舍入,fmt为字符串 TRU…

oracle游标

游标(cursor )是一个私有的SQL工作区域,是一个指向上下文区的句柄或指针,位于内存中的 "临时表"。 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某…

系统学习SpringFramework:Spring IOC

本篇内容包括:IOC 和 DI 的概念、Spring 容器,即 BenaFactory 与 AplicationConext 等 IOC 相关内容。 一、IOC 和 DI 的概念 1、IOC IoC(Inversion of control )即“控制反转”,它是一种设计思想而非一个技术实现。…

rowid

ROWID的格式rowidOOOOOOFFFBBBBBBRRR说明数据对象号相对文件号数据块号行号 上述表格是Oracle 9i及以上版本数据库中的rowid格式: 6位对象号3位相对文件号6位数据块号3位行号,是一个18位的64进制值。这个18位的64进制值在数据库内却是以10个bytes合计80个bit的二进制…

系统学习SpringFramework:循环依赖与三级缓存

本篇内容包括:Spring 中的循环依赖问题(包括 Spring 中的循环依赖问题和Spring 中的循环依赖的 5 种场景的介绍)、Spring 三级缓存介绍、4 个 Spring 无法自动解决的循环以来场景以及其对应的手动解决方式。 一、Spring 中的循环依赖问题 1、…

深入理解Java虚拟机:Java类的加载机制

本篇内容包括:Java 类的加载机制(Jvm 结构组成、Java 类的加载)、类的生命周期(加载-验证-准备-解析-初始化-使用-卸载)、类加载器 以及 双亲委派模型。 一、Java 类的加载机制 1、 Jvm 结构组成 Jvm 整体组成可分为…

新版谷歌浏览器开启Flash支持

浏览器地址栏中输入chrome://version查看Chrome浏览器、Flash插件的版本信息。 Chrome 69.0-70.0版本Chrome 71.0-74.0及以后版本谷歌浏览器地址栏中输入【chrome://flags/#enable-ephemeral-flash-permission】,将【Enable Ephemeral Flash Permissions】从【Defau…

深入理解Java虚拟机:Java垃圾回收机制

本篇内容包括:JAVA 垃圾回收机制概述、有哪些内存需要回收、如何回收(标记-清除、标记-整理(标记-清除-压缩)、复制(标记-复制-清除)、分代收集等算法) 以及 何时进行垃圾回收等内容&#xff01…

深入理解Java虚拟机:Java垃圾回收器

本篇内容包括:7 种 Jvm 垃圾回收器的介绍、对比 以及 对应的 Jvm 参数设置,这 7 种包括了:Serial、ParNew 以及 Parallel Scavenge 三种新生代回收器 和 :Serial Old、Parallel Old 以及 CMS 三种老年代回收器,此外还有…

网络协议:什么是网络分层的七四五

本篇内容包括:网络分层七层、五层、四层网络协议概念的介绍,IOS 体系结构的介绍与构成、TCP/IP体系结构的简介及与IOS体系的关系 以及五层体系结构的介绍。 一、七层、五层、四层网络协议概念 1、关于网络协议 网络协议,即是指计算机网络中…

网络协议:一文搞懂Socket套接字

本篇内容包括:Socket 套接字的简介、Socket 套接字的分类、Java 中的 Socket 即 java.net.ServerSocket、java.net.Socket 的使用,以及Java 使用套接字 Scoket 编程的Demo。 一、Socket 简介 TCP(传输控制协议)是一种面向连接的、…

网络协议:透彻解析HTTP协议

本篇内容包括:HTTP 协议定义及其特点概述、关于 URL 定义及分类概述、Request 请求、Response 响应 以及 浏览器访问一个网站的全过程 等内容… 一、HTTP 协议概述 HTTP(HyperText Transfer Protocol) 即 超文本传输协议,它是一种…