精华内容
下载资源
问答
  • 重做日志redo log fileLGWR进程从Oracle实例...归档日志archive log当数据库运行在归档模式下时,一个redo log file(group)写满后,由ARCn进程将重做日志的内容备份到归档日志文件下,然后这个redo log file(gro...

    重做日志redo log file是LGWR进程从Oracle实例中的redo log buffer写入的,是循环利用的。就是说一个redo log file(group) 写满后,才写下一个。

    归档日志archive log是当数据库运行在归档模式下时,一个redo log file(group)写满后,由ARCn进程将重做日志的内容备份到归档日志文件下,然后这个redo log file(group)才能被下一次使用。

    不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。

    一般来说,归档日志结合全备份,用于数据库出现问题后的恢复使用。

    重做日志是循环使用的。比如说,有三个重做日志组A、B、C。那么,当A写满后,系统就调用ARCn进程,将A备份为归档日志,同时B已经开始使用了。

    假设你只有两个组A、B,如果某种情况下,A正在备份,未结束,还不能继续使用,而B也写满了,这个时候,数据库就会出现挂起的情况。所以一般情况下,重做日志最好是三个组或者再多一点,而且大小要适当。

    实际上,一个重做日志组满了后,就开始写入归档日志。不是等ABC都写满了,再归档,这样肯定就是出现挂起的情况了,Oracle不是这样的,

    归档日志和重做日志都是物理上的文件,只是存放的目录不同,而且重做日志的文件名不变,而归档日志的文件名是备份时系统生成的。

    重做日志备份为归档日志后,系统就会把重做日志的内容清空,但文件依然存在,准备下一次使用。

    重做日志纪录了你所有做过的dml语句,重做日志循环使用,写满一轮后就要覆盖前面的。如果你是用热备模式,当重做日志写满一个后就将内容写入归档日志,以备将来恢复数据用。

    只有数据库运行在归档模式并且初始化参数ARCHIVE_LOG_START等于TRUE时,ARCn进程才能被启动,进行自动归档。

    如果数据库运行在归档模式但ARCHIVE_LOG_START等于FALSE时,需要DBA手工归档。(这种方式可能会因为归档不及时导致数据库被迫挂起,不实用!)

    重做日志文件也叫联机日志文件,一般数据库有几个日志文件(例如有三个,编号分别为1,2,3)先写1,当1满时再写2,当2满时再写3,当3满时1就归 档出来,产生一个文件写到磁盘上,这个文件就叫归档日志文件.1归档出来后,新的联机日志文件又写到1中,将原来的覆盖,(即联机日志是循环使用的).一 般当产生一个检查点或联机日志写满一定程度时会产生一个归档日志文件.

    展开全文
  • oracle每有一个事务,首先会产生一条日志,这个日志里面包含了能够还原这个事务的最少信息,这些日志会暂存在内存中,再由一个叫LGWR的进程将日志缓冲区的日志写到硬盘上的... 现在来讲重做日志文件归档,就是将一个写

            oracle每有一个事务,首先会产生一条日志,这个日志里面包含了能够还原这个事务的最少信息,这些日志会暂存在内存中,再由一个叫LGWR的进程将日志缓冲区的日志写到硬盘上的日志文件上,这些日志文件一般在50兆左右,一般为3组。等一个日志文件写满了50兆的内容,它会断开,LGWR继续往下一个日志文件中写日志;这3个日志文件轮流写入(覆盖写入)。

            现在来讲重做日志文件归档,就是将一个写满了日志的文件复制一份到一个指定的文件夹中,可以将这些历史日志文件都copy(归档)一份,而不会在轮循中被覆盖,起到保护数据的功能。

    展开全文
  • 1、jar简介Java归档文件格式(JavaArchive, JAR)能够将多个源码、资源等文件打包到一个归档文件中。这样,有如下好处:安全性可以对整个jar包的内容进行签名。减少了下载时间如果applet被打包成一个jar文件,那么所有...

    1、jar简介

    Java归档文件格式(JavaArchive, JAR)能够将多个源码、资源等文件打包到一个归档文件中。这样,有如下好处:

    安全性

    可以对整个jar包的内容进行签名。

    减少了下载时间

    如果applet被打包成一个jar文件,那么所有相关的资源就可以在一个HTTP transaction中下载完成,而无需为每一个文件新建一个连接。

    压缩

    减少了磁盘空间的占用。

    容易扩展

    通过jar这种格式,可以和容易地将自己的程序打包提供给别人使用。

    包密封(Package Sealing)

    存储在jar文件中的包可以被密封,来保证版本的一致性。密封可以保证一个包中的所有类都来自同一个jar文件。

    包版本说明

    一个jar包可以存储关于其内容的信息,包括提供商、版本等。

    可移植性

    处理jar文件的机制是Java平台核心API的标准模块。

    2、jar的使用

    JDK自带的打包工具通过jar命令来调用,jar是通过zip格式进行打包的。所以,这个jar工具也可以作为日常的压缩、解压缩工具来进行使用。

    2.1 jar命令说明

    如果安装了JDK并配置了环境变量,在命令行中输入jar命令,不加任何参数,就可以看到jar命令的使用说明,最下面还包含了两个例子:

    jar

    用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...

    选项:

    -c 创建新档案

    -t 列出档案目录

    -x 从档案中提取指定的 (或所有) 文件

    -u 更新现有档案

    -v 在标准输出中生成详细输出

    -f 指定档案文件名

    -m 包含指定清单文件中的清单信息

    -n 创建新档案后执行 Pack200 规范化

    -e 为捆绑到可执行 jar 文件的独立应用程序指定应用程序入口点

    -0 仅存储; 不使用任何 ZIP 压缩

    -P 保留文件名中的前导 ‘/‘ (绝对路径) 和 ".." (父目录) 组件

    -M 不创建条目的清单文件

    -i 为指定的 jar 文件生成索引信息

    -C 更改为指定的目录并包含以下文件

    如果任何文件为目录, 则对其进行递归处理。

    清单文件名, 档案文件名和入口点名称的指定顺序与 ‘m‘, ‘f‘ 和 ‘e‘ 标记的指定顺序相同。

    示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中:

    jar cvf classes.jar Foo.class Bar.class

    示例 2: 使用现有的清单文件 ‘mymanifest‘ 并将 foo/ 目录中的所有文件归档到 ‘classes.jar‘ 中:

    jar cvfm classes.jar mymanifest -C foo/

    摘自

    2.2 jar使用举例

    jar命令打包时默认会在jar包中添加清单(manifest)文件,如果不想添加,手动指定-M选项:

    >jar -cvf HelloWorld.jar HelloWorld.class #将HelloWorld.class文件打入jar包

    已添加清单

    正在添加: HelloWorld.class(输入 = 427) (输出 = 289)(压缩了 32%)

    >jar -tf HelloWorld.jar #查看归档文件的内容

    META-INF/

    META-INF/MANIFEST.MF

    HelloWorld.class

    >jar -xf HelloWorld.jar META-INF/MANIFEST.MF #解压出其中的META-INF/MANIFEST.MF文件

    >type META-INF\MANIFEST.MF #查看清单文件的内容

    Manifest-Version: 1.0

    Created-By: 1.8.0_51 (Oracle Corporation)

    >jar -cvfM HelloWorld.jar HelloWorld.class #将HelloWorld.class文件打入jar包,不要添加清单文件

    正在添加: HelloWorld.class(输入 = 427) (输出 = 289)(压缩了 32%)

    >jar -tf HelloWorld.jar

    HelloWorld.class

    >jar -xf HelloWorld.jar #解压tar文件到当前目录

    如果要生成可以运行的jar包,需要指定jar包的应用程序入口点,用-e选项:

    >jar -cvfe HelloWorld.jar HelloWorld HelloWorld.class #创建可以运行的jar包

    已添加清单

    正在添加: HelloWorld.class(输入 = 427) (输出 = 289)(压缩了 32%)

    >jar -tf HelloWorld.jar #查看归档的内容

    META-INF/

    META-INF/MANIFEST.MF

    HelloWorld.class

    >type META-INF\MANIFEST.MF #查看清单文件的内容

    Manifest-Version: 1.0

    Created-By: 1.8.0_51 (Oracle Corporation)

    Main-Class: HelloWorld

    >java -jar HelloWorld.jar #运行jar包

    Hello World!!

    3、清单文件MANIFEST.MF

    jar打包时,会默认向jar包中添加一个清单文件(MANIFEST.MF),放在META-INF目录。上面的例子中,可以看到:如果指定了jar包的入口程序,清单文件中就会多一行Main-Class: HelloWorld。实际上,-e选项的作用就是向MANIFEST.MF文件中添加这样一行信息,来声明jar包的入口程序。当然,我们也可以直接修改清单文件的内容。

    3.1 修改清单文件的内容

    前面已经说了,-m选项可以添加指定清单文件中的清单信息,格式如下:

    jar cfm jar-file manifest-addition input-file(s)

    注意:

    manifest-addition是一个已经存在的文本文件,其中包含着想要往jar包的清单文件中添加的清单信息。

    manifest-addition的文件编码格式必须是UTF-8。

    清单信息每行后面必须有回车或者换行。(The text file from which you are creating the manifest must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.)

    清单文件名, 档案文件名和入口点名称的指定顺序与 ‘m’, ‘f’ 和 ‘e’ 标记的指定顺序相同。(前面已经提到了)

    3.2 在清单文件中声明入口程序

    >type manifest.txt #查看清单信息的内容

    Main-Class: HelloWorld

    >jar -cvfm HelloWorld.jar manifest.txt HelloWorld.class #添加清单信息到jar包

    已添加清单

    正在添加: HelloWorld.class(输入 = 427) (输出 = 289)(压缩了 32%)

    >jar -xvf HelloWorld.jar META-INF\MANIFEST.MF

    已解压: META-INF/MANIFEST.MF

    >type META-INF\MANIFEST.MF

    Manifest-Version: 1.0

    Created-By: 1.8.0_51 (Oracle Corporation)

    Main-Class: HelloWorld #可以看到清单信息成功添加

    >java -jar HelloWorld.jar #这样指定入口程序,生成的jar包照样可以运行。

    Hello World!!

    3.3 在清单文件中指定CLASSPATH

    在运行java命令的时候,如果指定了-jar选项,那么环境变量CLASSPATH和在命令行中指定的所有类路径都被JVM所忽略。这时,如果一个jar包引用了其它的jar包,解决方案有两个:

    java -cp lib\log4j-1.2.14.jar;hello.jar com.dhn.Hello (com.dhn.Hello为主类)

    在windows下多个jar之间以分号(;)隔开,最后还需要指定运行jar文件中的完整的主类名。

    java -jar hello.jar

    这种,需要修改hello.jar中的MANIFEST.MF,通过MANIFEST.MF中的Class-Path 来指定运行时需要用到的其他jar,其他jar可以是当前路径也可以是当前路径下的子目录。多个jar文件之间以空格隔开。

    以下面的MANIFEST.MF文件为例

    Manifest-Version: 1.0

    Main-Class: com.ibm.portalnews.entrance.Main

    Class-Path: lib\commons-collections-3.2.jar lib\commons-configuration-1.5.jar lib\commons-lang-2.3.jar lib\commons-logging.jar lib\dom4j-1.6.1.jar lib\jaxen-1.1-beta-7.jar lib\jdom.jar lib\log4j-1.2.14.jar

    其中:

    Manifest-Version表示版本号,一般由IDE工具(如eclipse)自动生成

    Main-Class 是jar文件的主类,程序的入口

    Class-Path 指定需要的jar,多个jar必须要在一行上,多个jar之间以空格隔开,如果引用的jar在当前目录的子目录下,windows下使用\来分割,linux下用/分割

    文件的冒号后面必须要空一个空格,否则会出错

    文件的最后一行必须是一个回车换行符,否则也会出错

    3.4 将jar包A引用的其它jar包一同打包到A里面

    这个问题,是我一直想的。如果这样,那么将一个程序到处拷贝的话就方便的多了。然而,这是行不通的,因为JDK的类加载器不会加载jar包内包含的其它jar包中的类。

    当然,这样想过的人不止我一个,可以通过一些第三方的工具来完成。比如有个工具叫one-jar,感兴趣的可以看下。

    3.5 通过清单文件密封包

    JAR中的Package Sealing功能是在java1.2引入的。在生成Jar文件时我们可以指定是否将整个Jar或者其中某几个Package进行密封,如果是将Jar文件整个进行密封,那就意味着其内所有的Package都被密封了。Package一旦密封,那么Java 虚拟机一旦成功装载密封Package中的某个类后,其后所有装载的带有相同Package名的类必须来自同一个Jar文件,否则将触发Sealing Violation安全异常。

    对包的密封方式主要有两种:一种是对jar文件中的某些包进行密封,另一种是密封jar中的所有包。

    对某些包密封。

    Manifest-Version: 1.0

    Created-By: 1.8.0_51 (Oracle Corporation)

    Name: com/test/hello/

    Sealed: true

    Name: com/test/world/

    Sealed: true

    密封jar中的所有包。

    Manifest-Version: 1.0

    Created-By: 1.8.0_51 (Oracle Corporation)

    Sealed: true

    概括来说,有两种情况触发关于Sealing的安全异常:

    1. 检查当前试图加载的类对应的Package是否已经被JVM装载且密封。如果已经被装载且密封了,但被密封的Package与当前加载的类对应的Package不是来自同一个Jar文件,将触发安全异常。

    2. 检查当前试图加载的类对应的 Package是否已经被JVM装载且密封。如果已经被装载但没有被密封,但当前试图加载的类对应的Package确要试图进行密封操作,将触发安全异常。JVM不允许对已经装载但未密封的Package再进行密封操作。

    Package Sealing的好处:

    Package Sealing所能带来的好处主要是版本一致性. 我们知道Java 在运行时是严格按照classpath中定义的顺序进行装载和检查,尤其是现在Java开源包满天飞, 很有可能你的Java应用程序或者中间件的classpath中会在不同的Jar文件中包含同一个Package的不同版本。这会使得程序运行产生不一致性结果,很难发现。

    展开全文
  • 当你一个文件一个文件地读时,你在磁盘上随机寻找,这比批量传输连续数据要慢得多。而且,由于最快的CD驱动器比最慢的硬盘驱动器慢几十倍(这甚至还不包括在每个坏扇区上进行多次读取以进行纠错)的速度,所以您希望...

    当你一个文件一个文件地读时,你在磁盘上随机寻找,这比批量传输连续数据要慢得多。而且,由于最快的CD驱动器比最慢的硬盘驱动器慢几十倍(这甚至还不包括在每个坏扇区上进行多次读取以进行纠错)的速度,所以您希望尽快从CD中取出数据。在

    当然,将存档文件作为.iso文件或类似文件意味着,如果您以后改进软件,您可以重新扫描文件系统,而无需再次取出CD(这可能会进一步降低存储质量)。在

    同时,尝试恢复损坏的cd和损坏的文件系统比您预期的要复杂得多。在

    所以,我要做的是:

    Block将光盘直接复制到.iso文件中(无论是在Python中,还是使用dd),并记录所有失败的光盘。在

    散列.iso文件,而不是文件系统。如果您确实需要散列文件系统,请记住,在散列之前压缩数据的常见优化(即,tar czf - | shasum而不仅仅是tar cf - | shasum)通常会减慢速度,即使是对于易于压缩的数据,但是您也可以在两张磁盘上同时测试这两种方法。如果您需要您的验证在法律上有用,您可能必须使用在线服务提供的带有时间戳的签名,在这种情况下,压缩可能是值得的。在

    对于每个成功的.iso文件,装载它并使用基本的文件复制操作(无论是在Python中,还是在标准Unix工具中),并再次记录所有失败的文件。在

    获得一个免费或商业CD恢复工具,如IsoBuster(不是认可,只是搜索中出现的第一个工具,尽管我以前成功地使用过它),然后使用它手动恢复所有损坏的光盘。在

    当每个块复制完成时,您可以并行执行许多这方面的工作,在您对下一个驱动器进行块复制时,在后台启动文件系统转储。在

    最后,如果您有1500张光盘要恢复,您可能需要投资一个DVD光盘机或自动加载器。我猜新的还是很贵的,但肯定有人会以便宜得多的价格出售旧的。(从网上快速搜索,第一个结果是2500美元的新产品和240美元的二手货…)

    展开全文
  • 就去金山下载一个WPS,,用里面的WPS演示打开你的PPT,提示输入密码直接无视它,再另存为就行了 用OD试试,动态编译这个很简单,将Max场景文件、材质、贴图打包方法就是归档,归档文件是个压缩包,要打开归档文...
  • 4.6类路径4.6.1什么是类路径 前面我们讨论过包,知道字节码文件最终都会被放到和包名相匹配的树状结构...jar文件是使用zip格式压缩的,我们可以使用zip程序来查看和解压jar文件。其实Java自带的类库就是jar文件。例...
  • 归档指的将多个文件(或目录)打包成一个文件意思。压缩与归档文件传输、文件备份等方面都有着重要的作用,今天,我们一起来看看Linux下有哪些文件压缩归档命令吧!(具体压缩原理这里我们不学习啦,我也不懂~...
  • 展开全部Java为一门面向对象编32313133353236313431303231363533e78988e69d8331333431373938程语言,不仅吸收了...在软件领域,JAR文件(Java归档,英语:JavaArchive)为一种软件包文件格式,通常用于聚合大量的Java...
  • iOS 解归档

    2018-04-18 17:24:39
    什么是归档呢? 归档原名叫 Archiver[‘ɑ:kaiv] ,可以理解为将数据以序列化的方式存储到本地,像文件放入文件夹中一样,进行资料的归档存放。其实相关类名为NSKeyedArchiver,keyed在这里可以理解为为归档的...
  • 移动数据文件操作系统:windows 2000 server数据库环境:oracle8i,原有的数据库运行在非归档模式,所有数据文件大小4.8G任务目标:因为D盘的空间不够用,把D盘上的数据文件移动到K盘(活动硬盘),。1.关闭数据库(在...
  • 是什么意思? 代码存储库和所有提交历史记录仍然可用。 现有已发布的二进制文件将在发布站点上保持可用。 问题和请求请求不受监视。 新版本将不会发布。 如果来自社区或感兴趣的第三方的任何人愿意维护它,...
  • 是什么意思? 代码存储库和所有提交历史记录仍然可用。 现有已发布的二进制文件将在发布站点上保持可用。 问题和请求请求不受监视。 新版本将不会发布。 如果来自社区或感兴趣的第三方的任何人愿意维护它,...
  • 是什么意思? 代码存储库和所有提交历史记录仍然可用。 现有已发布的二进制文件将在发布站点上保持可用。 问题和请求请求不受监视。 新版本将不会发布。 如果来自社区或感兴趣的第三方的任何人愿意维护它,...
  • NSCoding就是我们俗称的归档, 归档意思就是把工程里的某一段对象的代码以文件的方式储存起来, 在这里分别有两种归档方式, 一中在Mac上的归档, 一种iOS上的归档, 今天这里只介绍在Mac上的归档. 这里涉及的...
  • rollover的意思是当满足一定条件(如文件达到了指定的大小,达到了指定的时间)后,就重命名原日志文件进行归档,并生成新的日志文件用于log写入。如果还设置了一定时间内允许归档的日志文件的最大数量,将对过旧的...
  • rollover的意思是当满足一定条件(如文件达到了指定的大小,达到了指定的时间)后,就重命名原日志文件进行归档,并生成新的日志文件用于log写入。如果还设置了一定时间内允许归档的日志文件的最大数量,将对过旧的...
  • 问:拿到一个.a库,如何查看其中包含哪些函数? 答:使用 nm xx.a 命令 nm xx.a 如果输出较多,可重定向输出至...a的意思是archive/归档意思。 (2).a中一些字段含义 nm xx.a命令后输出符号表。如: 000000 T ...
  • 是什么意思? 代码存储库和所有提交历史记录仍然可用。 现有已发布的二进制文件将在发布站点上保持可用。 问题和请求请求不受监视。 新版本将不会发布。 如果来自社区或感兴趣的第三方的任何人愿意维护它,...
  • Debian包Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。处理这些包的经典程序dpkg,经常通过Debian的apt-get来运作。 “dpkg ”“Debian Package ”的简写。为 “Debian” 专门开发...
  • 1.jar xvf../scr.zip中的那个xvf是什么意思?-c 创建新的归档文件 -t 列出归档目录-x 解压缩已归档的指定(或所有)文件 -u 更新现有的归档文件 -v 在标准输出中生成详细输出 -f 指定归档文件名 -m 包含
  • 关卡一: 练习题1 练习linux命令之打包以及解压缩:tar、gzip、bzip2、zip、unzip 要求: (1)tar命令的作用是什么?...(2)tar命令的-c和-x参数分别代表什么意思 -c 生成档案文件,创建打包文件 -x 解开档案...
  • linux面试的点点滴滴

    千次阅读 多人点赞 2019-12-24 15:48:24
    linux整理的面试题 如何查看当前的Linux服务器的运行级别 who -r和 runlevel 命令可以用来查看当前的Linux服务器的运行级别。...cpio可以向一个归档文件(或单个文件)复制文件、列表、还可以从中提取文件。 ...
  • 既然 tar 是打包的意思,那么 gz 和 bz2 是什么?gz 和 bz2 是两种压缩算法,压缩后的文件分别为 gzip 和 bzip2。其中 bz2算法 比 gz算法 压缩效果更好,所以,如果要选择的话,建议将需要压缩的文件用 bz2算法 压缩...
  • Linux题(3) 用户权限相关

    千次阅读 2019-10-17 08:43:15
    (1) tar 解压缩命令中的参数分别代表什么意思? ① 建立压缩档案 : -c 解压 :-x 查看内容:-t 向压缩归档文件末尾追加文件 :-r 更新原压缩包中的文件 : -u ② 必选参数 使用档案名字,切记,这个参数最后一个...

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

归档文件是什么意思