当前位置:首页 » 操作系统 » 数据库的维护方案

数据库的维护方案

发布时间: 2022-04-20 22:48:46

1. 数据库维护和管理是哪些内容

一般来说 维护的工作就是日常的监控和备份恢复工作。也有安装,配置,启动,关闭,优化的工作。可以查看你用的数据库的管理员手册,一般都有这样的日常admin工作的清单。数据库维护是指当一个数据库被创建以后的工作都叫做数据库维护。包括备份系统数据、恢复数据库系统、产生用户信息表,并为信息表授权、监视系统运行状况,及时处理系统错误、保证系统数据安全,周期更改用户口令。

2. 数据库的维护具体要做一些什么呢

备份系统
数据
备份数据库
备份
事务日志
备份数据库及其日志间的相互作用
万一系统失败时恢复
数据库系统
以上都是
数据库维护
时需要做的
在简单的说就是
确保数据库正常运行不出现错误
没有
数据冗余

3. 数据库的维护工作包括那4个方面的内容

可不仅仅是4个方面。
总的来说数据库管理员的主要责任就是保证数据库系统的正常、良好的运行。
1:基本的备份、还原。
2:基本的DML语句你要会。(SELECT,UPDATE,DELETE,INSERT)
3:如果公司要求修改某个报表的数据。你还需要会存储过程、函数
4:深入一点就是性能优化,语句优化、数据库优化等等
还有其它很多很多需要学习一步一步慢慢来。

4. 如何进行数据库的维护,平时需要做些什么

数据库日常维护(参考) 数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分: 一、备份系统数据 SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。sql Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。 1、备份数据库 每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。 除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如: ·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出); ·每次用 sp_dboption 允许 select into/bulk 做快速拷贝,或用 SELECT INTO 命令创建一个永久性的表,或使用了 WRITETEXT 命令。 卸出数据库的命令为: DUMP DATABASE database_name TO mp_device database_name 是要卸出的数据库名称,mp_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。 下面一条命令用来卸出数据库 my_db : DUMP DATABASE my_db TO db_bk_dev 2、备份事务日志 如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于 4M 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 DUMP TRAN 命令单独备份日志。 备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。 备份事务日志的命令格式为: DUMP TRANsaction database_name [TO mp_device] [WITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE] 其中 database_name 是要备份事务的数据库名称,mp_device 是备份设备名称,仅当包含了 WITH TRUNCATE_ONLY 或 WITH NO_LOG 子句时,才可以备份到设备。 注意:如果总是用 DUMP DATEBASE (备份数据库及其日志),而不用 DUMP TRAN ,事务日志将不会刷新,而变得非常庞大。 对于 master 数据库和小型数据库每次运行 DUMP DATEBASE 之后应当运行 DUMP TRANsaction 命令刷新日志 。 下面一条命令备份数据库 db160 的事务日志到备份设备上: DUMP TRANsaction db160 TO db_log_bk_dev WITH TRUNCATE_ONLY 3、备份数据库及其日志间的相互作用 在至少卸出一次数据库前,卸出事务日志是毫无意义的。下图显示了备份数据库及其日志间的关系 如果在星期二下午5:01出现非硬件故障,需要做的所有工作是装入磁带5(参见下一节:数据恢复),由于磁带5是下午5:00刚备份的,因此只有备份和装入之间的一分钟内的数据损失。 但是,如果在星期二下午4:49失效会怎么样呢?在这种情况下,要装入磁带1(在星期五下午5:00的卸出)。然后,依次装入磁带2,3以及4。这样,系统将恢复到星期二上午10:00点的状态,星期二的大部分工作丢失了。此例显示了经常卸出事务的重要性。 二、万一系统失败时恢复数据库系统 如果用户数据库存储的设备失效,从而数据库被破坏或不可存取,通过装入最新的数据库备份以及后来的事务日志备份可以恢复数据库。假设当前的事务日志存在于一个并没有毁坏的设备上,带着 WITH NO_TRUNCATE 选项的 DUMP TRANsaction 命令卸出它。 要恢复数据库按如下步骤去做: 1、如果日志存在于一个分离的设备上,用带着 NO_TRUN

5. 数据库运维服务具体有哪些

数据库运维服务是指:针对用户数据库开展的软件安装、配置优化、备份策略选择及实施、数据恢复、数据迁移、故障排除、预防性巡检等一系列服务。
主要服务内容如下:
1、数据库安装与配置;主要指定制数据库安装配置方案,检查软件安装环境,安装数据库软件,完成数据库配置,并测试之;
2、数据库性能优化: 主要是指核心参数调优,SQL语句调优,性能评估方案的提供。
3、数据库备份与恢复;主要是指本地、异地、同步、实时的分级备份与恢复方案及实施;
4、数据迁移:不同版本、不同厂商、不同结构数据库间的数据迁移;
5、故障排除;通过远程、上门等方式按服务级别实施故障排除
6、预防性巡检;定期提供预防性巡检,并完成系统参数、配置调优,及补丁分发、安装服务。

6. 数据库中,如何保证数据完整性

保证数据的完整性:
1. 用约束而非商务规则强制数据完整性

如果你按照商务规则来处理需求,那么你应当检查商务层次/用户界面:如果商务规则以后发生变化,那么只需要进行更新即可。

假如需求源于维护数据完整性的需要,那么在数据库层面上需要施加限制条件。

如果你在数据层确实采用了约束,你要保证有办法把更新不能通过约束检查的原因采用用户理解的语言通知用户界面。除非你的字段命名很冗长,否则字段名本身还不够。 — Lamont Adams

只要有可能,请采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。

— Peter Ritchie

2. 分布式数据系统

对分布式系统而言,在你决定是否在各个站点复制所有数据还是把数据保存在一个地方之前应该估计一下未来5 年或者10 年的数据量。当你把数据传送到其他站点的时候,最好在数据库字段中设置一些标记。在目的站点收到你的数据之后更新你的标记。为了进行这种数据传输,请写下你自己的批处理或者调度程序以特定时间间隔运行而不要让用户在每天的工作后传输数据。本地拷贝你的维护数据,比如计算常数和利息率等,设置版本号保证数据在每个站点都完全一致。

— Suhair TechRepublic

3. 强制指示完整性

没有好办法能在有害数据进入数据库之后消除它,所以你应该在它进入数据库之前将其剔除。激活数据库系统的指示完整性特性。这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。

— kol

4. 关系

如果两个实体之间存在多对一关系,而且还有可能转化为多对多关系,那么你最好一开始就设置成多对多关系。从现有的多对一关系转变为多对多关系比一开始就是多对多关系要难得多。

— CS Data Architect

5. 采用视图

为了在你的数据库和你的应用程序代码之间提供另一层抽象,你可以为你的应用程序建立专门的视图而不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自由。

— Gay Howe

6. 给数据保有和恢复制定计划

考虑数据保有策略并包含在设计过程中,预先设计你的数据恢复过程。采用可以发布给用户/开发人员的数据字典实现方便的数据识别同时保证对数据源文档化。编写在线更新来“更新查询”供以后万一数据丢失可以重新处理更新。

— kol

7. 用存储过程让系统做重活

解决了许多麻烦来产生一个具有高度完整性的数据库解决方案之后,我所在的团队决定封装一些关联表的功能组,提供一整套常规的存储过程来访问各组以便加快速度和简化客户程序代码的开发。在此期间,我们发现3GL 编码器设置了所有可能的错误条件,比如以下所示:

SELECT Cnt = COUNT (*)

FROM [<Table>]

WHERE [<primary key column>] = <new value>

IF Cnt = 0

BEGIN

INSERT INTO [<Table>]

( [< primary key column>] )

VALUES ( <New value> )

END

ELSE

BEGIN

<indicate plication error>

END

而一个非3GL 编码器是这样做的:

INSERT INTO [<Table>]

( [< primary key column>] )

VALUES

( <New value> )

IF @@ERROR = 2627 -- Literal error code for Primary Key Constraint

BEGIN

<indicate plication error>

END

第2 个程序简单多了,而且事实上,利用了我们给数据库的功能。虽然我个人不喜欢使用嵌入文字(2627)。但是那样可以很方便地用一点预先处理来代替。数据库不只是一个存放数据的地方,它也是简化编码之地。

— a-smith

8. 使用查找

控制数据完整性的最佳方式就是限制用户的选择。只要有可能都应该提供给用户一个清晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公共数据特别适合查找:国家代码、状态代码等

7. 数据库要怎么维护

数据库日常维护(参考)

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分:
一、备份系统数据
SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。

1、备份数据库

每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。
除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:
·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出);
·每次用 sp_dboption 允许 select into/bulk 做快速拷贝,或用 SELECT INTO 命令创建一个永久性的表,或使用了 WRITETEXT 命令。
卸出数据库的命令为:

DUMP DATABASE database_name
TO mp_device

database_name 是要卸出的数据库名称,mp_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。
下面一条命令用来卸出数据库 my_db :

DUMP DATABASE my_db
TO db_bk_dev

2、备份事务日志

如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于 4M 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 DUMP TRAN 命令单独备份日志。
备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。
备份事务日志的命令格式为:

DUMP TRANsaction database_name
[TO mp_device]
[WITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE]

其中 database_name 是要备份事务的数据库名称,mp_device 是备份设备名称,仅当包含了 WITH TRUNCATE_ONLY 或 WITH NO_LOG 子句时,才可以备份到设备。
注意:如果总是用 DUMP DATEBASE (备份数据库及其日志),而不用 DUMP TRAN ,事务日志将不会刷新,而变得非常庞大。
对于 master 数据库和小型数据库每次运行 DUMP DATEBASE 之后应当运行 DUMP TRANsaction 命令刷新日志 。
下面一条命令备份数据库 db160 的事务日志到备份设备上:

DUMP TRANsaction db160
TO db_log_bk_dev
WITH TRUNCATE_ONLY

3、备份数据库及其日志间的相互作用

在至少卸出一次数据库前,卸出事务日志是毫无意义的。下图显示了备份数据库及其日志间的关系

如果在星期二下午5:01出现非硬件故障,需要做的所有工作是装入磁带5(参见下一节:数据恢复),由于磁带5是下午5:00刚备份的,因此只有备份和装入之间的一分钟内的数据损失。
但是,如果在星期二下午4:49失效会怎么样呢?在这种情况下,要装入磁带1(在星期五下午5:00的卸出)。然后,依次装入磁带2,3以及4。这样,系统将恢复到星期二上午10:00点的状态,星期二的大部分工作丢失了。此例显示了经常卸出事务的重要性。

二、万一系统失败时恢复数据库系统

如果用户数据库存储的设备失效,从而数据库被破坏或不可存取,通过装入最新的数据库备份以及后来的事务日志备份可以恢复数据库。假设当前的事务日志存在于一个并没有毁坏的设备上,带着 WITH NO_TRUNCATE 选项的 DUMP TRANsaction 命令卸出它。
要恢复数据库按如下步骤去做:
1、如果日志存在于一个分离的设备上,用带着 NO_TRUNCATE 选项的 DUMP TRANsaction 命令卸出被毁坏的或者不可存取的用户数据库事务日志。
2、用下面的查询检查设备分配已毁坏数据库的设备使用情况。必须为同一目的赋同样的空间块。
下面的查询显示了分配给数据库 mydb 设备使用和尺寸情况:

SELECT segmap,size FROM sysusages
WHERE dbid =
( SELECT dbid FROM sysdatabases WHERE name = “mydb”)

3、检查查询的输出。在 segmap 列的 ‘3’代表数据分配,‘4’代表日志分配。size 列代表 2K 数据块的数目。注意此信息的次序、使用和尺寸部分。例如,输出为:

segmapSize
--------------------
310240//实际尺寸为:20M
35120//实际尺寸为:10M
45120//实际尺寸为:10M
31024//实际尺寸为:2M
42048//实际尺寸为:4M

4、用 DROP DATABASE 命令删除毁坏设备上的数据库。如果系统报错,用DBCC DBREPAIR 命令的 DROPDB 选项。
5、删除数据库后,用 sp_dropdevice 删除毁坏了的设备。
6、用 DISK INIT 初始化新的数据库设备。
7、重建数据库。用 CREATE DATABASE 命令从老的 sysusages 表拷贝所有的行,并包含第一逻辑设备。
对上例,命令为:

CREATE DATABASE mydb
ON datadev1=20,datadev2=10
LOG ON logdev1=10

8、用 ALTER DATABASE 命令重建其余入口。在此例中,在datadev1上分配更多的空间,命令为:

ALTER DATABASE mydb ON datadev1=2[page]

9、用 LOAD DATABASE 重新装入数据库,然后用 LOAD TRAN 装入前面卸出的日志。
LOAD DATABASE 命令语法是:

LOAD DATABASE database_name
FROM mp_device

LOAD TRANsaction 命令的语法是:

LOAD TRANsaction database_name
FROM mp_device

卸出数据库和事务日志的缺省权限归数据库所有者,且可以传递给其他用户;装载数据库和事务的权限也归数据库所有者,但不能传递。

二、产生用户信息表,并为信息表授权;
系统维护人员的另一个日常事务是为用户创建新的信息表,并为之授权。创建表以及为表授权的方法已经在讲过,在此只将有关命令语法写出来。
·创建表的命令为:

CREATE TABLE table_name
( column_1 datatype [NULL | NOT NULL | IDENTITY],
column_2 ……

go

ALTER TABLE table_name
ADD PRIMARY KEY (column_list)
go

·删除表的命令格式为:

DROP TABLE table_name
go

·为表授权的命令格式为:

GRANT
ON table_name TO user_name
go

·收回权限的命令格式为

REVOKE
ON table_name FROM user_name
go

三、监视系统运行状况,及时处理系统错误;
系统管理员的另一项日常工作是监视系统运行情况。主要有以下几个方面:
1、监视当前用户以及进程的信息
使用系统过程:sp_who
说明:该命令显示当前系统所有注册用户及进程信息,如下表是某系统的信息。

---------------------------------------------------------------

2SleepingNULL0MasterNETWORK HANDLE
3SleepingNULL0MasterDEADLOCK TUNE
4SleepingNULL0MasterMIRROR HANDLER

SLEEP
从左向右依次显示:进程号、当前状态、注册用户名、主机名、占用块数、数据库名以及当前命令。
如果监视时发现进程总数接近最大连接数(用系统过程:sp_configure “user conn” 查看)时,应下掉不活动或无关进程,以保证系统正常运做;另外亦可监视非法用户或用户使用不属于自己使用范围的数据库等情况。
2、监视目标占用空间情况
使用系统过程:sp_spaceused
说明:该过程显示行数、数据页数以及当前数据库中由某个目标或所有目标所占用的空间。如下表是某数据库日志表的信息:

NameRow_totalreserveddataIndex_sizeunused
------------------------------------------------------------
SyslogsNot avail32KB32KB0KBNot avail

日常要监视的主要目标有:用户数据库、数据库日志表(syslogs)以及计费原始数据表等。如果发现占用空间过大,对日志表要进行转储;对其他目标则应扩充空间或清楚垃圾数据。
3、监视 SQL Server 统计数字
使用系统过程:sp_monitor
说明:sp_monitor 显示SQL Server 的历史统计数字,下表是某系统的统计数字:

Last_runCurrent_runSeconds
---------------------------------------------------------------
May 13 2000 1:27PMMay 13 2000 3:01PM5678
CPU_busyIO_busyIdle
---------------------------------------------------------------
16(6)-0%0(0)-0%5727(5672)-99%
Packets_receivedPackets_sentPacket_errors
---------------------------------------------------------------
21(17)100(97)0(0)
Total_readTotal_writeTotal_errorsConnections
--------------------------------------------------------
785(366)311(113)0(0)3(2)

上表依次给出该系统本次运行统计的上一次时间、本次时间、间隔秒数、CPU占用、IO占用、收发包情况、系统读入写出情况等信息

四、保证系统数据安全,周期更改用户口令;
为保证系统数据的安全,系统管理员必须依据系统的实际情况,执行一系列的安全保障措施。其中,周期性的更改用户口令是比较常用且十分有效的措施。
更改用户口令是通过调用系统过程sp_password 来实现的。Sp_password 的语法为:
sp_password caller_password,new_password [,loginame]
其中caller_password 是登录口令(老口令),new_password是新口令,loginame是登录名称。

在网络搜索:数据库日常维护(参考)

相 关 文 章
Sybase存储过程的建立和使用

SYBASE dbcc

电信企业参与竞争的利器-数据仓库和数据挖掘

SCOUNIX下磁带机的安装与备份

StoredProcere(存储过程)编写经验和优化措施

细说SYBASE数据库日志

常见数据库系统之比较 - SYBASE 和 SQL SERVER

SYBASE ASE FOR LINUX安装及perl连接SYBASE

Sybase数据库应用(一)

安装Sybase ASE

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

8. 如何创建SQLSERVER数据库维护计划

如何创建SQLSERVER数据库维护计划
步骤1:打开企业管理器,如下。

2
步骤2:点击管理,新建数据库维护计划,进入向导,选择下一步。

3
步骤3:选择数据库PUBS,点击下一步。

4
步骤4:更新数据库优化信息。可以进行数据库文件空间设置。我们点击更改进行调度设置。

5
步骤5: 可以通过修改调度,对作业时间参数进行设置。

步骤6:检查数据库完整性。

步骤7:指定数据库备份计划。

步骤8:可以编辑调度。

步骤9:指定备份目录,可以选择路径,删除时间和扩展名。

步骤10:指定事务日志备份计划。

步骤11:报表。

步骤12:维护计划历史。

步骤13:数据库维护计划完成向导。
步骤14:数据库维护设置的最终结果如下:
数据库
pubs

服务器

9. 数据库的日常维护具体都包括什么

其实也没啥,就是按频率备份一下数据(有可能还会还原、附加、删除)监视 sql 的cpu使用率这些,除此之外,让其他人补充吧……

热点内容
ade云存储平台 发布:2024-10-01 07:18:57 浏览:268
雨脚本 发布:2024-10-01 07:06:54 浏览:190
220v怎么检查配置连接线 发布:2024-10-01 07:04:35 浏览:998
通快激光编程 发布:2024-10-01 06:41:46 浏览:349
linux中ftp 发布:2024-10-01 06:28:07 浏览:212
我的世界170版本服务器 发布:2024-10-01 05:32:49 浏览:264
kalilinux配置网络 发布:2024-10-01 05:08:22 浏览:302
JAVA数据本地化存储 发布:2024-10-01 04:31:10 浏览:516
存储过程返回多个值 发布:2024-10-01 04:19:44 浏览:980
怎样用自己的ip搭建服务器 发布:2024-10-01 04:18:09 浏览:743