首页

文章

数据库维护的工作的主要内容是什么?

发布网友 发布时间:2022-03-30 17:45

我来回答

3个回答

热心网友 时间:2022-03-30 19:14

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分:
  一、备份系统数据
  SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。
  1、备份数据库
  每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。
  除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:
  ·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出);
  ·每次用 sp_dboption 允许 select into/bulkcopy 做快速拷贝,或用 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_ONLYWITH NO_LOGWITH 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
  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 {ALLpermission_list}
  ON table_name TO user_name
  go
  ·收回权限的命令格式为
  REVOKE {ALLpermission_list}
  ON table_name FROM user_name
  go
  三、监视系统运行状况,及时处理系统错误;
  系统管理员的另一项日常工作是监视系统运行情况。主要有以下几个方面:
  1、监视当前用户以及进程的信息
  使用系统过程:sp_who
  说明:该命令显示当前系统所有注册用户及进程信息,如下表是某系统的信息。
  SpidStatusLoginamehostnameblkdbnamecmd
  ---------------------------------------------------------------
  1RunningSascosysv0MasterSELECT
  2SleepingNULL0MasterNETWORK HANDLE
  3SleepingNULL0MasterDEADLOCK TUNE
  4SleepingNULL0MasterMIRROR HANDLER
  5SleepingNULL0MasterHOUSEKEEPER
  6SleepingNULL0MasterCHECKPOINT 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是登录名称。

热心网友 时间:2022-03-30 20:32

监视数据库的运行、数据一致性检查、磁盘空间检查,最主要的就是备份和恢复。据说银行每天都要进行备份工作

热心网友 时间:2022-03-30 22:07

付费内容限时免费查看回答你好

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分:

一、备份系统数据

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

1、备份数据库

每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。

除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:

·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出);

·每次用 sp_dboption 允许 select into/bulkcopy 做快速拷贝,或用 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

手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 软柿子的热量 孕妇可以吃软柿子吗不是西红柿 脆柿子和软柿子的区别 脆柿子好还是软柿子好 软柿子可以多吃吗 “鱼悬洁白振清风”的出处是哪里 用大自然的声音评课好吗? 妇产科博士找超声科工作容易吗 怎能把微信6.2.0版本换回6.1.2版 微信群6.2.4怎么增加人数上限 微信6.2.2如何备份手机通讯录 电脑桌面图标不能放大? 有什么好用的识图软件 识图认人哪个软件最好 手机识图软件什么软件能识别图片位置 小米手机自动锁屏时间怎么修改 小米手机屏幕锁定时间设置教程 能举起100斤算大力吗 中医美容专业是什么 中医美容证有什么用 单声道音频什么意思(开启单声道音频有什么好处) 单声道音频是什么,有什么用处? 户口还未迁移到婆家 娘家户口怎么就没了呢 我结婚没有迁户口,现在娘家也没有怎么办 没领证生的孩子一般会判给谁 没领证生的孩子会判给谁 信用卡卡种有哪些 找一首古风歌曲 男声 低配电脑装w10还是w7流畅 电脑配置低装win7还是win10好 低配电脑适合装WIN7系统还是WIN10系统? ...500s-15isk这个联想笔记本的内存条尺寸是什么型号的有没有知道的... 越快越好.怎样减肥.而且胸部不缩水 请问徐闻县海安长途汽车客运站客服是多少? 过了平台期还会瘦吗 悦耳的意思悦耳的解释 重庆师范大学应用心理学专业的权威性如何? 打印机laserjetm1136mfp怎样设置无线打印 经典电影赏析之1:《精武英雄》 爆米花用的什么玉米 糯玉米哪个好 有机糯玉米的营养价值如何? 四大直辖市换帅原因 电子表的表带怎么卸下来? 羊毛大衣应该怎么清洗? 洗涤技巧,羊毛的衣服应该如何洗涤? 如何给电脑上的一个文件夹加密,不借助软件的! 如何给电脑上的某一个文件夹加密? 刚买的offwhite外套,我想知道怎么洗 off white的衣服各位都怎么洗啊,新人请教 布做的拖鞋脏了怎么洗? 我有款老的浪琴手表表带换了无锡这边那里可以换 浪琴的表带怎么摘 了解的说说浪琴手表表带怎么拆 羊毛毛衣怎么保养,怎么洗 关于信息系统项目管理师的挂靠问题 怎样对电脑上的文件夹单独加密呀!? 拖鞋的鞋底儿老粘上很多脏东西,有什么办法避免吗? 用电脑怎么同时下载多个B站短视频呀? PHP好学吗?要学多久才能找到工作? 怎么自学php,php好学吗 在南宁送云南人什么特产好呢 手机如何把模糊的图片变清晰 上海帝舵手表怎么更换电池,哪里可以换 帝舵手表表镜碎了怎么办,去哪里可以维修,具体的电话位置是什么? 手表进灰能给我换新的吗?我的表没有带半年就进灰了。表是帝驼 帝舵手表怎么调整时间和日历 帝舵维修手表受磁怎么办? 帝舵手表不走了,维修需要多少钱 我买了一块帝舵手表,去哪里还有如何鉴别真伪? 帝舵手表受磁怎么办 新买的毛衣怎么洗最好 新买的毛衣要洗吗 新买的毛衣怎么洗不起球 mercedes-benz泰格豪雅手表上怎么有这个标志? 朋友送我一块豪雅手表,金属表带,背后印有sTAlNLESS STEEL字样,请问是什么型号?有什么功能?多少钱? 泰格豪雅手表维修点手表螺丝掉了怎么办? 2016年全国计算机中级职称与中级技能一样吗 白色毛衣穿久了会逐渐发黑,怎样能使白色毛衣洁白如初? 白色的毛衣穿久了就会变黑,怎么才能让它再变白 学习JAVA要先学习什么? 迪赛手表怎么调节大小 迪赛智能手表后盖怎么装上?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com