84-Oracle CTL 控制文件管理、重建

oracle_利用ctl文件实现批量导入 利用oracle控制文件实现大批量数据的入库操作,效率比sql脚本文件要高很多。 使用ctl控制文件步骤如下: 1. 制作ctl文件test.ctl load data infile'd:\test.txt'--数据文件,数据源文件 append into tabletable_name --数据文件导入的目标表 Fields terminated by "@_@" --字段分隔符,建议以特殊字符作为字段分隔符 Optionally enclosed b... 阅读详情

ctl 控制文件的重要性如同数据库的“导航”--无图则无法启程(启动)、无法修正路线(结构变更)、更无法从迷途返航(恢复)。因此生产环境必须多路复用(≥3副本)跨磁盘存储,必须通过ALTER DATABASE BACKUP CONTROLFILE或RMAN定期备份。OCM中必有一道题是关于ctl文件的,很多小伙伴是不是怕实例挂这题放弃了。因为控制文件的二进制不可编辑特性(仅Oracle进程可写)不能由外部修改,增加修复难度,不过进一步保障了元数据一致性,控制文件是实例mount、数据加载的起始点。

一、控制文件的技术原理与格式​

​1. 核心作用​
控制文件是Oracle数据库的二进制元数据存储库(通常<100MB),记录数据库物理结构与实时状态。其包含:
  • ​数据库标识​:名称、DBID、创建时间戳
  • ​文件路径​:数据文件、日志文件的位置及状态
  • ​恢复信息​:当前日志序列号、检查点(SCN)、归档日志状态
  • ​配置参数​:MAXLOGFILES、MAXDATAFILES等上限值
  • ​RMAN备份元数据​(如使用RMAN)
​2. 工作原理​
  • ​启动流程​:NOMOUNT→读取参数文件→MOUNT→加载控制文件→OPEN→打开数据文件若控制文件损坏,数据库无法进入MOUNT阶段。
  • ​实时同步​:当数据库结构变更(如增删数据文件)时,后台进程(CKPT、LGWR)每3秒更新控制文件。
​3. 二进制格式特性​
  • ​不可手动编辑​:仅Oracle进程可修改,避免人为错误。
  • ​多路复用(Multiplexing)​​:通过CONTROL_FILES参数配置多个副本(最多8个),存储在不同物理磁盘,确保高可用。Oracle同时写入所有副本,但仅读取第一个文件。

二、演进历程与关键改进​ 

​版本​

​特性演进​

​影响​

​Oracle 8i及之前​

仅支持PFILE(文本参数文件),控制文件副本需手动管理

配置繁琐,易出错

​Oracle 9i​

引入SPFILE(二进制参数文件),支持在线修改参数;

RMAN深度集成控制文件备份

提升动态管理能力

​Oracle 10g​

自动备份控制文件至快速恢复区(FRA);

支持BACKUP CONTROLFILE TO TRACE生成重建脚本

简化灾难恢复流程

​Oracle 12c+​

多租户架构(CDB/PDB)中控制文件记录容器元数据

适应云数据库架构

注​:12c~后控制文件增加CDB层级信息,但核心结构未变

​三、备份与管理策略​

​1. 多路复用配置​
-- 步骤1:关闭数据库
SHUTDOWN IMMEDIATE;
-- 步骤2:复制控制文件到新路径(OS命令)
!cp /opt/oracle/oradata/FREE/control01.ctl /opt/oracle/oradata/control04.ctl
-- 步骤3:修改SPFILE参数
ALTER SYSTEM SET control_files = 
  '/opt/oracle/oradata/FREE/control01.ctl', 
  '/opt/oracle/oradata/control04.ctl'
SCOPE=SPFILE;
-- 步骤4:重启数据库
STARTUP;
-- 验证
SELECT name, status FROM v$controlfile;
NAME                                      STATUS
_________________________________________ _________
/opt/oracle/oradata/FREE/control01.ctl
/opt/oracle/oradata/control04.ctl
--即使报错也能重启
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.

Total System Global Area 1607248760 bytes
Fixed Size                  4922232 bytes
Variable Size             855638016 bytes
Database Buffers          469762048 bytes
Redo Buffers              276926464 bytes
ORA-00214: control file '/opt/oracle/oradata/FREE/control01.ctl' version 24149 inconsistent with file
'/opt/oracle/oradata/control04.ctl' version 24108
2. 备份方案​
  • 手动备份为二进制文件​:​
ALTER DATABASE BACKUP CONTROLFILE TO '/opt/oracle/oradata/control_backup.ctl';
  •  生成重建脚本​:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE; 
-- 输出到跟踪文件(位于`diag/rdbms/<DB>/trace/`)
  •  RMAN集成备份​:
RMAN> BACKUP CURRENT CONTROLFILE; 
RMAN> BACKUP AS BACKUPSET CONTROLFILE DATAFILE 1;
 3. 灾难恢复:重建控制文件​
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS
  NOARCHIVELOG
  MAXLOGFILES 16
  MAXLOGMEMBERS 3
  MAXDATAFILES 100
  MAXINSTANCES 1
  LOGFILE
    GROUP 1 '/opt/oracle/oradata/FREE/redo01.log' SIZE 50M,
    GROUP 2 '/opt/oracle/oradata/FREE/redo02.log' SIZE 50M
  DATAFILE
    '/opt/oracle/oradata/FREE/system01.dbf',
    '/opt/oracle/oradata/FREE/sysaux01.dbf'
  CHARACTER SET AL32UTF8;

关键步骤​:提前获取数据文件/日志文件列表: 

SELECT name FROM v$datafile; 
SELECT member FROM v$logfile;
--若文件路径变更,使用RENAME FILE更新

四、使用体验​

  1. ​冗余部署​:至少配置3个控制文件副本,分布于独立磁盘。
  2. ​自动化备份​:
  • 结合RMAN每日备份控制文件。
  • 重要操作(如表空间变更)后立即手动备份。
  1. ​版本兼容性​:重建时需匹配原库的MAX*参数(如MAXDATAFILES),否则需重建控制文件。
  2. ​加密与验证​:RMAN备份使用加密,定期校验备份有效性。
五、多租户架构(CDB/PDB)中的控制文件
​1. 多租户架构对控制文件的改变​
在Oracle 12c 19c 及23ai 版本中,多租户架构引入容器数据库(CDB)​和可插拔数据库(PDB)​的概念。控制文件仍由CDB统一管理,控制文件是CDB级别的共享资源,所有PDB共享同一控制文件。PDB的数据文件信息通过PDB记录段(PDB Record Section)在控制文件中维护。但其记录的信息层级发生显著变化:
  • ​CDB根容器(CDB$ROOT)​​:控制文件记录CDB及所有PDB的数据文件路径、重做日志文件位置,所有PDB的元数据,包括PDB的数据文件路径、日志文件序列号、检查点信息等。
  • ​PDB级别信息​:每个PDB的独立信息(如表空间、数据文件位置)存储在CDB控制文件中,但PDB无独立的控制文件。PDB的打开/关闭状态、恢复信息均由CDB控制文件统一维护。
  • ​多租户特性支持​:控制文件新增记录PDB的唯一标识(GUID)​、PDB与CDB的映射关系,以及PDB的可插拔状态​(如MOUNTED、READ WRITE)。
​2. 控制文件在多租户环境中的工作流程​
  • ​启动CDB​:STARTUP MOUNT阶段加载CDB控制文件 → 读取所有PDB的元数据 → ALTER PLUGGABLE DATABASE ALL OPEN打开所有PDB。
  • ​PDB单独操作​:通过ALTER SESSION SET CONTAINER=PDB_NAME切换容器后,DBA可管理PDB的数据文件,但控制文件的更新仍由CDB后台进程(CKPT)完成。
  • ​PDB插拔与克隆​:PDB的插入(PLUG IN)或克隆操作会更新CDB控制文件,记录新PDB的文件路径和元数据。
CTL文件格式及生成字段 1、CTL文件内容 OPTIONS(BINDSIZE=2097152,READSIZE=2097152,ROWS=50000) LOAD DATA CHARACTERSET ZHS16GBK LENGTH CHARACTER INFILE ‘/logs/data/date/EDW/文件名.f.date/EDW/文件名.f.date/EDW/文件名.f.date.dat’ TRUNCATE INTO TABLE ODS.表名 FIELDS TERMINATED BY X’1b’ TRAILING NULLCO 阅读详情

相关推荐

Oracle 11g控制文件全部丢失从零开始重建控制文件

Oracle 11g控制文件全部丢失从零开始重建控制文件,如果丢失了所有的控制文件并且没有任何的备份,我们可以通过重建控制文件来打开数据库。其中,重建控制文件至少需要以下信息: 1.数据库名 2.字符集 3.数据文件名称 4.初始化参数,包括MAXLOGFILES、MAXLOGMEMBERS、MAXDATAFILES、MAXINSTANCES、MAXLOGHISTORY等; 重建control01.ctl、control02.ctl流程步骤文档已分享在压缩包中,有需要的小伙伴可下载。

Oracle重建控制文件

注:如果在8中出现“ORA-01589:must use RESETLOGS or NORESETLOGS option for database open”控制文件能够从当前的日志文件获取准确的scn和时间点。4、查看trace文件(我的trace文件路径为:/u01/app/oracle/diag/rdbms/test/test/trace)user_dump_dest 文件对应的路径即为trace文件的路径。这可能是因为在集群环境中,其它实例未关闭。查看:实例名_ora数字_.trc的文件。

Ruishine的博客 4420

IntelliJ IDEA 中git使用说明书

IntelliJ IDEA 中git使用说明书

junyang2012的博客 5389

Oracle重修控制文件的方法

执行alter database backup controlfile to trace as '/path/to/controlfile.trc'命令,将创建控制文件的脚本备份到指定的TRC文件中。在RMAN恢复数据库的过程中,如果遇到恢复结束时无法resetlogs打开数据库的情况,或者控制文件丢失且没有最近的备份时,可能需要重建控制文件。在SQL*Plus中,以sysdba身份登录,并执行保存的SQL脚本(@/path/to/recreatctl.sql)。5. 示例脚本内容(简化版)

codedadi的博客 2192

PLC编程标准之争:IEC61131与IEC61499核心区别与选型指南

在工业自动化领域,PLC编程长期依赖IEC61131标准,它定义了梯形图、结构化文本等语言,通过周期扫描机制保证确定性执行。然而,随着工业4.0和分布式控制场景的兴起,IEC61499以事件驱动模型打破传统范式,让功能块能跨设备协同,实现更灵活的柔性产线和模块化系统。理解两者在程序结构、数据交互、部署方式和实时性上的差异,是选型与工程落地的关键。本文从基础概念出发,剖析执行模型与架构演进,结合一线调试经验,帮助工程师在传统PLC与下一代标准之间做出理性决策。

weixin_27014595的博客 269

SystemVue 链路预算、仿真分析步骤

使用SystemVue进行链路预算、频谱分析等,相对ADS更全面。

BeCourageable的博客 3835

Oracle数据库备份与恢复-重建控制文件进行恢复总结

从上面的信息可以看到此时控制文件中的日志信息都是空的,oracle认为resetlogs方式下,当前的日志文件。一个正常运行的数据库,通常控制文件都存在多份镜像,这些镜像的内容是完全相同的,oracle缺省就创建多份控制。控制文件中记录着数据库的数据文件,日志文件,备份数据等信息,更为重要的,控制文件中还记录了数据库的检查点。从上面的记录我们可以看到重建的控文件能够从当前的日志文件获得正确的SCN及时间点等信息.同样地,控制。

oradbm的博客 2284

ThunderScope开源示波器

4CH,1GSa/S 开源示波器。前端很简洁,BUF802+LMH6518,ADC是HMCAD1511,用Xilinx A7 FPGA进行控制,数据通过PCIE总线传输到上位机处理。目前这个项目已经被挂到了Xilinx官网,强。设计日志:https://hackaday.io/project/180090-thunderscope开源地址:https://github.com/EEVengers/ThunderScope。

leida_wt的博客 8191

oracle 重建控制文件

2.在没有备份的情况下,如何创建。1.在有备份的情况下如何恢复。

woshilys的专栏 500

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

孟孟单单的博客 7万+

NXP KW45开发实战:如何在MCUXpresso IDE中正确配置J-Link并解决设备识别问题

本文详细介绍了在MCUXpresso IDE中配置J-Link以支持NXP KW45无线MCU开发的实战指南。从环境准备到J-Link深度配置,再到烧录流程优化和高级调试技巧,帮助开发者高效解决设备识别问题并提升开发效率。特别推荐使用JLinkRemoteServer.exe进行多设备并行调试,并提供了烧录速度优化和低功耗调试的实用技巧。

gray5的博客 864

Oracle sqlldr命令和ctl控制文件

oracle sqldrl命令与以及ctl文件 具体操作如下: 第一步:先编辑好数据控制文件 xx.ctl,如lee.ctl options(skip=1) --跳过第一行(看实际情况) load data CHARACTERSET ZHS16GBK --转码 truncate --将表数据清空插入数据,此外还有insert、replace、append方式 into table lee ...

D2cOneluo的博客 1万+

【科研建模】Pycaret自动机器学习框架使用流程及多分类项目实战案例详解

对pycaret的使用流程进行梳理,并详细介绍了基于多分类预测的案例

lys_828的博客 780

Oracle 控制文件的重建

通过重建控制文件可以快速的进行数据库的恢复   SQL&gt; alter database backup controlfile to '/tmp/control_2018_11_30.bk';   Database altered.     SQL&gt; show parameter control;   NAME      TYPE  VALUE -----------...

小楼一夜听春雨,深巷明朝卖杏花 3043

基于IEEE39节点系统的风力发电机组并网改造与稳定性研究

本文研究了基于IEEE39节点系统的风力发电机组并网改造与稳定性问题。首先将系统工作频率从60Hz转换为50Hz,并对同步发电机、变压器、线路和负荷参数进行相应调整。随后将30、32、34、37号节点的同步发电机替换为不同容量的永磁同步发电机(PMSG)和双馈感应发电机(DFIG),详细建立了两种风电机组的数学模型和控制策略。通过Simulink仿真验证,改造后的系统能够稳定运行并满足并网要求。研究成果为大规模风电并网系统仿真提供了参考,对提高电力系统可再生能源消纳能力具有重要意义。

huanghm88的专栏 110

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Oracle 重建控制文件

一、重建控制文件 --跟踪当前会话 SQL>oradebugsetmypid Statementprocessed. --生成控制文件脚本 SQL>alterdatabasebackupcontrolfiletotrace;Databasealtered. --获取trace文件位置 SQL>oradebugtracefile_name; /u01/a...

leo__1990的博客 1922

深度学习工具包 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")

oracle重建控制文件

oracle重建控制文件 ORACLE的控制文件是数据库的非常重要的文件,它保存着数据库的连接实例(instance)和database的一个桥梁,它定义了当前数据库物理信息的状态。因此控制文件对于一个数据库来说是非常重要的,在某些时候我们需要重新创建控制文件: 1.当控制文件丢失的时候,并且没有最近的文件Copy备份(一般在建库完成后的生成一个创建ControlFile的的脚本)。 2.需要

塔山上的山 4779

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Oracle 的控制文件

数据库的启动和正常运行都离不开控制文件,词文章主要讲解控制文件的添加删除备份还原及其版本不一致时的恢复

Multis 5080

Oralce数据库 手工重新创建控制文件

本文介绍数据库管理员如何进行手工重新创建控制文件,以解决数据库的启动故障。

红孩儿编程大师 788

Oracle重建控制文件技术总结

控制文件(Control File)是 Oracle 数据库中最关键的核心文件之一,

weixin_42329915的博客 534

oracle数据重构,重建Oracle数据库控制文件

声明:本例请不要在生产库上试验,否则,后果自负读了官方文档, 尝试着重建了一下控制文件:SQL> startup nomountORACLE instance started.Total System Global Area 2488635392 bytesFixed Size 2798928 bytesVariable Size 7...

weixin_26803527的博客 515

Oracle 重建控制文件(在丢失控制文件的情况下,如何恢复数据库)

控制文件对于数据库来说是非常重要,在进行数据恢复时通常是必不可少的;丢失控制文件并不是致命的,但是会使恢复变得困难很多。因此,dba除了多路保存控制文件外,还需要备份控制文件。 备份控制文件也有多种办法,例如cp拷贝、rman自动备份等,今天给大家介绍如何获取创建控制文件的脚本,这样数据库一旦出现意外,即使找不到可用的备份控制文件,也能通过重建控制文件来启动数据库。      Oracle提供

雨花石 3638

oracle重建控制文件流程,重建控制文件的一次实施过程

故障现象:先做一个实验:今日查看oracle控制文件移动和修改,发现本机安装oracle数据库启动时只使用了一个控制文件。如下:SQL> select * from V$controlfile;STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS------- -------------------- --- ---------...

weixin_42511557的博客 610

控制文件丢失 ORA-00210 手动重建控制文件

获取数据库名;获取字符集名;获取数据文件名;重建控制文件;执行介质恢复;打开数据库。

Nuzbb的博客 1558

oracle .ctl 是什么文件_Oracle数据库分享

这是万物可述的第14篇原创文章什么是实例?操作系统中一系列的进程以及为这些进程所分配的内存块,Oracle Instance = SGA + Background Process。如图:11G数据库体系结构12C数据库体系结构-简版12C数据库体系结构-形象版12C数据库体系结构-完整版Oracle内存结构是什么?1、含系统全局区(SGA)和程序全局区(PGA),即Oracle Memo...

weixin_39612332的博客 1035
上一篇: 83-Oracle 行迁移和行链接
下一篇: 85-Oracle Enterprise Manager 24ai SYSMAN 口令无效报错-修复
远方1609
博客等级 码龄22年 577粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值