MYSQL启用日志和查看日志

MYSQL启用日志和查看日志
MYSQL启用日志和查看日志

MYSQL启用日志,和查看日志

mysql有以下几种日志:

错误日志: -log-err

查询日志: -log

慢查询日志: -log-slow-queries

更新日志: -log-update

二进制日志: -log-bin

是否启用了日志

mysql>show variables like 'log_%';

怎样知道当前的日志

mysql> show master status;

顯示二進制日志數目

mysql> show master logs;

看二进制日志文件用mysqlbinlog

shell>mysqlbinlog mail-bin.000001

或者shell>mysqlbinlog mail-bin.000001 | tail

在配置文件中指定log的輸出位置.

Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者c:\Windows 下。

Linux:Linux 的配置文件为 https://www.360docs.net/doc/524088814.html,f ,一般在 /etc 下。

在linux下:

Sql代码

1. # 在[mysqld] 中輸入

2. #log

3. log-error=/usr/local/mysql/log/error.log

4. log=/usr/local/mysql/log/mysql.log

5. long_query_time=2

6. log-slow-queries= /usr/local/mysql/log/slowquery.log

# 在[mysqld] 中輸入

#log

log-error=/usr/local/mysql/log/error.log

log=/usr/local/mysql/log/mysql.log

long_query_time=2

log-slow-queries= /usr/local/mysql/log/slowquery.log

windows下:

Sql代码

1. # 在[mysqld] 中輸入

2. #log

3. log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"

4. log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"

5. long_query_time=2

6. log-slow-queries=

"E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"

# 在[mysqld] 中輸入

#log

log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"

log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"

long_query_time=2

log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"

开启慢查询

long_query_time =2 --是指执行超过多久的sql会被log下来,这里是2秒log-slow-queries= /usr/local/mysql/log/slowquery.log --将查询返回较

慢的语句进行记录

log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query

log=mylog.log --对所有执行语句进行记录

sql server日志文件总结及日志满的处理办法

sql server日志文件总结及日志满的处理办法 交易日志(Transaction logs)是数据库结构中非常重要但又经常被忽略的部分。由于它并不像数据库中的schema那样活跃,因此很少有人关注交易日志。交易日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。对于任何每一个交易过程,交易日志都有非常全面的记录,根据这些记录可以将数据文件恢复成交易前的状态。从交易动作开始,交易日志就处于记录状态,交易过程中对数据库的任何操作都在记录范围,直到用户点击提交或后退后才结束记录。每个数据库都拥有至少一个交易日志以及一个数据文件。 出于性能上的考虑,SQL Server将用户的改动存入缓存中,这些改变会立即写入交易日志,但不会立即写入数据文件。交易日志会通过一个标记点来确定某个交易是否已将缓存中的数据写入数据文件。当SQL Server重启后,它会查看日志中最新的标记点,并将这个标记点后面的交易记录抹去,因为这些交易记录并没有真正的将缓存中的数据写入数据文件。这可以防止那些中断的交易修改数据文件。 维护交易日志 因为很多人经常遗忘交易日志,因此它也会给系统带来一些问题。随着系统的不断运行,日志记录的内容会越来越多,日志文件的体积也会越来越大,最终导致可用磁盘空间不足。除非日常工作中经常对日志进行清理,否则日志文件最终会侵占分区内的全部可用空间。日志的默认配置为不限容量,如果以这种配置工作,它就会不断膨胀,最终也会占据全部可用空间。这两种情况都会导致数据库停止工作。 对交易日志的日常备份工作可以有效的防止日志文件过分消耗磁盘空间。备份过程会将日志中不再需要的部分截除。截除的方法是首先把旧记录标记为非活动状态,然后将新日志覆盖到旧日志的位置上,这样就可以防止交易日志的体积不断膨胀。如果无法对日志进行经常性的备份工作,最好将数据库设置为"简单恢复模式"。在这种模式下,系统会强制交易日志在每次记录标记点时,自动进行截除操作,以新日志覆盖旧日志。 截除过程发生在备份或将旧标记点标为非活动状态时,它使得旧的交易记录可以被覆盖,但这并不会减少交易日志实际占用的磁盘空间。就算不再使用日志,它依然会占据一定的空间。因此在维护时,还需要对交易日志进行压缩。压缩交易日志的方法是删除非活动记录,从而减少日志文件所占用的物理硬盘空间。 通过使用DBCC SHRINKDATABASE语句可以压缩当前数据库的交易日志文件,DBCC SHRINKFILE语句用来压缩指定的交易日志文件,另外也可以在数据库中激活自动压缩操作。当压缩日志时,首先会将旧记录标记为非活动状态,然后将带有非活动标记的记录彻底删除。根据所使用的压缩方式的不同,你可能不会立即看到结果。在理想情况下,压缩工作应该选在系统不是非常繁忙的时段进行,否则有可能影响数据库性能。 恢复数据库 交易记录备份可以用来将数据库恢复到某一指定状态,但交易记录备份本身不足以完成恢复数据库的任务,还需要备份的数据文件参与恢复工作。恢复数据库时,首先进行的是数据文件的恢复工作。在整个数据文件恢复完成前,不要将其设为完成状态,否则交易日志就不会被恢复。当数据文件恢复完成,系统会通过交易日志的备份将数据库恢复成用户希望的

SQL Server 数据库清除日志的方法

SQL Server 数据库清除日志的方法 方法一: 1、打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_LOG 2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。 方法二: 设置检查点,自动截断日志 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存 2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定 3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据 方法三:通过SQL收缩日志 把代码复制到查询分析器里,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可 SET NOCOUNT ON DECLARE @LogicalFileNamesysname, @MaxMinutes INT, @NewSize INT USE tablename -- 要操作的数据库名 SELECT @LogicalFileName = 'tablename_log', -- 日志文件名 @MaxMinutes = 10, -- Limit on time allowed to wrap log. @NewSize = 1 -- 你想设定的日志文件的大小(M) -- Setup / initialize DECLARE @OriginalSizeint SELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileName SELECT 'Original Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB' FROM sysfiles WHERE name = @LogicalFileName CREATE TABLE DummyTrans (DummyColumn char (8000) not null) DECLARE @Counter INT,

Oracle数据库归档日志日常管理与建议

Oracle数据库归档日志日常管理与建议 1.简介 近日,项目组偶有发生归档日志占满归档目录空间导致数据库hang住(无响应),导致系统不能正常应用的情况。针对此类问题,笔者从Oracle数据库归档模式、归档模式的优缺点、归档日志日常管理方法等各方面浅析并整理出归档日志日常管理与建议。请各项目组依据实际情况,规范管理归档日志,排查相关隐患,以保证系统的正常高效运营。 另外,对于已开启数据库归档模式的项目组,若数据库管理权限不在我方,可将相关归档管理建议与当地运维部门充分沟通,避免归档的不当管理引起事故。 2.数据库归档模式与归档日志 2.1数据库运行模式简介 Oracle数据库包括归档模式与非归档模式两种运行模式。 一般情况下Oracle数据库的联机重做日志会记录对数据库所做的所有的修改,如创建对象;插入、删除、更新对象;删除对象等,这些操作都会记录在联机重做日志里。Oracle 数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满(假设为1)的时候,就会发生日志切换,这时联机重做日志组2(假设为2)成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,这样反复进行。 如果数据库处于非归档模式,联机日志在切换时就会被丢弃。而在归档模式下,当发生日志切换的时候,被切换的联机日志会被归档。 如当前在使用联机重做日志1,当1被写满时,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到一个指定的目录下。这个目录为归档目录,这个过程称之为归档,拷贝的文件叫归档日志。 2.2归档模式优点与归档日志作用 数据库运行在归档模式时,后台进程ARCH会将联机日志的内容拷贝到归档目录生成归档日志。 当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库。因此,开启归档模式及归档日志的益处与作用是非常明显的: 1.可以进行完全、不完全恢复。由于对数据库所做的全部改动都记录在日志文件中, 如果发生硬盘故障等导致数据文件丢失的故障,则可以利用物理备份和归档日志 完全恢复数据库,不会丢失任何数据。 2.可以进行联机热备。所谓联机热备,就是在数据库运行状态下,对数据库进行备 份,备份时用户对数据库的使用基本不受影响(不可避免的会对性能有负面影响)。 3.可以实施Data Guard。可以部署1个或多个备用数据库,从而最大限度地提供灾 难保护手段。

数据库的事务日志已满

数据库的事务日志已满。若要查明无法重用日志中的空间的原因 ,请参阅sys.databases 中的log_reuse_wait_desc 列 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. 1、清空日志 DBCC SHRINKFILE(库名_log,0) DUMP TRANSACTION 库名WITH NO_LOG 2、截断事务日志: 如果出现“未能在sysfiles 中找到文件库名_log'。 DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。” 则使用这句SQL操作 BACKUP LOG 库名WITH NO_LOG DBCC SHRINKFILE(2,0) 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 a、选择日志文件--收缩文件至,这里会给出一个允许收缩到的最小M数,确定就可以了 b、选择数据文件--收缩文件至,这里会给出一个允许收缩到的最小M数,,确定就可以了也可以用SQL语句来完成 --收缩数据库 DBCC SHRINKDA TABASE(库名) --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles DBCC SHRINKFILE(1) 4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)

a.分离数据库: 企业管理器--服务器--数据库--右键--分离数据库 b.在我的电脑中删除LOG文件 c.附加数据库: 企业管理器--服务器--数据库--右键--附加数据库 此法将生成新的LOG,大小只有500多K 或用代码: 下面的示例分离pubs,然后将pubs 中的一个文件附加到当前服务器。a.分离 EXEC sp_detach_db @dbname = '库名' b.删除日志文件 c.再附加 EXEC sp_attach_single_file_db @dbname = '库名', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名.mdf' 5.为了以后能自动收缩,做如下设置: 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" --SQL语句设置方式: EXEC sp_dboption '库名','autoshrink','TRUE' 6.如果想以后不让它日志增长得太大 企业管理器--服务器--右键数据库--属性--事务日志 --将文件增长限制为xM(x是你允许的最大数据文件大小) --SQL语句的设置方式: alter database 库名modify file(name=逻辑文件名,maxsize=20)

DB2_数据库日志管理

1、load 方法装入数据: export to tempfile of del select * from tablename where not 清理条件; load from tempfile of del modified by delprioritychar replace into tablename nonrecoverable; 说明: 在不相关的数据表export数据时,可以采取并发的形式,以提高效率; tablename指待清理table的名称; modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况; replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容; nonrecoverable无日志方式装入; 2、查找当前的应用: db2 list application grep btpdbs; 3、删除当前正在使用的application: db2 "force application (id1,id2,id3)" id1,id2,id3 是list显示的应用号; 4、查看当前应用号的执行状态: db2 get snapshot for application agentid 299 grep row 5、查看数据库参数: db2 get db cfg for //当前数据库可以省略 6、修改数据库的log数据: db2 update db cfg using <参数名> <参数值> 7、db2stop force的用法: 在进行bind的时候出现如下错误: sql0082can error has occurred which has terminated processing. sql0092nno package was created because of previous errors. sql0091nbinding was ended with "3" errors and "0" warnings. 主要是表文件被加锁,不能继续使用; 在进行stop的时候报错:db2stop 8/03/2005 21:46:530 0 sql1025nthe database manager was not stopped because databases are still active.

MSSQL2000中没有日志文件的数据库恢复方法

MSSQL2000 中没有日志文件的数据库恢复方法 由于种种原因, 我们如果当时仅仅备份了 mdf 文件,那么恢复起来就是一件 很麻烦的事情了。 如果您的 mdf 文件是当前数据库产生的,那么很侥幸,也许你使用 sp_attach_db 或者 sp_attach_single_file_db 可以恢复数据库,但是会出现类 似下面的提示信息 ########################################################## 设备激活错误。 物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有误。 已创建名为 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。 ########################################################## 但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也 许上述办法就行不通了。你也许会得到类似下面的错误信息 ########################################################## 服务器: 消息 1813,级别 16,状态 2,行 1 未能打开新数据库 'test'。CREATE DATABASE 将终止。 设备激活错误。物理文件名 'd:\test_log.LDF' 可能有误。 ########################################################## 当出现以上问题时,恢复的办法如下: A.我们使用默认方式建立一个供恢复使用的数据库(数据库名应该与要恢复 的数据库相同,如 test)。可以在 SQL Server Enterprise Manager 里面建立。 B.停掉数据库服务器。 C.将刚才生成的数据库的日志文件 test_log.ldf 删除,用要恢复的数据库 mdf 文件覆盖刚才生成的数据库数据文件 test_data.mdf。 D.启动数据库服务器。此时会看到数据库 test 的状态为“置疑”。这时候 不能对此数据库进行任何操作。 E.设置数据库允许直接操作系统表。此操 作可以在 SQL Server Enterprise Manager 里面选择数据库服务器,按右键,选 择“属性”, 在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。 也可以使用如下语句来实现。

几种清除MSSQL日志方法

方法一、 1 / 4

2 / 4 方法二、

MS SQL清除日志的命令 如何清除sql server 日志? 设置数据库为简单模式,自动收缩 1.打开查询分析器,输入命令 backup log databasename with no_log 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M 数,直接输入这个数,确定就可以了。 dbcc shrinkfile (databasename_log,truncateonly) 方法三、 1: 删除LOG 第1步:分离数据库企业管理器->服务器->数据库->右键->分离数据库 第2步:删除LOG文件 第3布:附加数据库企业管理器->服务器->数据库->右键->附加数据库 此法生成新的LOG,大小只有500多K 再将此数据库设置自动收缩 方法四、 EXEC sp_detach_db @dbname = 'pubs' EXEC sp_attach_single_file_db @dbname = 'pubs', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 方法五、 Use Database_Name Backup Log Database_Name With No_log dbcc shrinkfile (Database_Name_Log,truncateonly) Go 方法六、 直接在查询分析那里执行backup log databasename with no_log 然后回到企业管理器把数据库收缩一下(可能需另外设置属性) 3 / 4

数据库日志管理

一数据库日志文件管理 SQL SERVER日志清除的两种方法 在使用过程中大家经常碰到数据库日志非常大的情况,在这里介绍了两种处理方法...... 方法一: 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大。 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选 择你的数据库名称-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择"简单",然后按确定保存。 2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定。 3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据 方法二: 如果日志文件过于庞大,使用数据库收缩已经不能解决问题,可以考虑使用以下的方法。 对数据库进行分离,分离后将日志文件改名,然后重新附加数据库,此时会提示没有正确的日志文件,不要管,在附加过程中会重新生成日志文件。 完成后,在数据库属性中重新设置日志文件的大小,可设置为5G,这样就把原来的日志清除掉了。 注意:该方法在使用过程中,可能对数据库分离时间点上的数据有影响,因此,如果出现问题,请重新恢复该部分数据。或者在停止业务一段时间后再进行操作。 在SQL Server 2000企业管理器里面收缩数据库日志 操作环境:Windows 2000 Server 简体中文版+ sp4、SQL Server 2000标准版+sp4 任务描述: 在企业管理器里面收缩数据库日志 以下为操作截屏:

数据库系统形考选择题

数据库系统形考选择题 1.关于数据库管理系统的说法,错误的是( C )。 A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.关于用文件管理数据的说法,错误的是( D )。 A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率 3.数据库系统的物理独立性是指( D )。 A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 4.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是( B )。 A.数据库B.操作系统 C.应用程序D.数据库管理系统 5.数据库三级模式结构的划分,有利于(A )。 A. 数据的独立性 B. 管理数据库文件 C. 建立数据库 D. 操作系统管理数据库 6.在数据库的三级模式中,描述数据库中全体数据的逻辑结构和特征的是( B )。 A.内模式 B.模式 C. 外模式 D. 其他 7.在用数据模型描述数据时,一般要求数据模型要满足三个要求。下列描述中,不属于数据 模型应满足的要求的是( A )。 A.A.能够描述并发数据B.能够真实地模拟现实世界 B.C.容易被业务人员理解D.能够方便地在计算机上实现 8.数据模型三要素是指(B )。 A.数据结构、数据对象和数据共享 B.数据结构、数据操作和数据完整性约束 C.数据结构、数据操作和数据的安全控制 D.数据结构、数据操作和数据的可靠性 9.下列关于实体联系模型中联系的说法,错误的是( D )。 A.一个联系可以只与一个实体有关 B.一个联系可以与两个实体有关 C.一个联系可以与多个实体有关

附加数据库缺失日志

参考恢复方法: 1、停止数据库服务。 2、将需要恢复的数据库文件复制到另外的位置。 3、启动数据库服务。 4、确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。 5、新建同名的数据库(数据库文件名也要相同)。 6、停止数据库服务。 7、用第2步中备份的.mdf文件覆盖新数据库的同名文件。 8、启动数据库服务。 9、运行alter database AIS20180828035121 set emergency,将数据库设置为emergency mode --2.设置为单用户模式 alter databaseAIS20180828035121 set single_user --3.检查并重建日志文件 dbcc checkdb('AIS20180828035121',REPAIR_ALLOW_DATA_LOSS) --4.第步操作如果有错误提示,运行第步,没有错误则跳过 dbcc checkdb('AIS20180828035121',REPAIR_REBUILD) --5.恢复成多用户模式 alter database AIS20180828035121 set multi_user 10、运行下面的命令就可以恢复数据库: use master declare @databasename varchar(255) set @databasename='你的数据库名' exec sp_dboption @databasename, N'single', N'true'--将目标数据库置为单用户状态dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(@databasename,REPAIR_REBUILD) exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态 ---------------------------------------------------------------------------------------------------------- 如果你一切都顺得的话就如上的步骤就可以成功了,下面我们将对特殊的状态进行分析 ---------------------------------------------------------------------------------------------------------- 1、一个或多个文件与数据库的主文件不匹配。如果是尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则文件可能已损坏,应该从备份进行还原。 日志文件 'E:/Program Files/Microsoft SQL Server 2005/MSSQL.1/MSSQL/DATA/dnt2_db_log.ldf' 与主文件不匹配。该文件可能来自另一数据库,或者可能以前重新生成了日志。

K3数据库日志文件过大分析及解决方案V2.0要点

K/3数据库日志文件过大分析及解决方案 本期概述 ●本文档适用于金蝶k/3(使用SQL Server 2000、SQL Server 2005作为数据库)。 ●本文档主要阐述了,在K3备份过程中,遇到:”日志文件过 大,系统无法完成备份”的问题分析及解决方案。通过对本文档的学习,能够掌握这种问题产生的原因以及解决方法。 版本信息 ●2009年6月10日V11.0 编写人:周素帆 ●2009年6月日V11.0 修改人:

版权信息 本文件使用须知 著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。对于内容中所含的版权和其他所有权声明,您应予以尊重并在其副本中予以保留。您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。任何未经授权的使用都可能构成对版权、商标和其他法律权利的侵犯。如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。 著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。本文件中的内容也可能已经过期,著作权人不承诺更新它们。如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。 著作权声明著作权所有2009 金蝶软件(中国)有限公司。

所有权利均予保留。

目录 第一章报错现象及分析 (5) 一、报错现象 (5) 二、问题分析 (6) 三、关于日志文件 (6) 第二章解决方案 (8) 一、SQL 2000 (8) 1、执行数据库分离附加 (8) 2、数据库收缩操作 (18) 二、SQL 2005 (24) 1、分离附加数据库 (24) 2、收缩数据库 (27)

清除数据库日志

清除数据库日志方法 方法一、(注意,此方法必须数据库文件所在的磁盘分区剩余空间足够,不少于1.5G,,如没有达到此项要求,请使用第二种方法) 1.断开后台服务器的网络连接(最好是晚上歇业后)退出系统 2.打开SQL的企业管理器(开始程序Microsoft SQL Server 企业管理器) 3.选中当前所使用的数据库(假设数据库名为kmjxc_pro)右键所有任务,分离数据库,将 数据库分离如下图 步骤一: 步骤二

1.进入SQL数据库安装目录(假设安装在D盘)D:\Program Files\Microsoft SQL Server\MSSQL\Data,找到两个文件kmjxc_pro_Data.MDF和kmjxc_pro_Log.LDF,将kmjxc_pro_Log.LDF改为1kmjxc_pro_Log.LDF,kmjxc_pro_Data.MDF不动 2.附加数据如图示,选中D:\Program Files\Microsoft SQL Server\MSSQL\Data中的kmjxc_pro_Data.MDF 步骤三:

步骤五: 点确定后,系统将提示数据附加成功附加数据成功后,日志文件将被缩减有问题打电话

1. 打开SQL 的查询分析器,选择一个带机器名的服务名 2. 输入安装时的超级管理员密码,点“确定”进入查询分析器主界面 3. 在编辑窗口中输入如下语句 use master dump tran kmjxc with no_log DBCC SHRINKDATABASE (kmjxc, 10) go use kmjxc dump tran master with no_log go 选择带机器名的服务名

数据库在使用过程中会使日志文件不断增加

数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。 一、删除LOG 1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。 勾选删除连接

分离后在数据库列表将看不到已分离的数据库。 2、删除LOG文件 3、附加数据库,附加的时候会提醒找不到log文件。

删除数据库信息信息的ldf文件: 附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。 也可以通过命令才完成以上的操作: use master; exec sp_detach_db @dbname='TestDB'; exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf' 二、清空日志 该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。

DUMP TRANSACTION TestDB WITH NO_LOG 三、收缩数据库文件 DBCC SHRINKFILE ('TestDB_log',1) 四、截断事务日志 BACKUP LOG TestDB WITH NO_LOG 该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。 清除SQLServer2005的LOG文件 --最好备份日志,以后可通过日志恢复数据。。。 以下为日志处理方法 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. --*/ --下面的所有库名都指你要处理的数据库的库名 1.清空日志 DUMP TRANSACTION库名WITH NO_LOG 2.截断事务日志: BACKUP LOG库名WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 也可以用SQL语句来完成 --收缩数据库

数据库日志查看方式

SQL Server 在SQL Server7.0和SQL Server2000中,可以用下面的命令查看事务日志: DBCC log({dbid|dbname},[,type={0|1|2|3|4}]) 参数: Dbid or dbname-任一数据库的ID或名字 type-输出结果的类型: 0-最少信息(operation,context,transaction id) 1-更多信息(plus flags,tags,row length) 2-非常详细的信息(plus object name,index name,page id,slot id) 3-每种操作的全部信息 4-每种操作的全部信息加上该事务的16进制信息 默认type=0 要查看MSATER数据库的事务日志可以用以下命令: DBCC log(master) 错误日志 找到SQL server,点属性,点开advance选项卡,里面有个dump directory 后面那个目录就是你的日志文件存放的目录 这时你复制那个目录下来,在资源管理器中打开那个目录,里面的ERORRLOG就是日志文件啦,用记事本打开 Oracle Oracle日志查看 一.Oracle日志的路径: 登录:sqlplus"/as sysdba" 查看路径:SQL>select*from v$logfile;

SQL>select*from v$logfile;(#日志文件路径) 二.Oracle日志文件包含哪些内容:(日志的数量可能略有不同) control01.ctl example01.dbf redo02.log sysaux01.dbf undotbs01.dbf control02.ctl redo03.log system01.dbf users01.dbf control03.ctl redo01.log SHTTEST.dbf temp01.dbf 三.Oracle日志的查看方法: SQL>select*from v$sql(#查看最近所作的操作) SQL>select*fromv$sqlarea(#查看最近所作的操作) Oracle数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信息我们根本无法看懂,Oracle8i 后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。 四.LogMiner的使用: 1、创建数据字典文件(data-dictionary) 1).首先在init.ora初始化参数文件中,添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。如:UTL_FILE_DIR=($ORACLE_HOME\logs),重新启动数据库,使新加的参数生效: SQL>shutdown; SQL>startup; 2).然后创建数据字典文件 SQL>connect/as sysdba SQL>execute dbms_logmnr_d.build(dictionary_filename=>'dict.ora',dictionary_location=> '/data1/oracle/logs'); PL/SQL procedure successfully completed 2、创建要分析的日志文件列表 1).创建分析列表,即所要分析的日志 SQL>execute dbms logmnr.add logfile(LogFileName=>

数据库系统形考选择题

数据库系统形考选择题 数据库系统形考选择题 1.关于数据库管理系统的说法,错误的是 (C )。 A.数据库管理系统与操作系统有关,操作系统的类 型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操 作系统才能实现 C.数据库应用程序可以不经过数据库管理系统而直 接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放 位置和文件名 2.关于用文件管理数据的说法,错误的是 (D ) A.用文件管理数据,难以提供应用程序对数据的独

立性 B.当存储数据的文件名发生变化时,必须修改访问 数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全 控制 D.将相关的数据存储在一个文件中,有利于用户对 数据进行分类,因此也可以加快用户操作 数据的效率 3.数据库系统的物理独立性是指(D )。 A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储 结构 D.不会因为数据逻辑结构的变化而影响应用程序 4.数据库系统是由若干部分组成的。下列不属于数 据库系统组成部分的是(B )。 A.数据库 B.操作系统 C.应用程序 D.数据库管理系统 5.数据库三级模式结构的划分,有利于(A )。 A.数据的独立性 B.管理数据库文

件 C.建立数据库 D.操作系统管理数据 库 6.在数据库的三级模式中,描述数据库中全体数据 的逻辑结构和特征的是(B )。 A.内模式 B.模式 C.外模 D.其他 7.在用数据模型描述数据时,一般要求数据模型要 满足三个要求。下列描述中,不属于数据模型应满足的要求的是(A )。 A. A.能够描述并发数据 B.能够真实 地模拟现实世界 B. C.容易被业务人员理解D.能够方便 地在计算机上实现 8.数据模型三要素是指(B ) A.数据结构、数据对象和数据共享 B.数据结构、数据操作和数据完整性约束 C.数据结构、数据操作和数据的安全控制 D.数据结构、数据操作和数据的可靠性 9.下列关于实体联系模型中联系的说法,错误的是 (D )。

数据库运行管理规范

数据库运行管理规范 目录 1.总则 (3)

2.适用范围 (3) 3.数据库管理员主要职责 (3) 4.数据库的日常管理工作 (3) 5.数据库的安全管理 (5) 6.备份与恢复 (9) 7.日志及监控审计 (12) 8.数据存放、归档管理 (13)

1.总则 1.1为规范我司信息系统的数据库管理和配置方法,保障信息系统稳定安全地运行,特制订本办法。 2.适用范围 本规范中所定义的数据管理内容,特指存放在信息系统数据库中的数据,对于存放在其他介质的数据管理,参照相关管理办法执行。 3.数据库管理员主要职责 3.1负责对数据库系统进行合理配置、测试、调整,最大限度地发挥设备资源优势。负责数据库的安全运行。 3.2负责定期对所管辖的数据库系统的配置进行可用性,可靠性,性能以及安全检查。 3.3负责定期对所管辖的数据库系统的可用性,可靠性,性能以及安全的配置方法进行修订和完善。 3.4负责对所管辖的数据库系统运行过程中出现的问题及时处理解决。 3.5负责对所管辖数据库系统的数据一致性和完整性,并协助应用开发人员、使用操作等相关人员做好相关的配置、检查等工作。 3.6负责做好数据库系统及数据的备份和恢复工作。 4.数据库的日常管理工作 4.1每日的管理工作 4.1.1数据库管理员每天登录到服务器操作系统,进行如下检查工 作: (1)检查所有的数据库实例状态以及所有与数据库相关的后台进程。

(2)检查数据库网络的连通与否,比如查看监听器(listener)的状态、网络 能否ping通其它的计算机、应用系统的客户端能否连通服务器等等。 (3)检查磁盘空间的使用情况。如果剩余的空间不足 20% ,需要删除不用的文件以释放空间。 (4)查看告警文件有无异常。 (5)根据数据库系统的特点,检查其它的日志文件中的内容,发现异常要及时 加以处理。 (6)检查CPU、内存及IO等的状态。 (7)检查备份日志文件以及网络备份软件的监控记录,确定自动备份成功完成。对于数据库的脱机备份,要确信备份是在数据库关闭之后才开始的,备份内容是否齐全。运行在归档模式下的数据库,既要注意归档日志文件的清除,以免磁盘空间被占满,也必须注意归档日志文件的保留,以备恢复时使用。 (8)每天运行数据库管理控制台,检查数据存储空间的使用情况、剩余情况, 必要时,增大数据存储空间容量。对于使用量增加快的表空间要特别关注。 4.2数据库管理的每月工作 (1)收集数据库的性能统计数据,检查高速缓存区命中率、资源争用等统计信息,若不理想,设法加以分析改善。 (2)检查数据对象存储空间碎片情况,必要时加以调整。 (3)比较分析数据库系统和操作系统的CPU,内存,网络,及硬盘的利用率, 以此确定出近期将可能出现的资源争夺趋势,必要时加以调整,以避免系统资源的争夺,如果调整还达不到要求,须考虑增加新资源。 (4)检查每日数据库管理工作的执行情况,用户、数据对象存储空间增加删改 的记录是否齐全,备份记录、维护记录是否齐全,不足的及时补上。 4.3数据库管理的每年工作 (1)逐项检查每日、每月数据库管理工作的执行情况。用户、数据对象存储空 间增加删改的记录是否齐全,备份记录、维护记录是否齐全,不足的及时补上。 (2)对数据库系统运行的情况统计。

SQL数据库的日志文件清空

SQL数据库日志文件过大清理 方法一:只做清理不做备份 1、打开查询分析器,输入命令 DUMP TRANSACTION 数据库名WITH NO_LOG 2、再打开企业管理器--右键你要压缩的数据库—选择所有任务—选择收缩数据库—选择文件(或收缩文件)--选择日志文件--在收缩方式里选择收缩方式—点击确定—再点击确定。 补充说明:如果要将日志文件缩至指定大小,则需要选择【收缩文件至】,并填写大小XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,也可以。 方法二:可以进行手动备份 先分离数据库后,直接删除日志以后,然后在通过查询分析器执行下列语句进行附加数据库exec sp_attach_single_file_db '数据库名', '.mdf文件路径' 方法三:设置自动清除法 开放数据库选项Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQLServer自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。 方法四:通过sql语句进行手动清除法 执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志: 1、dump transaction with truncate_only 2、dump transaction with no_log 补充说明: 通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。 相关补充说明: 1.清空日志 DUMP TRANSACTION 库名WITH NO_LOG 2.截断事务日志: BACKUP LOG 数据库名WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M 数,直接输入这个数,确定就可以了 也可以用SQL语句来完成 --收缩数据库 DBCC SHRINKDA TABASE(客户资料) --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles DBCC SHRINKFILE(1)

相关文档
最新文档