一、物理文件的分类
Oracle数据库的物理文件可以分成三类:
·数据文件
·日志文件
·控制文件
二、数据文件
数据文件顾名思义是用来存储数据的。例如:表,索引等等。从数据文件中读取出来的数据会首先存放在内存中的SGA,作为缓冲数据。应用对数据的修改也是先保持在SGA中。由DBWR在某一时刻将其写入到数据文件中。
那么如何查看数据库中的数据文件呢?我们可以使用以下的SQL语句:
SQL>select * from dba_data_files;
SQL>select * from v$datafile;
第一个SQL语句查询到的是文件的静态信息,第二个SQL语句查询到的动态信息,其中特别重要的就是系统的检查号(SCN)。
我们可以通过查询dba_free_space表来了解各个表空间的使用信息,从这个表中我们看到每一个表空间下每一个块的BLOCK_ID,BYTES,BLOCKS值。
SQL>select * from dba_free_space;
我们可以通过给某个表空间添加数据文件来增加其存储空间的大小,例如:
SQL>alter tablespace 'table space name' add datafile 'data file name' size ***m autoextend off;
如果我们觉得数据文件的可用空间已经所剩不多了,那么要重新调整数据文件的大小,这时就可用通过执行以下的SQL语句来完成了:
SQL>alter database dbname datafile 'data file name' resize ***M
但是如果每次都要管理员手动来调整增加表空间的大小是一件很麻烦的事情,所以Oracle为我们提供了一些关键字,通过这些关键字我们可以轻松地让表空间在空间不够时自动扩展表空间。例如:
SQL>alter database dbname datafile 'data file name' autoextended on next 50m maxsize unlimited;
上面的SQL语句使到数据库dbname下面的数据文件'data file name'在空间不够时自动扩展,每次扩展50M。不设上限。
如果我们不加以控制的话,那么表空间有可能无限制地扩展下去,所以我们又可以通过maxsize来限制上限。
SQL>alter database dbname datafile 'data file name' autoextend on next 50m maxsize 400m;
二、重做日志文件
重做日志文件记录了对数据库的所有修改的信息。
每一个Oracle数据库中都有至少两个的重做日志文件组,每个重做日志文件组都包含了一个到多个的重做日志文件-即日志成员。同一个日志文件组中的各个日志成员之间是镜像关系,它们的内容都是一模一样的。
Oracle在写日志的时候是以日志组为单位的,只有写完了同一个日志组中的所有日志成员之后,写日志才会结束。当一个日志文件组中所有的成员同时被写满数据时,系统自动转换到下一个日志文件组,这个转换过程称为日志切换。
当日志切换后,会给前一个日志组编一个号,用于归档日志的编号,这个编号称为日志序列号。此编号由1开始,每切换一次,序列号自动加1,最大值受参数MAXLOGHISTORY限制,该参数的最大值为65534。
当oracle把最后一个日志组写满了以后,自动转向第一个日志组,这时,再向第一个日志组写日志的时候, 如果数据库运行在非归档模式下,这个日志组中的原有日志信息就会被覆盖。
如果我们想查看日志文件的具体信息,可以通过以下的SQL语句来查看:
SQL>select * from v$log
这个动态视图的查询结果中包含了几个比较重要的信息,例如:
·GROUP#:日志文件组号
·SEQUENCE#:日志序列号
·STATUS:该组状态(CURRENT表示当前正在使用的,NACTIVE表示非活动组,ACTIVE表示归档未完成)
·FIRST_CHANGE#:系统改变号SCN(也称为检查点号)
上面我们提到日志文件有两种方式,第一种是非归档日志(NOARCHIVELOG),第二种是归档日志(ARCHIVELOG)。其中非归档日志在切换时,原日志文件的内容会被新的日志内容所覆盖,而对于对档模式日志,Oracle会首先对原日志文件进行归档存储,且在归档未完成之前不允许覆盖原日志。
如果我们想了解自己的数据库到底采用什么类型的日志模式,可以使用以下语句查询
SQL>select log_mode from v$database
上面我们提到一个叫做SCN(系统检查点号)的东西,SCN是系统恢复时一个非常重要的标志,在数据文件,日志文件,控制文件,数据库头都包含了这个标记。SCN由Oracle的后台进程CKPT在DBWR将数据写入磁盘后更新。查询SCN的方式有3种:
SQL>select first_change# from v$log;
SQL>select checkpoint_change# from v$datafile;
SQL>select checkpoint_change# from v$database;
三、控制文件控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件,控制文件的内容包括:
·数据库名及数据库惟一标识
·数据文件及日志文件的标识
·系统恢复的必要信息,即SCN
我们可以在Oracle的init.ora文件中看到这样一个参数:controller_files = ('file1','file2'...'filen'),这说明数据库有多个控制文件,这些控制文件彼此之间都是镜像的关系。只要其中一个文件是完好的数据库就可以启动。
同样的,我们也可以通过如下的SQL语句来查看控制文件的信息:
SQL>select * from v$controller_file
分享到:
相关推荐
多式联运是现代综合物流系统中非常重要的一个部分,它可以结合铁路、公路、水运和航空各自的优势,实现连续和整体的货物运输服务。在多式联运中,货物换装是一个重要的环节,涉及到货物从一种运输模式转移到另一种...
- 输入无效或不完整时的检查(Transshipment.Input.Incomplete 和 Transshipment.Input.Invalid)。 - 中转信息的显示(Transshipment.Show)。 - 确认接收操作(Transshipment.Confirm)的有无。 - 计算相关...
- **输入结束确认** (Transshipment.Input.Done):用户完成输入后,系统会自动生成部分信息,如Transshipment.Calculate所示,并要求用户确认,参照Transshipment.Confirm。 - **数据计算** (Transshipment....
8. 交货与运输要求(Shipment Terms):案例中明确指出,不允许转运(Transshipment)和分批运输(Partial shipment)。 9. 相关机构及标识信息:案例中提供了两个公司的地址、电话、传真号等联系方式,还包含了...
Python是当前人工智能领域广泛使用的编程语言之一。它的简洁语法和丰富的数据科学库使得它成为构建AI项目的首选语言。本书《Practical Python AI Projects: Mathematical Models of Optimization Problems with ...
同时,系统还依赖于其他功能,如查询快递的详细信息(Transshipment.Express 和其子功能),以及验证输入数据的完整性(Transshipment.Check)。 通过这些详细的功能描述,我们可以看到一个高效、用户友好的物流...
Approach Infer a language model for each document. Estimate the probability of generating the query according to each of these models. Rank the documents according to these probabilities. ...
- Transshipment B/L:转运提单,货物从起始港运输到目的港的过程中需在至少一个中途港进行转运。 - Through B/L:联运提单,将两个或多个运输阶段结合在一起的提单。 - Multi-modal (Inter-modal, combined) ...
### 转运条款(TRANSSHIPMENT) - **定义**:确认货物是否可以通过转运到达目的地。 ### 装船、发运和接收监管的地点(LOADINGONBOARD/DISPATCH/TAKINGINCHARGEAT/FORM) - **定义**:货物装载、发运或接收的具体...
每个测试用例套件(如Transshipment.Input、Transshipment.Close等)都对应着特定的功能或流程,如输入验证、操作完成、无操作、删除操作等。 例如,Transshipment.Input.Test套件包含了TUS1,用于测试输入快递单号...
Swift报文是金融领域内用于国际支付和结算的重要工具之一,它通过特定的格式和结构来确保信息的安全性和准确性。本文将详细介绍Swift格式中的MT700报文格式,该格式主要用于跟单信用证的开立。 #### 二、MT700:...
- **转船**(Transshipment): 将货物从一艘船转移到另一艘船的过程。 - **毛重**(Gross Weight): 商品及其包装的总重量。 - **信汇**(Mail Transfer): 通过邮寄方式完成的款项转移。 - **装箱单**(Packing List): ...
信用证中关于运输:“Transshipment permitted, partial shipment allowed, but partial shipment of each item not allowed”的中文意思是:** - **选项分析:** - A. 允许转运、允许分批,但每个品种的货物不得...
- **是否允许部分装运 (Partial Shipments)** 和 **是否允许转运 (Transshipment)**: 这些条件规定了货物运输的具体要求。 - **装货港 (Loading on Board)** 和 **最迟装船日 (Latest Date of shipment)**: 规定了...
在正式分析试题之前,我们需要了解一些基本的商务英语词汇和句型结构,以便更好地理解试题中的语境和要求。以下是一些常见的商务英语术语: - **L/C (Letter of Credit)**:信用证,银行出具的一种付款保证书。 - *...
- PARTIAL SHIPMENT & TRANSSHIPMENT:根据合同规定是否允许分批装运和转运。 - LOADING/DESTINATION:填写装运港、目的港和最迟装运日期。 - PAYMENT METHOD:选择信用证的付款方式,如即期、承兑、议付或延期付款...
13. **43T: Transshipment 允许转运** - 指出是否允许转运,同样标记为“ALLOWED”。 14. **44A: Taking charge 装船港口** - 指明货物起始装运的港口,如“XXXXXX PORT”。 15. **44B: For transportation to ...
13. **43T Transshipment:ALLOWED** - 转运是否允许,此处同样允许。 14. **44ATaking charge:XXXXXX PORT** - 装船港口,具体港口名称。 15. **44B For transportation to:CHINESE PORT** - 目的港,此处为...
- **是否允许转运(Transshipment)**:允许。 - **装运港(Load on Board/Dispatch/Taking in Charge at/from)**:中国任意港口。 - **最迟装运日期(Latest Date of Shipment)**:2020年8月6日。 - **货物描述...