oracle学习笔记(4)——物理存储结构——重做日志文件

洞悉Oracle数据库的基石:深入剖析其核心物理存储结构 当我们谈论一个Oracle数据库时,我们在谈论什么?是那些存储着海量数据的表,还是高效检索的索引?从逻辑视角看,确实如此。但若深入到数据库的基石,我们会发现,一个稳定、高效、可靠的Oracle数据库实例,实际上是由一系列精密协作的物理文件构成的。这些文件是数据持久化的最终归宿,是数据库恢复能力的根本保障,也是DBA(数据库管理员)必须倾注心力守护的核心。 本文将化身您的指南,带您深入Oracle数据库的“五脏六腑”,全面解析四大核心物理存储结构:数据文件(Data Files)、控制文件(Control 阅读详情

1、  重做日志文件概述:

1)重做日志文件的概念

      重做日志文件,保存了用户对数据库所作的更新操作(DDL、DML),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。查询不会记录到重做日志文件中。

      重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。

      用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一定条件下由DBWR进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由LGWR进程周期性的写入重做日志文件。  

      利用重做日志文件恢复数据库是通过事务的重做(REDO)或回退(UNDO)实现的。

2)重做日志文件的工作过程

      每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程LGWR就会移到下一个日志组,称为日志切换,同时信息会写到控制文件中。为了保证LGWR进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包含若干完全相同的重做日志文件成员(MEMBER),这些成员文件相互镜像。 如下图:



2、  重做日志文件的管理

(1)添加重做日志文件组

          语法:

          ALTERDATABASE ADD LOGFILE……

         示例:

          SQL>ALTERDATABASE ADD LOGFILE GROUP 4

                   ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\

                    REDO04a.LOG',  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\

                    ORCL\REDO04b.LOG') SIZE 4M;

         注意:

         分配给每个重做日志文件的初始空间至少为4 MB。

         如果没有使用GROUP 子句指定组号,则系统会自动产生组号,为当前重做日志文件组的个数加1。

         在Oracle10.2.0之前的版本中,数据库最多允许的重做日志文件组的数量由控制文件中的MAXLOGFILES参数决定。每个重做日志文件组中最多成员文件数量由控制文件中的MAXLOGMEMBERS参数决定。

(2)添加重做日志文件组成员

          语法:

          ALTER DATABASE ADD LOGFILE MEMBER… TO GROUP…

         示例:

         SQL>ALTER DATABASE ADD LOGFILE MEMBER

                   'D:\ORACLE\PRODUCT\10.2.0\ORADATA\

                   ORCL\REDO01C.LOG' TO GROUP 1,

                   'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\

                   REDO04C.LOG' TO GROUP 4;

         注意:

          同一个重做日志文件组中的成员文件存储位置应尽量分散。

          不需要指定文件大小。新成员文件大小由组中已有成员大小决定。

(3)改变重做日志文件组成员名称或位置

          语法:

          ALTER DATABASE RENAME FILE…TO

          注意 :只能更改处于INACTIVE或UNUSED状态的重做日志文件组的成员文件的名称或位置。

          示例:将重做日志文件REDO01C.LOG重命名为REDO01B.LOG,将REDO04C.LOG移到D:\ORACLE\PRODUCT\10.2.0\ORADATA目录下。

          1)检查要修改的成员文件所在的重做日志文件组状态

                SQL>SELECT group#,status FROM v$log;

                 如果要修改的日志文件组不是处于INACTIVE或UNUSED状态,则需要进行手动日志切换。

          2)重命名重做日志文件或将重做日志文件移到新位置

                打开D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL文件夹,将REDO01C.LOG更名为REDO01B.LOG,同时将REDO04C.LOG移到                      D:\ORACLE\PRODUCT\10.2.0\ORADATA文件夹下。

         3)执行ALTERDATABASE RENAME FILE…TO语句

               SQL>ALTER DATABASE RENAME FILE  

                         'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01C.LOG',

                         'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO4C.LOG'TO

                         'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO001B.LOG',

                         'D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO04C.LOG';

(4)删除重做日志文件组成员

          语法:

          ALTER DATABASE DROP LOGFILE MEMBER

         注意:

         只能删除状态为INACTIVE或UNUSED的重做日志文件组中的成员;若要删除状态为CURRENT的重做日志文件组中的成员,则需执行一次手动日志切换。

         如果数据库处于归档模式下,则在删除重做日志文件之前要保证该文件所在的重做日志文件组已归档。

         每个重做日志文件组中至少要有一个可用的成员文件,即VALID状态的成员文件。如果要删除的重做日志文件是所在组中最后一个可用的成员文件,则无法删除。

         如:删除REDO4c.LOG日志文件

         SQL>ALTER DATABASE DROP LOGFILE MEMBER

                   'D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO4c.LOG';

(5)删除重做日志文件组

         语法:

         ALTER DATABASE DROP LOGFILE GROUP

        注意事项:

         无论重做日志文件组中有多少个成员文件,一个数据库至少需要使用两个重做日志文件组。

         如果数据库处于归档模式下,则在删除重做日志文件组之前,必须确定该组已经被归档。

         只能删除处于INACTIVE状态或UNUSED状态的重做日志文件组,若要删除状态为CURRENT的重做日志文件组,则需要执行一次手动日志切换。

         如:删除Group 4文件组

                SQL>ALTER DATABASE DROP LOGFILE GROUP 4;

(6)重做日志文件组切换

          当LGWR进程结束对当前重做日志文件组的使用,开始写入下一个重做日志文件组时,称为发生了一次“日志切换”。

          通常,只有当前的重做日志文件组写满后才发生日志切换,但是可以通过设置参数ARCHIVE_LAG_TARGET控制日志切换的时间间隔,在必要时也可以采用手工强制进行日志切换。

          如果需要将当前处于CURRENT状态的重做日志组立即切换到INACTIVE状态,必须进行手工日志切换。

          当发生日志切换时,系统将为新的重做日志文件产生一个日志序列号,在归档时该日志序列号一同被保存。日志序列号是在线日志文件和归档日志文件的唯一标识。

          手动日志切换的语法 :

          ALTER SYSTEM SWITCH LOGFILE

          查看日至切换状态

          SQL>SELECT * FROM V$LOGFILE;

(7)清除重做日志文件组

          基本概念:

          在数据库运行过程中,联机重做日志文件可能会因为某些原因而损坏,导致数据库最终由于无法将损坏的重做日志文件归档而停止,此时可以在不关闭数据库的情况下,手工清除损坏的重做日志文件内容,避免出现数据库停止运行的情况。

清除重做日志文件就是将重做日志文件中的内容全部清除,相当于删除该重做日志文件,然后再重新建立它。清除重做日志文件组是将该文件组中的所有成员文件全部清空。

         语句:

         ALTERDATABASE CLEAR LOGFILE GROUP …

        在下列两种情况下,清除重做日志文件组的操作将无法进行。

        1)数据库只有两个重做日志文件组;

        2)需要清除的重做日志文件组处于CURRENT状态。

        如果要清空的重做日志文件组尚未归档,则必须使用UNARCHIVED子句,以避免对这个重做日志文件组进行归档。

        SQL>ALTERDATABASE CLEAR UNARCHIVED LOGFILE GROUP 4;

(8)查看重做日志文件信息

          数据字典视图

          V$LOG:包含从控制文件中获取的所有重做日志文件组的基本信息。

          V$LOGFILE:包含重做日志文件组及其成员文件的信息。

          V$LOG_HISTORY:包含关于重做日志文件的历史信息。

          查询重做日志文件组的信息

          SQL>SELECT GROUP#, SEQUENCE#, MEMBERS, STATUS, ARCHIVED FROMV$LOG;

          查询重做日志文件的信息

          SQL>SELECT GROUP#, TYPE, MEMBER FROM V$LOGFILE ORDER BY GROUP#;

 

Android CPU调度优化完整分析 - 小白入门到精通 本文全面解析Android CPU调度优化技术,从硬件架构到内核实现。首先介绍ARM big.LITTLE架构的硬件拓扑和性能层级,包括大核、小核和DynamIQ技术。然后深入讲解CPU性能状态管理(P-states和C-states)和硬件计数器支持。内核层部分详细分析调度器架构,包括调度类层次结构和核心调度实体实现,重点剖析CFS调度器的虚拟运行时间计算、红黑树操作和PELT负载跟踪算法。最后探讨负载均衡触发条件和实现机制。全文循序渐进,为开发者提供完整的Android CPU调度优化知识体系。 阅读详情

相关推荐

智能车视觉算法实战:十字路口与弯道拐点的精准识别

本文深入探讨了智能车视觉导航中十字路口与弯道拐点的精准识别算法。通过实战经验,详细解析了如何利用纵向巡线法生成边界数组,并从中高效提取“上拐点”与“下拐点”的关键特征。文章重点分享了提升算法鲁棒性的核心技巧,包括图像预处理、ROI设置、状态机应用及多特征融合,旨在帮助开发者实现智能车在复杂路况下从“看见”到“看懂”的稳定决策。

weixin_29061465的博客 633

oracle添加删除重做日志成员

1.添加新的重做日志成员的语法: alter database [数据库] add logfile member ['文件名' [reuse][,'文件名'] [reuse]].. to {group 正整数} 2.添加日志成员的实例: SQL> alter database add logfile member   2  '/oradata/law/law/redo01a.log't

龙神add-走向数据架构师的路 1191

旋转矩阵推导

推导前提: 坐标使用右手坐标系,角度逆时针旋转为正。 绕X轴旋转角度为 俯仰角 即Pitch 绕Y轴旋转角度为 偏航角 即Yaw(Head) 绕Z轴旋转角度为 翻滚角 即Roll 一、平面二维坐标点的旋转 如右图所示,根据三角函数关系,可以列出向量OP与OP’的坐标表示形式: x = |OP|•cosα x′ = |OP|•cos(α+β) y = |OP|•sinα y′ = |OP|•sin(α+β) 将P′(x′,y′)表达式展开: x′ =

suixinger_lmh的随笔 1384

Oracle学习(六)之增加日志组成员

1.查询日志状态 select * from v$log;2.查询日志文件存放位置 select * from v$logfile;3.增加日志组成员(状态为INACTIVE的组如下,状态为CURRENT的组需要切换日志组) SQL> alter database add logfile member 2 ‘日志成员1’, 3

lzg1169350237的专栏 1973

V-REP(Cooprliesim EDU)自学笔记 实现UR5机械臂末端按轨迹移动

V-REP(Cooprliesim EDU)自学笔记 实现UR5机械臂末端按轨迹移动

xu_white的博客 7583

冗余位技术在SAR ADC中的动态误差恢复机制解析

本文深入解析了冗余位技术在SAR ADC中的动态误差恢复机制,详细介绍了其基本概念、动态误差产生原因及冗余位的容错空间设计、时序松弛策略和数字校正算法。通过实际电路设计案例和数学建模,展示了冗余位技术如何显著提升ADC的精度和能效比,同时探讨了未来发展方向。

weixin_28335283的博客 975

mysql创建日志文件组_Oracle创建日志文件

Oracle创建日志文件的语法如下: alter database database_name add logfile[group group_number] (file_name[,file_name[,...]]Oracle创建日志文件的语法如下:alter database database_name add logfile[group group_number](file_name[,fi...

weixin_32597695的博客 626

从0入门LocoTrack:6倍加速的SLAM追踪新范式实战指南

传统点追踪方法(如CorrTracker、TAPIR)在处理大规模场景或实时任务时,要么精度不足,要么速度太慢。而LocoTrack通过“局部4D相关性”和“Transformer全局关联”的创新设计,实现了精度与速度的双重突破速度:比现有SOTA方法快6倍,吞吐量高达数万点/秒;精度:在Kinetics、DAVIS等数据集上,定位误差显著低于传统方法;鲁棒性:能应对低纹理、动态场景等复杂环境,这是传统方法的“噩梦场景”。

m0_71589036的博客 95

Oracle重做日志文件的清除

作者:雨竹清风当数据库中只有两个重做日志组或者崩溃的重做日志文件属于当前重做日志文件组。这样的情况是不能通过删除重做日志组或文件再重建的方法进行维护或修复。为此应该使用重做日志文件的清除命令重新初始化重做日志文件。其命令为:alter database clear logfile group 组号;这是在重做日志文件可以归档的情况下使用的。如果重做日志文件不能归档应使用alter database

化天际的相遇---博客 1709

华为OD机考2025B卷 - 报文响应时间(Java & Python& JS & C++ & C )

华为OD机考2025B卷 - 报文响应时间

算法大师! 8083

30天入门 SAP BTP 开发系列之十四: 将 SAP Business Application Studio 里开发好的 Node.js 应用部署到 Cloud Foundry 环境中

本教程详细介绍了如何将SAP Business Application Studio中的Node.js应用部署到Cloud Foundry环境。在完成本地开发和测试后,通过cf login命令连接Cloud Foundry环境,配置manifest.yml文件指定应用参数和路由信息。使用cf push命令完成应用的上传和部署,最终使应用运行在SAP BTP的云端环境中。教程包含从路由创建到部署验证的完整流程,确保开发者能够成功将Node.js应用发布到生产环境。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1080

oracle数据库中clear,ALTER DATABASE CLEAR UNARCHIVED LOGFILE的使用

在进入今天主题之前,先来讨论一个v$log动态性能视图的两个字段:我们需要注意上图中的两个字段:STATUS和ARCHIVED。STATUS有3种状态:CURRENT,ACTIVE和INACTIVE;在发生日志切换的时候,会触发数据库执行一次CHECKPOINT,CHECKPOINT会触发DBWn进程将内存中的脏数据写入到硬盘,一旦写入完成,之前的日志组的STATUS就会变成INACTIVE,表示...

weixin_29439509的博客 1139

cadence17.4和16.6同时安装无法使用的问题

经过对报错的问题分析,发现还是17.4的lic文件和16.6的不一样,16.6的版本总是无法找到自己对应的lic文件。卸载了,重新单独安装16.6,这里就是正确的。包括使用这些工具去修复这些问题,都无法接近。已经放弃了,使用哪个版本就安装 哪个版本。这个也无法解决问题。

D_Katter的博客 2324

简述oracle日志文件的工作方式,oracle学习笔记(4)——物理存储结构——重做日志文件...

1、重做日志文件概述:1)重做日志文件的概念重做日志文件,保存了用户对数据库所作的更新操作(DDL、DML),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。查询不会记录到重做日志文件中。重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一...

weixin_36090805的博客 591

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Oracle数据库存储结构--物理存储结构

参数文件的修改 注意:最好不要直接更改里面的参数,需要更改使用alter system命令或OEM工具。例如,修改动态参数JOB_QUERY_PROCESSES,可以根据修改后立即生效、下一次启动数据库实例时生效,以及当前立即生效且下一次数据库实例启动也生效这3种情况进行SCOPE子句的设置。

2403_83147124的博客 1421

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Oracle数据库存储结构:物理存储结构

Oracle数据库存储结构物理存储结构数据文件(data files)控制文件(control files)在线重做日志(online redo log)逻辑存储结构数据块(data blocks)区(extents)段(segments)表空间(tablespaces) 本文所讨论的内容涉及的数据库版本为 Oracle 19c。 物理存储结构 数据文件(data files) 控制文件(control files) 在线重做日志(online redo log) 逻辑存储结构 数据块(data block

Sebastien23的博客 3054

Oracle-Oracle数据库物理存储结构管理

Oracle数据库物理存储结构管理 紧接着上一篇博客:Oracle-新建Oracle数据库并连接(图文,详细):https://blog.youkuaiyun.com/xu_benjamin/article/details/90209332 进行一些简单的Oracle数据库物理存储结构管理操作 说明:下面的操作由于一些原因,是在sql plus和SQL developer中混合完成的。(有一些是失败的,...

快乐的小小程序猿 4955

oracle物理储存结构包含三种,Oracle的物理存储结构

Oracle数据库的体系结构是从某一角度来分析数据库的组成,工作过程以及数据库如何管理和组织数据的,主要包括物理存储结构,逻辑存储结构,内存结构以及进程结构。Oracle的物理存储结构:Oracle物理存储结构主要包括三种类型的物理文件,分别是数据文件(*.dbf),控制文件(*.ctl)和重做日志文件(*.log)。1. 数据文件数据文件主要是存储数据的文件。例如,数据文存储的表的记录和索引。在...

weixin_27541383的博客 2898

Oracle数据库系统结构一(存储结构)

1.Oracle数据库系统结构概述 Oracle数据库由存放在磁盘上的数据库(DB)和对磁盘上的数据库进行管理的数据库管理系统(DBMS)两部分构成,分别对应着数据库的存储结构和软件结构。Oracle数据库的存储结构(StorageStructure)分为物理存储结构和逻辑存储结构两种,分别描述了在操作系统中和数据库系统内部数据的组织管理方式。其中,物理存储结构表现为操作系统中一系列文件)逻......

CX的博客 3511

Oracle康复计划——Oracle物理存储结构

存储数据库物理结构(数据文件、联机重做日志文件和归档的重做日志文件)位置的信息。理想情况下,成员的位置应位于不同的磁盘上,以便一个磁盘的故障不会导致整个联机重做日志的丢失。例如,当管理员添加、重命名或删除数据文件或联机重做日志文件时,数据库会更新控制文件以反映此更改。一个日志组至少有一个日志文件组成,也可以多个联机重做日志文件组成,即联机重做日志文件的多个副本。在一个数据库中,至少有两个日志组,默认三个日志组,有多个日志组的作用,实现日志切换。有关数据文件、联机重做日志文件和归档的重做日志文件的信息。

weixin_44177066的博客 882

Oracle物理存储结构(一)

Oracle数据库的存储结构分为物理存储结构和逻辑存储结构。 物理存储结构描述了Oracle数据库中数据在操作系统中的组织和管理,它是指存储在磁盘上的物理文件,包括数据文件、控制文件、重做日志文件、初始化参数文件、跟踪文件、归档文件等。 逻辑存储结构描述了Oracle数据库内部数据的组织和管理,它包含表空间、区、和块四种。 物理存储构的组成及其功能: 数据文件(.dbf):用于存储数据库中的...

lxzi0594的博客 4834

存储结构之重做日志文件

重做日志文件,可分在线重做日志文件和归档重做日志文件。它是个数据库的事务日志。目的在于失败时恢复已提交的事务。你在oracle中完成的每个操作几乎都会生成一定的redo信息,并写入在线重做日志文件。   当主机掉电时,你可借助在线重做日志文件,将系统恢复到掉电前的时刻;当磁盘损坏时,你可借助归档重做日志文件恢复到适当的时点;当你误删了某些重要的信息并且提交时,你同样可借助他们去帮你恢复到误删前的

记录创业路上的一些想法 2255

实验2 Oracle数据库物理存储结构管理

一、实验目的: (1)掌握Oracle数据库数据文件的管理。 (2)掌握Oracle数据库控制文件的管理。 (3)掌握Oracle数据库重做日志文件的管理。 (4)掌握Oracle数据库归档管理。 二、实验环境: Oracle 11g 三、实验内容: 向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。 ...

abc1498880402的博客 5871

oracle从入门到精通--物理存储结构

物理存储结构

2302_80755459的博客 1644

【数据库】Oracle重做日志文件

重做日志文件 重做日志文件时为了数据库恢复的物理文件,其中保存了数据库的变更操作信息。 一、概述 重做日志文件(Redo Logfile)又被称为事务日志文件(Transaction Logfile)。 它对ORACLE数据库来说至关重要。ORACLE中每执行一条更新操作时,都会引起数据库的变化,因此都会生成一定数量的重做日志,他们将被记录到重做日志文件中。以便在数据库出现例程失败或介质故障时,可以利用重做日志文件来恢复数据库 重做日志文件是ORACLE三类文件中最为复杂的一类。在ORACLE 10G安装完

此地无银 3459

【Oracle】第13天 物理存储结构、逻辑存储结构、表空间与数据文件、数据字典

Oracle体系结构逻辑存储结构(扩展)数据块数据区段数据段索引段回滚段临时段表空间集中默认创建的表空间SYSTEM表空间SYSAUX表空间UNDO表空间USERS表空间TEMP表空间注意物理存储结构(扩展)主要文件数据文件表空间与数据文件数据字典 逻辑存储结构(扩展) 存储结构 在sql中存储数据的方式成为存储结构 逻辑存储结构是用于描述ORACLE内部组织和管理数据的方式,是从逻辑的角度分析数据库的构成,是指的一种层次结构 主要的层次有: 表空间、段、数据区 和 数据块 数据块 逻辑存储结构中最

csdn_okcheng的博客 1200

图文深入理解Oracle体系结构之物理存储篇

本文将深入介绍Oracle结构体系存储中的物理存储结构。Oracle的物理存储结构由一些实体的物理文件组成,主要有:control file,Data file,online redo log file,pfile/spfile,backup file,archive log file,orapsw file,aler log file等。

qq_45732829的博客 1570
上一篇: oracle日志操作模式(归档模式和非归档模式)
下一篇: oracle学习笔记(5)——物理存储结构——归档重做日志文件
hackerain
博客等级 码龄16年 753粉丝 220原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值