当前位置:文档之家› Sybase数据库日常维护

Sybase数据库日常维护

Sybase数据库日常维护
Sybase数据库日常维护

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

一、备份系统数据

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

1、备份数据库

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

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

·每次强制地运行了dump tran with no_log (因为数据库的磁盘空溢出);

·每次用sp_dboption 允许select into/bulkcopy 做快速拷贝,或用select into 命令创建一个永久性的表,或使用了writetext 命令。

卸出数据库的命令为:

dump database database_name

to dump_device

database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程sp_helpdevice 可以获得设备的信息。

下面一条命令用来卸出数据库my_db :

dump database my_db

to db_bk_dev

2、备份事务日志

如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于4m 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用dump tran 命令单独备份日志。

备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。

备份事务日志的命令格式为:

dump transaction database_name

[to dump_device]

[with truncate_only|with no_log|with no_truncate]

其中database_name 是要备份事务的数据库名称,

dump_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 dump_device

load transaction 命令的语法是:

load transaction database_name

from dump_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 {all|permission_list}

on table_name to user_name

go

·收回权限的命令格式为

revoke {all|permission_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是登录名称。

数据库日常维护工作

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分: 一、备份系统数据 SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。 1、备份数据库 每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。 除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出); ·每次用 sp_dboption 允许 select into/bulkcopy 做快速拷贝,或用 SELECT INTO 命令创建一个永久性的表,或使用了 WRITETEXT 命令。 卸出数据库的命令为: DUMP DATABASE database_name TO dump_device database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。 下面一条命令用来卸出数据库 my_db : DUMP DATABASE my_db TO db_bk_dev 2、备份事务日志 如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于 4M 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 DUMP TRAN 命令单独备份日志。 备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。 备份事务日志的命令格式为: DUMP TRANsaction database_name [TO dump_device] [WITH TRUNCATE_ONL Y|WITH NO_LOG|WITH NO_TRUNCA TE] 其中 database_name 是要备份事务的数据库名称,dump_device 是备份设备名称,仅当包含了 WITH TRUNCA TE_ONL Y 或 WITH NO_LOG 子句时,才可以备份到设备。 注意:如果总是用 DUMP DA TEBASE (备份数据库及其日志),而不用 DUMP TRAN ,事务日志将不会刷新,而变得非常庞大。

Oracle数据库日常维护工作

文档编号
Oracle 数据库日常维护工作
凌群电脑有限公司 凌群电脑有限公司 2004 年 12 月 15 日

数据库日常维护工作》 《Oracle 数据库日常维护工作》

1.1 1.2 1.3 1.4 1.5 1.6

1. DBA 日常维护工作 ..................................................................................................................... 3 检查已经打开的所有实例 .................................................................................................... 3 检查最新的警告日志 ............................................................................................................ 7 检查数据库备份是否正确 .................................................................................................... 8 检查备份到磁带中的文件是否正确 .................................................................................... 9 检查数据库的性能是否合理,系统资源是否充足 ............................................................ 9 仔细阅读 ORACLE 标准文档 ............................................................................................... 10
2.晚间维护工作 晚间维护工作.............................................................................................................................. 10 晚间维护工作 2.1 收集相关表的统计数据 ....................................................................................................... 10 3.每周维护工作 每周维护工作.............................................................................................................................. 10 每周维护工作 3.1 检查异常的对象................................................................................................................... 10 3.1.1 检查现有的 NEXT_EXTENT 情况:............................................................................ 10 3.1.2 检查已有的 EXTENTS: .............................................................................................. 11 3.1.3 查看哪些表没有主键 .................................................................................................... 11 3.1.4 查找哪些主键是没有发挥作用的 ................................................................................ 12 3.1.5 所有作索引的主键都应是唯一的 ................................................................................ 12 3.2 检查是否有不安全的问题 ................................................................................................... 12 3.3 检查是否有错误 SQL*NET 日志 ....................................................................................... 13 3.4 归档当前告警日志 ............................................................................................................... 13 3.5 访问供应商站点................................................................................................................... 13 4.月维护工作 月维护工作.................................................................................................................................. 13 月维护工作 4.1 检查是否有异常的空间增长 ............................................................................................... 13 4.2 回顾以前数据库性能优化的调整 ....................................................................................... 14 4.3 检查 IO 瓶颈 ........................................................................................................................ 14 4.4 检查碎片的问题(8I 系统) ............................................................................................... 15
2

Sybase数据库死锁对策

Sybase 数据库死锁对策 死锁的发生对系统的性能和吞吐量都有重要影响,经检测发现,管理信息系统的死锁主要是因为两个或多个线程(登录)抢占同一表数据资源。引起长时间抢占同一资源不是因为我们需要处理的事务太复杂,时间太长,而往往是因为我们在前端应用程序对数据库作操作时忘了提交.本文介绍一种处理解决这种死锁的方法。 Sybase 封锁原理 数据共享与数据一致性是一对不可调和的矛盾,为了达到数据共享与数据一致,必须进行并发控制。并发控制的任务就是为了避免共享冲突而引起的数据不一致。Sybase SQL Server 并发控制的方法是加锁机制(LOCKING ). 锁的类型 Sybase SQL Server 有三种封锁类型:排它锁(exclusive lock,简称X 锁);共享锁(share lock,简称S 锁);更新锁(update lock,简称U 锁)。这三种锁的相容矩阵表如下: ×:表示不兼容。∨:表示兼容。 Sybase SQL Server 是自动决定加锁类型的。一般来说, 读(SELECT )操作使用S 锁,写(UPDATE,INSERT 和delete )操作使用X 锁。U 它在一个更新操作开始时获得,当要修改这些页时,U 锁会升级为X 锁。 锁的力度 SQL Server 有两级锁:页锁和表锁。通常页锁比表锁的限制更少(或更小)。页锁对本页的所有行进行锁定,而表锁则锁定整个表。为了减小用户间的数据争用和改进并发性,SQL Server 试图尽可能地使用页锁。 当SQL Server 决定一个语句将访问整个表或表的大多数页时,它用表锁来提供更有效的锁定。锁定策略直接受查询方案约束,如果update 或delete 语句没有可用的索引,它就执行表扫描或请求一个表锁定。如果update 或delete 语句使用了索引,它就通过请求页锁来开始,如果影响到大多数行,它就要请求表锁。一旦一个语句积累的页锁超过锁提升阈值,SQL Server 就设法给该对象分配一个表锁。如果成功了,页锁就不再必要了,因此被释放。表锁也在页层提供避免锁冲突的方法。对于有些命令SQL Server 自动使用表锁。 锁的状态 SQL SERVER 加锁有三种状态: 1)意向锁(intend )—是一种表级锁,它表示在一个数据页上获得一个S 或X 锁的意向。意向锁可以防止其他事务在该数据页的表上获得排它锁。 2)阻塞(blocking,简记blk )—它表明目前加锁进程的状态,带有blk 后缀的锁说明该进程目前正阻塞另一个需要获得锁的进程,只有这一进程完成,其他进程才可以进行。 3)需求锁(demand )—表示此时该进程企图得到一个排它锁。它可以防止 可申请的锁 已有的锁 S U X S ∨ ∨ × U ∨ × × X × × ×

ORACLE数据库日常维护与管理手册

全球眼?(MEGAEYES)网络图像管理系统2.0 ORACLE日常维护与管理手册 北京互信互通信息技术有限公司 2004-08-08

目录 全球眼?(MEGAEYES)网络图像管理系统2.0 (1) 1引言 (3) 1.1 目的 (3) 1.2 范围 (3) 1.3 参考资料 (3) 2日常维护与管理说明 (3) 2.1 运行环境 (3) 2.1.1硬件环境 (3) 2.1.2软件环境 (3) 2.2 数据库日常维护 (4) 2.2.1数据库初始设置 (4) 2.2.2每日工作内容 (5) 2.2.3每周工作内容 (6) 2.2.4每月工作内容 (7)

1引言 1.1目的 对于重要的商业系统来说,数据库系统的正常运行是保证商业应用平稳运行的关键。但是数据库在运行过程中可能会因为种种原因发生问题。这时,数据库的管理与日常维护工作将变得尤为重要。 为了指导数据库管理员做好日常维护工作,保证数据库系统的正常运行,特制定本文档。当然,数据库的日常维护是复杂和繁琐的,本文仅涉及一些常见的数据库日常维护的内容,在实际工作中,数据库管理员还需要做更多的工作。 1.2范围 本文档使用的人员:数据库维护管理人员和相关人员。 本文档涉及内容:oracle数据库的日常维护与管理解决方案。 1.3参考资料 中国电信网络视频监控技术(暂行)规范 2日常维护与管理说明 2.1运行环境 程序的运行环境包括硬件运行环境和软件运行环境。 2.1.1硬件环境 ◆CPU类型:Intel及其兼容系列CPU ◆内存容量:剩余内存要达2G以上 ◆硬盘容量:剩余硬盘容量要达1G以上 ◆网卡类型:100M网卡 2.1.2软件环境 ◆操作系统:RedHat Linux AS 3.0 ◆数据库:Oracle9i Database Release 2 (9.2.0.4.0) for Linux x86

SYBASE数据库故障处理方法

SYBASE数据库故障处理方法 Sybase数据库故障处理方法 一、 Sybsystemprocs 库“挂起”解决办法 1. 修改Sybase.cfg 文件,修改Sybase 数据库可以修改系统参数. 2. $ vi Sybase.cfg 查找―allow updates‖ ,将其修改为1.(缺省值为0). 既 allow updates to system tables=1 重新启动系统. 3. 用 isql 登录到sql server 中,修改 master库中sysdatabases 表中 sybsystemprocs 库对应的 status 的值为-32768. $isql –Usa –P 1> update master..sysdatabases 2> set status = -32768 where name =‖ sybsystemprocs‖ 1>go 1>shutdown with nowait 2>go 关闭数据库 重新启动. 4.用 isql 登录到sql server 中,修改 master库中sysdatabases 表中 sybsystemprocs 库对应的 status 的值为0. $isql –Usa –P 1>update master..sysdatabases 2>set status = 0 where name =‖ sybsystemprocs‖ 3>go 1>shutdown with nowait 2>go 关闭数据库重新启动. 5. 将Sybase.cfg 中的‖allow updates to system‖ 的值改为0. 二、如何恢复master数据库 ASE can't setup and has no valid dump of master 1、编辑RUN_servername 在命令行最后加入:-T3607 2、单用户模式启动ASE $cd install $startserver -f RUN_servername -m 3、bcp out系统表 $bcp master..sysdevices out /directory.spec/devs -Usa -P -c $bcp master..sysdatabases out /directory.spec/dbs -Usa -P -c $bcp

数据库日常维护

数据库日常维护(参考) 数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分: 一、备份系统数据 SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过DUMP 和LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。 1、备份数据库 每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。 除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如: ·每次强制地运行了DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出); ·每次用sp_dboption 允许select into/bulkcopy 做快速拷贝,或用SELECT INTO 命令创建一个永久性的表,或使用了WRITETEXT 命令。 卸出数据库的命令为: DUMP DATABASE database_name TO dump_device database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程sp_helpdevice 可以获得设备的信息。 下面一条命令用来卸出数据库my_db : DUMP DATABASE my_db TO db_bk_dev 2、备份事务日志

Sybase数据库故障处理方法

Sybase数据库故障处理方法 一、Sybsystemprocs 库“挂起”解决办法 1.修改Sybase.cfg 文件,修改Sybase 数据库可以修改系统参数. 2.$ vi Sybase.cfg 查找―allow updates‖ ,将其修改为1.(缺省值为0). 既allow updates to system tables=1 重新启动系统. 3.用 isql 登录到sql server 中,修改master库中sysdatabases 表中 sybsystemprocs 库对应的status 的值为-32768. $isql –Usa –P 1>update master..sysdatabases 2>set status = -32768 where name =‖sybsystemprocs‖ 1>go 1>shutdown with nowait 2>go 关闭数据库重新启动. 4.用 isql 登录到sql server 中,修改master库中sysdatabases 表中 sybsystemprocs 库对应的status 的值为0. $isql –Usa –P 1>update master..sysdatabases 2>set status = 0 where name =‖sybsystemprocs‖ 3>go 1>shutdown with nowait 2>go 关闭数据库重新启动. 5.将Sybase.cfg 中的‖allow updates to system‖的值改为0. 二、如何恢复master数据库 ASE can't setup and has no valid dump of master 1、编辑RUN_servername 在命令行最后加入:-T3607 2、单用户模式启动ASE $cd install $startserver -f RUN_servername -m 3、bcp out系统表 $bcp master..sysdevices out /directory.spec/devs -Usa -P -c $bcp master..sysdatabases out /directory.spec/dbs -Usa -P -c $bcp master..sysusages out /directory.spec/usages -Usa -P -c

SYBASE数据库常见的问题总结

SYBASE 数据库常见问题总结 SYBASE 数据库常见问题总结 ..................................................................... 错误!未定义书签。 1. SYSLOGS日志满了进不了系统,如何清除日志启动系统 .................... 错误!未定义书签。 2. 数据库日志损坏时重建日志启动数据库的解决办法.............................. 错误!未定义书签。 3. 数据库处于可疑状态的解决方法.............................................................. 错误!未定义书签。4.Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库?错误!未定义书签。 5.不小心直接删除了日志的设备文件,如何恢复数据库?..................... 错误!未定义书签。6.sa密码忘记了导致isql -Usa -P******进不去怎么办?......................... 错误!未定义书签。7.关于sybase的配置-(数据库慢的请留意) ........................................ 错误!未定义书签。8.设备路径更改的方法................................................................................. 错误!未定义书签。9.dump文件load后数据库访问不了解决办法........................................ 错误!未定义书签。10.sybase数据库备份方案........................................................................... 错误!未定义书签。11.master数据库状态被置为-32768后的处理方法 ................................... 错误!未定义书签。 1. SYSLOGS日志满了进不了系统,如何清除日志启动系统 业务系统数据库不能正常启动,对于这一类问题,我们按照如下步骤解决: 第一步,启用allow updates to system tables,这样可以使具有系统管理员角色的用户能够改变系统表并可创建和修改系统表的存储过程,其中系统表包括master数据库中所有Sybase 提供的表以及用户数据库中所有以“sys”开头的表和在sysobjects表中其ID值小于或等于100的表。系统表的不正确变更会导致数据库损坏和数据丢失,修改系统表时务必要使用begin transaction来保护数据库不受可能损坏数据库的错误影响,完成修改后应立即禁用allow updates to system tables。 1>sp_configure "allow update",1 2>go 第二步,Adaptive Server中的每个数据库在sysdatabases中都有相应的一行,安装Adaptive Server后,master数据库、model数据库、sybsystemprocs和tempdb数据库在sysdatabases 中都将有相应的条目,如果已经安装审计功能,sybsecurity数据库也将在其中有相应的条目。修改sysdatabases表,将testdb的状态修改为-32768,然后在关闭Adaptive Server后重新启动Adaptive Server。 1> update sysdatabases set status=-32768 where name = "testdb" 2>go 1>shutdown 2>go 第三步,由于事务日志已经很满,不能使用常规方法转储此事务日志,如果使用了dump

ORACLE数据库日常维护与管理手册

全球眼(MEGAEYES网络图像管理系统2.0 ORACLE S常维护与管理手册 北京互信互通信息技术有限公司 2004-08-08 目录

1 引言 1.1 目的 对于重要的商业系统来说, 数据库系统的正常运行是保证商业应用平稳运行 的关键。但是 数据库在运行过程中可能会因为种种原因发生问题。 这时,数据库 的管理与日常维护工作将变得尤为重要。 为了指导数据库管理员做好日常维护工作, 保证数据库系统的正常运行, 特 制定本文档。 当然, 数据库的日常维护是复杂和繁琐的, 本文仅涉及一些常见的 数据库日常维护的内容,在实际工作中,数据库管理员还需要做更多的工作。 1.2 范围 本文档使用的人员:数据库维护管理人员和相关人员。 本文档涉及内容: oracle 数据库的 日常维护与管理解决方案。 1.3 参考资料 中国电信网络视频监控技术(暂行)规范 2 日常维护与管理说明 2.1 运行环境 程序的运行环境包括硬件运行环境和软件运行环境。 2.1.1 硬件环境 Intel 及其兼容系列 CPU 剩余内存要达2G 以上 剩余硬盘容量要达 1G 以上 100 M 网卡 2.1.2 软件环境 CPU 类型: 内存容量: 硬盘容量: 网卡类型:

: RedHatLinuxAS3.0 Oracle9iDatabaseRelease2forLinuxx86 2.2数据库日常维护 数据库的日常维护工作主要包括管理员每日的工作内容, 每周的工作内容以 及每月的工作内容。 2.2.1数据库初始设置 基于数据安全性的考虑,需要对数据库进行如下的初始设置。 1数据库设为归档模式 1) 以管理员身份连接数据库 SQL>>connectsys/sys@数据库例程 SIDassysdba 2) 察看数据库是否处于存档模式 SQL>>archiveloglist 说明:该命令会提示以下信息,注意灰色部分显示的状态。 DatabaselogmodeNoArchiveMode AutomaticarchivalDisabled Archivedest in ati on Oldest on li nelogseque nce31 Curren tlogseque nce33 3) 如果处于非归档模式则设为归档模式 SQL>>shutdow nimmediate; SQL>>start upmount; SQL>>alterdatabaseachivelog; 4) 如果处于非自动归档状态则设为自动归档 SQL>>altersystemsetlog_archive_start=TRUESC OP E=s pfile; 5重新启动数据库 SQL>>shutdow nimmediate; SQL>>startu p; 2控制文件设置 每一个数据库都必须有一个控制档。它是一个小型二进制档案,用来描述 Oracle9i 实体结构。主要是储存数据库名称,数据库建立时间,资料文件名称 与所在位置,重置日志文件名称与所在位置,目前的日志序列码 (logsequeneenumber ),检查点信息。因此开启Oracle9i 数据库时一定要读取控 制文件才能取得所有数据库实体档案相关信息。 一旦控制文件不幸毁损,数据库 便无法顺利开启。也因为如此,控制档的管理与维护工作显得格外重要。 通常的设置建议为:每个数据库最好拥有两个以上控制档,并各自存放在不 同磁盘上。系统默认有三个控制文件 controlOl.ctI , control02.ctl , con trol03.ctl 。 如果需要增加更多的控制文件,最简单的方式就是先将既有控制文件复制到 目的位置,然后将控制文件名称加入起始参数档的 CONTROLFILE 之中()。同 理,如果想更改控制档名称,也可以先将控制文件复制到目的位置后予以更名, 再更新操作系统: 数据库:

Sybase数据库故障处理方法

Sybase数据库故障处理方法 一、 Sybsystemprocs 库“挂起”解决办法 1.修改文件,修改Sybase 数据库可以修改系统参数. 2.$ vi 查找“allow updates” ,将其修改为1.(缺省值为0). 既 allow updates to system tables=1 重新启动系统. 3.用isql 登录到sql server 中,修改 master库中sysdatabases 表中sybsystemprocs 库对应的 status 的值为-32768. $isql –Usa –P 1>update master..sysdatabases 2>set status = -32768 where name =”sybsystemprocs” 1>go 1>shutdown with nowait 2>go 关闭数据库重新启动. 4.用isql 登录到sql server 中,修改 master库中sysdatabases 表中sybsystemprocs 库对应的 status 的值为0. $isql –Usa –P 1>update master..sysdatabases 2>set status = 0 where name =”sybsystemprocs” 3>go 1>shutdown with nowait 2>go 关闭数据库重新启动.

5.将中的”allow updates to system”的值改为0. 二、如何恢复master数据库 ASE can't setup and has no valid dump of master 1、编辑RUN_servername 在命令行最后加入:-T3607 2、单用户模式启动ASE $cd install $startserver -f RUN_servername -m 3、bcp out系统表 $bcp master..sysdevices out /devs -Usa -P -c $bcp master..sysdatabases out /dbs -Usa -P -c $bcp master..sysusages out /usages -Usa -P -c $bcp master..syslogins out /logins -Usa -P -c $bcp master..sysconfigures out /configures -Usa -P -c $bcp master..syscharsets out /charsets -Usa -P -c 4、shutdownASE 5、创建新master设备 $buildmaster -d -s (new_master_device_size以2K为单位) 6、编辑RUN_servername 将指定master设备指定为新创建的master设备,并删除在第1步中增加的参数。 7、删除/dbs、/usages文件中有关master、tempdb、model的内容。

DM数据库日常维护管理规范

DM数据库日常维护管理规范 使用工具:DM数据库系统,linux系统,TongWeb 5.0 目的:数据库管理操作,TongWeb5.0部署 内容:数据库启动和关闭,备份和还原,数据迁移操作 一.DM数据库启动和关闭 图形方式: 【达梦数据库】——〉【DM控制台工具console】——〉【DM 控制台】——〉【DM 服务】 在其右侧框右键,【DM DATABASE SERVICE】状态即数据库系统启动/关闭。Linux 命令方式: 终端输入: 开启数据库: /etc/init.d/dmserverd start 关闭数据库: /etc/init.d/dmserverd stop 重启数据库:/etc/init.d/dmserverd restart 提示: 在命令模式下,输入#init 3 ,系统进入图形界面模式 在图形界面下,打开终端,输入#init 5,系统进入命令界面模式 #init 0 关闭服务器。

二.数据库备份和还原(图形界面下) 备份数据库: 方法1:DM数据库控制台console(需要关闭数据库运行) 1.进入DM数据库控制台console,停止DM数据库运行 2.右键【新建备份】 3.开启DM数据库运行,操作完成。 方法2:DM数据库管理工具 Manager(不需要关闭数据库运行) 1.进入DM数据库管理工具 2.选中数据库名称,右键选中【备份】 3.备份完成 PS:备份文件名统一格式:库名+服务器名+日期+时间+备份操作人首拼字母,如“RHIN-213-20110916-14h-cqy” 还原数据库: 方法1:dm控制台console还原(用于本地还原) 1.进入DM数据库控制台console,停止DM数据库运行 2.右键【从指定位置还原】,找到还原包,设置还原路径为DM程序默认安装路 径 3.开启DM数据库运行 4.打开【DB管理工具manager】——〉本地服务器——〉数据库——〉RHIN——〉用户——〉新添加RHIN用户信息和权限(若用户名已存在,则选择该用户名登陆权限,点确定;若不存在,则新建一个RHIN用户名)——〉完成。 5.操作完成。 方法2:脱机还原(用于远程还原) 1.通过CRT软件登录系统,后台命令关闭TongWeb5.0服务进程 2.登录DM数据库管理工具 Manager,备份数据库,名称为RHIN-A.bak,路径统 一为系统默认:/opt/dmdbms/data/ 3.右键数据库【脱机】 4.通过CRT将还原数据库包RHIN-B.bak放入/opt/dmdbms/data/下,重命名 RHIN-A.bak为其他,将RHIN-B.bak重命名为RHIN-A.bak 5.管理工具 Manager 脱机状态下,右键还原RHIN-A.bak 6.联机 7.重启DM数据库和TongWeb5.0应用。 8.完成。

日常工作中使用PowerBuilder和sybase遇到的问题

日常工作中使用PowerBuilder和sybase遇到的问题 (例子中的数据库名称为yanglao) 1.在PowerBuilder使用数据管道 在sybase中进行数据导入导出时,使用数据管道是最方便的一种方法,但也有缺点,数据量过大时,执行效率慢,甚至有时一张表需要几十个小时。如果Database Devices创建的不合理,数据库文件和日志文件不够大,在使用数据管道时,在途会停止操作。如果出现这种情况,先查看一下数据库的log space,如下图: 看一下Free(MB)是否有剩余,如果用完需要清楚日志。在SQL Advantage中执行下面语句:dump transaction yanglao with no_log 附数据管道的报错信息(百度中可搜索) Start()函数返回一个integer值时数据管道的运行是否成功,返回值的意义为: 1 函数执行成功 -1 打不开数据管道 -2 列数太多

-3 要创建的表已经存在 -4 要增加数据的表不存在 -5 未建立与数据库的连接 -6 参数错误 -7 列不匹配 -8 访问源数据库的sql语句致命错误 -9 访问目标数据库的sql语句致命错误 -10 已经达到指定的最大错误数 -12 不正确的表达法 -13 需要关键字、但未指定关键字 -15 数据管道已经在运行 -16 源数据库出错 -17 目标数据库出错 -18 目标数据库处于只读状态,不能写入数据 2.小写字符替换成大写字符 update table1 set sfz=str_replace(sfz,'x','X') str_replace(string要被替换的字符串, string用于替换的字符串,string替换成的字符串) 3.在sybase(版本sybase12.5)中创建database device后,找不到设备 业务情形:创建database后,重新启动数据库系统,在database device管理中找不到该设备。 原因:创建的设备超过2G 解决方法:将超过2G的设备进行分解,例如:需要建10G的设备的,可以建5个2G的设备 4.先打开workspace,再连接数据库报错: 提示信息为: DBMS SYC Adaptive Server Enterprise is not supported in your current installation 解决方法: 百度了许多中方法,都没有解决。自己给powerbuilder打上补丁,问题解决 5.关于sybase的客户端字符属性的问题 字符集的安装 设置默认字符 sp_configure 'default character set id',171 具体步骤: ?(这里SYBASE的安装路径为c:\sybase) c:\>cd \sybase\charsets\cp936 ?c:\sybase\charsets\cp936> charset -U用户名(默认sa) -P密码-S数据库服务器名称 binary.srt cp936 更改默认字符集为cp936(在SQL环境中). ?执行select name,id from syscharsets(会列出字符集对应的id号) ?找到name为cp936对应的id(假设为171) ?执行sp_configure "default character set id",171 6. 重启server两次(注:第一次启动后, server会自动宕掉,需要第二次重启后才能使用) 6.备份还原sybase数据库

解决Sybase数据库死锁

解决Sybase数据库死锁 2005-10-19 17:29 ChinaUnix 我要评论(1)字号:T | T 死锁的发生对系统的性能和吞吐量都有重要影响,经检测发现,管理信息系统的死锁主要是因为两个或多个线程(登录)抢占同一表数据资源。 AD: 死锁的发生对系统的性能和吞吐量都有重要影响,经检测发现,管理信息系统的死锁主要是因为两个或多个线程(登录)抢占同一表数据资源。引起长时间抢占同一资源不是因为我们需要处理的事务太复杂,时间太长,而往往是因为我们在前端应用程序对数据库作操作时忘了提交.本文介绍一种处理解决这种死锁的方法。 Sybase封锁原理 数据共享与数据一致性是一对不可调和的矛盾,为了达到数据共享与数据一致,必须进行并发控制。并发控制的任务就是为了避免共享冲突而引起的数据不一致。Sybase SQL Server并发控制的方法是加锁机制(LOCKING)。 锁的类型可申请的锁已有的锁 S U X S ∨∨× U ∨×× X ××× Sybase SQL Server有三种封锁类型:排它锁(exclusive lock,简称X锁);共享锁(share lock,简称S锁);更新锁(update lock,简称U锁)。这三种锁的相容矩阵表如下: ×:表示不兼容。∨:表示兼容。Sybase SQL Server是自动决定加锁类型的。一般来说,读(SELECT)操作使用S锁,写(UPDATE,INSERT和delete)操作使用X锁。U锁是建立在页级上的,它在一个更新操作开始时获得,当要修改这些页时,U锁会升级为X锁。 锁的力度 SQL Server有两级锁:页锁和表锁。通常页锁比表锁的限制更少(或更小)。页锁对本页的所有行进行锁定,而表锁则锁定整个表。为了减小用户间的数据争用和改进并发性,SQL Server 试图尽可能地使用页锁。 当SQL Server决定一个语句将访问整个表或表的大多数页时,它用表锁来提供更有效的锁定。锁定策略直接受查询方案约束,如果update或delete语句没有可用的索引,它就执行表扫描或请求一个表锁定。如果update或delete语句使用了索引,它就通过请求页锁来开始,如果影响

SQL Server数据库维护计划的实施步骤

作为网管员,无论其管理的网络的规模是大还是小,在日常的管理中除了维护网络平稳运行、及时排除网络故障、保护网络安全等工作以外,备份网络中关键数据也是其中的一个 非常非常重要的工作环节。 网络中的各种故障无非就分两种:软件故障和硬件故障。对于“硬件故障”可以通过维修或更换硬件设备得到及时解决;对于“软件故障”则可以通过重新安装或升级软件、重做网络或应用软件系统等方法及时解决,而且用此方法来解决网络故障大多需要一些基础的、关键的数据支持才能得以恢复正常。但是,网络中诸如此类的关键数据(特别是“应用软件系统”中的关键数据)的损坏或丢失,绝大部分是无法恢复和弥补的。即使可以恢复部分数据,弥补它们所花费的代价(诸如时间、人力、财力、物力等)都可能远远超出了公司的承受 能力。 所以说,注重数据的备份工作是网管员日常管理工作中的必须时刻关注的一项任务,也 是必须周期性重复操作的一项工作。 目录 现行备份策略 具体实现步骤 结束语 现行备份策略 我公司在组建局域网时,考虑到商业企业的特点,仔细考量了购、销、存三大环节中发生的各种数据及其存储问题后,选定了以Windows 2000 Server为操作系统,SQL Server 2000为数据库平台来搭建局域网的应用系统的软件平台,以网线为载体将购、销、存等核心部门的计算机通过局域网平台紧密地连接起来。这样,各个核心部门每天的任何一笔业务都及时地、动态地存储到公司局域网的核心Dell服务器上的SQL Server 2000数据库中,并以此 为基础平台向各方提供所需的各种数据服务。 因此,自公司局域网开始正式运作之日起,作为网管员的我就非常注重对局域网中的关键数据——特别是这些业务数据的备份工作。同时,我也希望备份数据的软件能够实现以下 自动功能。 功能1:能够在每天的某个固定的时刻(如夜晚0:00:00,当然这个时间是可以自主设定的)对包含所有业务数据库在内的所有关键数据库进行一次“完全备份”。 功能2:能够在每天的0:00:00至23:59:59这段时间内,每间隔1个小时对功能1中所涉及到的各个数据库的事务日志进行“差异备份”。

相关主题
文本预览
相关文档 最新文档