云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_刺客信条电影百度云_稳定性好

小七 141 0

专属服务器_刺客信条电影百度云_稳定性好

目的本页提供处理SQL Anywhere的临时文件时有用的信息。

概要临时文件(sqla####.tmp)是SQL Anywhere数据库服务器启动时创建的、关机时删除的文件。如名称所示,用于在运行数据库服务器时保持临时信息。会话之间需要维护的信息不会保存在临时文件中。在执行sort、distinact、union等操作时,人工智能核心,无法确保足够的缓存量时,会被数据库服务器使用。

临时文件的保存位置使用TMP、TMPDIR或TEMP环境变量,或使用-dt数据库服务器选项指定(例如,dbeng16-dt"."指定为当前目录创建临时文件)。根据临时文件的保存位置不同,可能会影响性能。当数据库服务器使用临时文件的频率较高时,为了提高I/O的同时执行性,建议在独立的物理驱动器上配置临时文件。

与其他DBMS系统(Adaptive Server Enterprise或SQL Server)不同,SQL Anywhere没有临时数据库(tempdb)。创建的临时对象存储在临时文件中,关于大数据,但是不需要添加tempdb前缀来明确访问。

即使发生意外的系统崩溃或数据库服务器停机,也会继续保存临时文件,直到手动删除或其他数据库服务器启动并删除所有现有的临时文件。

与临时文件相关的SQL提示

确认临时文件的创建目标目录时:SELECT PROPERTY(‘TempDir’);确定临时文件的名称时:SELECT Value from sa_db_properties() WHERE propname = ‘TempFileName’;获取临时文件的当前大小(字节数):SELECT DB EXTENDED PROPRTY(‘FileSize’、‘temporary’)*PROPRTY(‘PageSize’);

可能存在与临时文件相关的问题根据生成的请求,数据库服务器可能会在短时间内发生大量的临时区域分配。在很多情况下,为了得到被要求的结果,需要这样的处理。但是,也有用户创建占用文件系统的运行网关查询的情况。此类查询可能会导致系统死机或故障等各种问题。

作为简单的例子,不附加JOIN条件,对3个表格执行SELECT的SQL语句如下所示。执行以下示例中的SQL语句时,执行时间可能会长达数分钟~数小时,数字千兆字节也会消耗临时文件区域。

一旦临时增加了临时文件的大小,为了减小尺寸,只能重新启动数据库服务器。因此,为了不发生这样的状况,建议事先实施对策。

防止意外尺寸增加的方法SQL Anywhere有两种数据库选项,用于控制临时文件的使用区域。TEMP SPACE LIMIT CHECK选项强制数据库服务器遵守区域限制值,MAX TEMP SPACE选项允许以大小为单位设置区域限制值。

例:

根据要求,平销返利,超过MAX TEMP SPACE指定的限制值时,临时文件的尺寸增加时,该请求将停止,并产生下一个错误。

为了应对此类错误,需要设计应用程序。指定特定的文件大小,以确保管理员对特定的文件进行监控。由此,管理者能够分析状况,防止文件系统的占有,避免系统故障的发生,物联网流量卡,大数据需要学习什么,采取必要的对策。

监视临时文件区域的使用情况除了使用数据库选项管理临时文件外,还可以通过监视数据库服务器来预先处理区域相关的问题。

SQL Anywhere支持系统事件。系统事件在满足特定条件时由数据库服务器启动。详情请参阅相关文档。

使用TempDiskSpace确认保存临时文件的设备的空闲磁盘空间量。在下面的例子中,使用TempDiskSpace事件,每当可用于临时文件的空磁盘空间量低于50%时,都会向数据库服务器的消息日志发送消息。

通过更改此事件,可执行任意SQL语句,或使用xp cmdshell等外部调用来发送电子邮件或执行其他处理。此事件生成的信件示例如下所示。

确定运行网关要求的方法在SQL Anywhere中,每一个数据库连接都准备了一系列动态属性,可以作为确定运行网关请求的手段来使用。通过对该属性值进行时间分析,可以确认每个连接的临时文件的使用情况,也可以简单地确定运行路径连接。

以下所示为创建sa tempfile monitor表(不存在时)并存储与数据库连接相关的属性的SQL语句的示例。通过将同一句话添加到上述TempDiskSpace事件中,可以设定为每次磁盘空间容量低于50%时自动执行,而不是手动执行。

要执行本示例中所示的语句,必须使用-zl和-zp选项启动数据库服务器。通过各选项,在数据库服务器中获取最新的SQL准备语句。启动数据库服务器时指定各个选项(例.dbsrv16…-zl -zp …),如果数据库服务器已经运行,则使用以下SQL语句启用每个选项。关于运行过程中的信息,请参阅。

"TempTablePages"、"TempFilePages"–通知每个连接的临时文件的使用情况(页数)"LastStateent"、"LastPlaneText"、"目前Proceedure"、"目前LinkeNumber"–在确定此时正在执行的SQL请求时有用的信息

在数据的收集后执行查询,由此导致了临时文件的尺寸增加的连接和在该时刻执行的处理。例:

Number表示连接ID,UserID表示数据库用户。

确定了导致问题的连接后,执行以下语句(2表示连接ID),确认问题发生时执行的SQL语句。

确认造成问题的句子后,会进行实际修改。

示例:1.在命令提示中执行以下命令,启动样本数据库。

2.执行2次以下命令,打开2个Interactive SQL窗口。

3.在最初的Interactive SQL窗口中,执行以下查询,模拟运行网关请求。

在第4.2个Interactive SQL窗口中,执行以下语句。

通过该查询,返回使用最多的临时表页面所需的连接ID。5.执行以下查询。

在各语句中,会显示关于通过连接处理的内容的详细内容。基于此信息,确定并实际修改导致运行过程的代码部分。