关于有一职工基本情况的数据库文件(精选范文2篇)
基本是汉语词汇,拼音是jī běn,是指根本的,一个基本的事实。出自 《汉书·谷永传》, 以下是为大家整理的关于有一职工基本情况的数据库文件2篇 , 供大家参考选择。
有一职工基本情况的数据库文件2篇
【篇一】有一职工基本情况的数据库文件
Oracle数据库中的数据文件有一个特性,即可以设置是否脱机。如果将数据文件设置为脱机,数据库就无法读取这个数据文件。只有在文件联机,时数据库才能够读取其中的内容。为此有时候改变这个数据文件的状态也是数据库维护过程中的一个必要手段。
一、为什么要更改其可用性?
1、 处于更改数据文件名或者位置的需要。
在数据库部署的时候,如果没有给数据文件取一个合适的名字,或者说没有给其选择一个合适的分区。此时在后续的维护中可能就需要更改数据文件的名字或者位置。如有时候处于性能优化的考虑,会将一些存在并发性访问的数据文件存放在不同的硬盘分区上,以减少I/O冲突提高数据库性能。在这种情况下,就必须要移动数据文件的位置。要实现这个目的的话,就必须首先要让数据文件脱机,然后再将其启动到合适的位置。
2、 系统遇到数据文件故障时会自动关闭。
有时候数据库系统也会自动关闭数据文件。如当数据库系统往数据文件中写入数据的时候,如果发现写入过程中出现错误的话,就会将这个数据文件设置为脱机,并将这个信息写入到日志中。数据库管理员接到报警信息后,就需要修复这个数据文件。修复完毕后,还需要手工的将这个数据文件设置为联机。此时数据库系统才会重新启用这个数据文件。可见,当数据文件无法正确写入时,也是数据文件脱机的一个原因。
将某个数据文件设置为脱机时,不会影响到其他数据文件的可用性。如数据库管理员在规划数据文件的时候,是按照部门来规划的。即其他部门的用户仍然可以在系统中访问自己若需要的数据。为此这个特性的话可以有效的的减少数据库当机的时间,实现数据库的最大可用性。 分步启动数据库以重命名数据文件
二、归档模式与非归档模式下分别如何更改?
Oracle数据库工作模式大致分为归档模式与非归档模式。在不同的操作模式下,其数据文件可用性维护的方法稍有差异。为此各位数据库管理员要了解在不同操作模式下的维护方式。只有如此,才能够采取合适的方式来改变数据文件的可用性。
若数据库处于归档模式,则要使一个单独的数据文件联机或者脱机,则只需要使用ALTER DATABASE的DATEFILE字句即可。即按照如下的形式就可以将某个数据文件设置为脱机或者联机。当以下命令执行成功后,系统会提示“数据库已经更改”。
ALTER DATABASE DATAFILE ‘数据文件存储路径与名字’ OFFLINE/ONLINE;
但是要注意,如果数据库不是处于归档模式,则执行上面的语句更改数据文件的可用性时,数据库会提示错误信息。若将某个数据文件设置为脱机时,“除非使用介质恢复,否则不允许立即脱机”。如将某个数据文件设置为联机时,会提示“数据文件5,需要介质恢复”。注意这里的5代表的是数据文件的绝对文件号。在Oracle数据库中文件号是数据库系统标识数据文件的一个工具,就好像人的身份证一样,唯一标识了一个数据文件。在Oracle中,文件号分为绝对文件号和相对文件号。绝对文件号是在整个数据库中唯一的标识一个数据文件。而相对文件号是在表空间中唯一的标识一个数据文件。也就是说,相对文件号在同一个表空间内是唯一的,但是并不保障在整个数据库内是唯一的。此时数据库可能需要表空间与相对文件号两个参数才能够唯一的定位数据文件。对于中等规模以下的数据库系统,往往相对文件号与绝对文件号是相同的。但是当数据库变得很大时,相对文件号与决定文件号就可能有所差异。由于在错误信息中没有直接说明数据文件的名称,为此数据库管理员不得不先将这个文件号转换到对应的数据文件名字,然后再去想解决方法。(IT专家网独家:重定位数据文件的位置)
可见,如果当数据库采用非归档模式时,就无法采用上面方式将数据文件联机或者脱机。此时需要稍微修改一下上面的语句来完成。如可以将这个语句改为:
ALTER DATABASE DATAFILE ‘数据文件存储路径与名字’ OFFLINE DROP;
即需要在原先的语句后面加入DROP关键字。此时就可以正常将非归档模式下的数据文件脱机了。不过需要注意的一点就是,无非采用正常的方式将非归档模式下的数据文件设置为联机。正常情况下,只有采用介质恢复的形式才能够将非归档模式下的数据文件设置为联机。所以说,如果数据库采用的是非归档模式,那么在将数据文件设置为脱机时,就需要慎重了。因为此时再想将脱机的数据文件设置为联机,可没有这么简单了。
三、更改数据文件可用性的注意事项。
从以上的分析中可以看出要改变某个数据文件的状态,特别是归档模式下数据文件的可用性,并不是很困难的一件事情。不过在维护数据文件可用性的时候,下面的一些内容还需要引起各位数据库管理员的注意。
1、 系统表空间不能够脱机。
在Oracle数据库中,表空间可以分为系统表空间和非系统表空间。这里需要明白的是,系统表空间中的数据文件无法设置为脱机。后续大家还没有认识到这个的重要性。系统表空间中的数据文件无法脱机,就表示当数据库投入生产之后,就无法更改系统表空间中数据文件的存储位置。所以在数据库规划时,就好规划好系统表空间中数据文件的存储。另外,也不要将用户的数据文件存放到这个系统表空间中。
2、 表空间可用性与数据文件可用性之间的关系。
数据库表空间的可用性与数据文件的可用性存在着很密切的联系。一般来说,当将某个表空间设置为脱机或者联机时,这个表空间下面的所有数据文件的可用性也会随之变为脱机或者联机。但是,反过来即不成立。如先通过表空间脱机将所有的数据文件的可用性设置为脱机状态。然后再一一的将这个表空间的数据文件全部设置为联机,此时这些数据文件仍然不可用。这主要是因为这些数据文件的主人,表空间的使用状态还是为脱机。所以说,数据文件可用性的改变,不会影响到表空间。但是表空间使用状态的改变,却会影响其下面的所有数据文件。
这个特性有时候很有用。如现在数据库管理员出于性能优化的考虑,要将某个表空间移植到另外一个快性能更佳的硬盘上,以减少硬盘I/O的冲突。此时就需要将这个表空间的数据文件设置为脱机。为此数据库管理员就不需要一一的去改变这个表空间下面数据文件的可用性。而是可以直接将这个表空间设置为脱机,那么下面数据文件的可使用状态也会发生相应的改变。然后就可以移动这些数据文件的位置了。等到移动完成后,再将这个表空间设置为联机即可。此时这个表空间下面的所有数据文件也会变为联机。可见,通过表空间的可用性来维护数据文件的可用性,在需要维护整个表空间中数据文件的可用形时是非常便捷的一个方式。不过这里仍然需要注意一点,就是其仍然受到归档模式与非归档模式两种操作模式的限制。
最后需要说明的一点就是,数据文件在创建数据库或者增加数据文件时就会被创建。如现在为某个表空间增加了一个数据文件,即使这个数据文件还没有数据,系统就已经为其分配了存储空间。为此当数据文件创建后要调整数据文件的名字与位置时,会比较麻烦。所以笔者建议数据库管理员,在创建数据文件之前先要对其进行合理的规划,以免后续调整的麻烦。在数据文件创建之后,最好不要随意的通过更改可用性来调整数据文件的配置。
来源:网络 编辑:联动北方技术论坛
【篇二】有一职工基本情况的数据库文件
Windows下生成caffe训练用的leveldb格式的库文件并求其均值
2016-8-27
本文介绍在Windows环境下,采用matlab将图片格式的文件转化为深度学习框架caffe训练用的leveldb格式的库文件的方法及相应的代码。运行环境为:
windows7+vs2013+matlab2015a+caffe(微软版)。
以下部分以mnist图像数据集中的t10k-images.idx3-ubyte为例进行说明;
1.设置生成leveldb格式的库文件还是lmdb格式的库文件
采用vs2013修改并编译J:\caffe-windows\tools\convert_imageset.cpp,从而修改生成的库文件的格式是leveldb还是lmdb格式。
//DEFINE_string(backend, "lmdb", //生成的库文件为lmdb格式
DEFINE_string(backend, "leveldb", // 生成的库文件为leveldb格式
"The backend {lmdb, leveldb} for storing the result");
2.将mnist文件转化为图片文件及标签文件
采用matlab代码将t10k-images.idx3-ubyte转化为生成leveldb格式的库文件所需的图片文件夹(mnist_img)及标签文件(mnist_labels.txt)。其中标签文件包括图片名称及图片的标签,图片名称与mnist_img文件夹中图片的名称相同;
clear all;
clc
close all
%**********generate the images files with specified names***************
images = loadMNISTImages("t10k-images.idx3-ubyte");
size_of_images=size(images)
img_db=reshape(images,28,28,10000);
for num_img=1:1000
img1=img_db(:,:,num_img);
imwrite(img1,["./mnist_img/mnist_",num2str(num_img),".jpg"]);
end
%*******generate label files**************************
labels = loadMNISTLabels("t10k-labels.idx1-ubyte");
fp = fopen("F:\mnist_folder\MNIST_dataset\mnist_labels.txt","wt");
for label_seq =1:1000
fprintf(fp, "%s %d\n",["mnist_",num2str(label_seq),".jpg"],labels(label_seq));
end
fclose(fp);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
上述matlab文件运行后,文件夹下的文件及标签文件如下图所示:
3.生成convert_imageset可执行文件
在windows下的vs2013中打开J:\caffe-windows\windows文件夹下的caffe解决方案。并生成解决方案,即同时生成convert_imageset可执行文件。convert_imageset可执行文件位于J:\caffe-windows\Build\x64\Release文件夹下。也可将convert_imageset项目“设为启动项目”,然后对vs2013的菜单栏执行操作:“生成-->仅用于项目-->仅重新生成convert_imageset(R)”。
4.拷贝图片文件夹及标签文件
将图片文件夹(mnist_img)及标签文件(mnist_labels.txt)拷贝至caffe的根目录(caffe-windows)下自建的vggface文件夹中。
5.生成leveldb库文件的命令
在window的命令窗口中,输入以下命令(命令及文件位置采用绝对路径):
J:\caffe-windows\Build\x64\Release\convert_imageset.exe J:\caffe-windows\vggface\mnist_img\ J:\caffe-windows\vggface\mnist_labels.txt J:\caffe-windows\vggface\mnist_train_leveldb
上述命令的规则为:
exe所在路径+空格+[LEVELDB/LMDB]+数据(需处理的图片所在文件夹)+空格+数据列表以及标签的txt+空格+生成的leveldb数据存放的路径。[LEVELDB/LMDB]表示这一项可没有,默认为LMDB格式,也可在这个位置输入LEVELDB生成LEVELDB格式的库文件。
上述命令运行后所生成的文件夹及文件如下图所示:
命令运行记录如下图所示,前面为运行失败的记录,最后一条为运行成功的记录:
6.loadMNISTLabels文件及loadMNISTImages文件
function labels = loadMNISTLabels(filename)
%loadMNISTLabels returns a [number of MNIST images]x1 matrix containing
%the labels for the MNIST images
fp = fopen(filename, "rb");
assert(fp ~= -1, ["Could not open ", filename, ""]);
magic = fread(fp, 1, "int32", 0, "ieee-be");
assert(magic == 2049, ["Bad magic number in ", filename, ""]);
numLabels = fread(fp, 1, "int32", 0, "ieee-be");
labels = fread(fp, inf, "unsigned char");
assert(size(labels,1) == numLabels, "Mismatch in label count");
fclose(fp);
end
%%%%new function%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function images = loadMNISTImages(filename)
%loadMNISTImages returns a 28x28x[number of MNIST images] matrix containing
%the raw MNIST images
fp = fopen(filename, "rb");
assert(fp ~= -1, ["Could not open ", filename, ""]);
magic = fread(fp, 1, "int32", 0, "ieee-be");
assert(magic == 2051, ["Bad magic number in ", filename, ""]);
numImages = fread(fp, 1, "int32", 0, "ieee-be");
numRows = fread(fp, 1, "int32", 0, "ieee-be");
numCols = fread(fp, 1, "int32", 0, "ieee-be");
images = fread(fp, inf, "unsigned char");
images = reshape(images, numCols, numRows, numImages);
images = permute(images,[2 1 3]);
fclose(fp);
% Reshape to #pixels x #examples
images = reshape(images, size(images, 1) * size(images, 2), size(images, 3));
% Convert to double and rescale to [0,1]
images = double(images) / 255;
end
7.求图像的leveldb库文件的均值
(1) 设置对leveldb格式的库文件还是lmdb格式的库文件进行求均值
采用vs2013修改并编译convert_imageset.cpp文件,使其求期望格式的库文件的均值
//DEFINE_string(backend, "lmdb",//求lmdb格式库文件的均值
DEFINE_string(backend, "leveldb",//求leveldb格式库文件的均值
"The backend {leveldb, lmdb} containing the images");
(2) 采用以下命令求库文件的均值
J:\caffe-windows\Build\x64\Release\compute_image_mean.exe J:\caffe-windows\mnist_mycmd\mnist_train_leveldb_1 J:\caffe-windows\mnist_mycmd\mnist_mean.binaryproto
上述命令的规则为:
exe所在路径+空格+LEVELDB/LMDB格式的库文件夹+空格+均值文件名.binaryproto。
上述命令运行后命令窗口如下图所示:
上一篇:关于错字符号怎么写【四篇】
下一篇:预防肺结核班会主题【3篇】