sybase数据库

细说SYBASE数据库日志

不问归期 提交于 2020-04-03 13:51:07
细说SYBASE数据库日志   SYBASE公司是世界著名的数据库厂家,其关系数据库产品SYBASE SQL Server在中国大中型企事业单位中拥有大量的用户。笔者在多年的使用过程中,总结出SYBASE数据库管理和维护的一些经验,现拿出来与大家分享。   我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。事务是SQL Server的工作单元。一个事务包含一条或多条作为整体执行的T-SQL语句。每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。事务日志自动记录每个用户发出的每个事务。日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。    一、SYBASE SQL Server 如何记录和读取日志信息   SYBASE SQL Server是先记Log的机制。每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。这样就保证了整个数据库系统的一致性和完整性。    二、日志设备  

如何恢复只有完好数据文件的Sybase数据库

橙三吉。 提交于 2020-03-18 13:23:35
-、当一个数据库服务器无法启动及尽管服务开启但无法登陆时,其中的用户数据库怎么办。有一种万不得已的方法: ⊙卸载重新装数据库,在重装之前,需要将用户数据库数据文件备份出来,停止服务! ⊙以单用户方式启动数据库服务器。更改sybase安装目录下install下的RUN_(服务名).bat文件,在其后加-m参数: 如:e:\sybase\bin\sqlsrvr.exe -de:\sybase\DATA\MASTER.DAT -sXXJ -ee:\sybase\install\errorlog -ie:\sybase\ini -Me:\sybase -m 然后执行该批处理文件,启动服务器 ⊙运行isql -Usa –P -Dmaster:执行以下命令: 恢复设备: disk reinit name=’原来建立的设备名’,physname=’物理路径(可以与原来不一样’,vdevno=虚拟设备号(只要唯一就行),size=(以2k为单位) go 自动将设备与数据库绑定: disk refit go 在做完以上步骤后,可能会报告一些错误,同时数据库服务器进程终止。 ⊙仍以(且必须)单用户方式启动数据库服务器。这时候需要的用户数据库恢复了。 ⊙以正常方式重新启动数据库。将启动参数-m去掉。 来源: https://www.cnblogs.com/SharkXu/archive/2007/03

sybase备份与恢复及sybase常用语句

我是研究僧i 提交于 2020-03-18 13:22:47
sybase备份有两种方式,一种是对单表进行备份,一种是对整个数据库进行备份 1、单表备份与恢复 只需要使用sybase提高的bcp命令就可以了: bcp的命令格式: bcp 数据库名..表名 in/out 文件名字 -Usa –Ppassword -S SERVERNAME –c 解释: 数据库名为要备份的数据库名字 表名为要备份的表的名字 in/out 备份用out,恢复用in 文件名字:备份形成的文件或恢复需要的数据文件,要求包含文件的路径信息 password:sa的口令 servername:如本机器连接多个数据库服务器,则需要指定相应的数据库服务器 2、整个数据库的备份与恢复 这种方式相对比较复杂一点,需要在备份前启动sybase的备份服务,启动方式如下: startserver -f RUN_SYBASE //启动SYBASE服务 RUN_SYBASE: #!/bin/sh # # Master device path: /home/sybase/data/master # Error log path: /home/sybase/install/SYBASE.log # Directory for shared memory files: /home/sybase # Adaptive Server name: SYBASE # /home/sybase/bin

Sybase ASE 下用ddlgen导出表结构

拟墨画扇 提交于 2020-03-04 16:05:44
#Sybase ASE 用ddlgen导出表结构 如果要制作一个相同的数据库备份,但又担心现有的建库脚本跟已有数据库不一致,那就需要从已有数据库中导出一份一模一样的数据字典。 最常用的方法有如下2种: 1、采用PowerDesigner的反向工程来导出DDL。 2、采用Sybase自带的DDL生成工具ddlgen。 下面着重描述下ddlgen的用法。 ###1)程序所在目录(我的电脑里的路径,其他的在Sybase文件中找一下): windows平台下:C:\sybase\ASEP\bin\ddlgen.dell ###2)ddlgen用法: 如果对象结构中包含中文,使用参数: -Jcp936 比较实用的用法如下: 1、导出数据库tpchdb内所有表的表结构(包括索引): ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TU -N%.% -Jcp936 -O./tables.sql 2、导出数据库tpchdb内所有视图的创建语法: ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TV -N%.% -Jcp936 -O./views.sql 3、导出数据库tpchdb内所有存储过程的创建语法: ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TP -N%.%

zabbix通过ODBC监控sybase举例

≯℡__Kan透↙ 提交于 2020-02-28 11:10:42
本文用到的ODBC和freetds,请参考一下两个网址,进行安装: https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/odbc_checks https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/odbc_checks/unixodbc_mssql ODBC自动发现规则理论知识: https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/odbc_checks/unixodbc_mssql 说明: 用ODBC的freetds模板,能从zabbix服务器上远程监控sybase的一些信息,但是需要sybase的sql查询语句,同时仅通过zabbix的odbc监控,无法执行一些sp_命令,如sp_helpdb 。如需要使用sp_的命令监控,可以用python的pexpect模块模拟执行isql命令远程登录,然后执行查询sql语句。 1.在sybase数据上新建用于监控的普通用户 在sybase服务器上: (1).查看sybase进程 [size=12.0000pt]ps -ef | grep sybase (2

Sybase数据库常用sql语言

ε祈祈猫儿з 提交于 2020-02-13 22:39:42
Sybase数据库常用sql语言 1,表备份: --table_name1:需要备份的表; table_name2:备份后的表 SELECT * into table_name2 from table_name1 2,删除列: ALTER TABLE table_name DELETE column_name; 3,增加列: ALTER TABLE table_name ADD (column_name DATA_TYPE [NOT] NULL); 4,修改列的空与非空: ALTER TABLE table_name MODIFY column_name [NOT] NULL; 5,修改列名: ALTER TABLE table_name RENAME old_column_name TO new_column_name; 6,快速建立临时表: SELECT * INTO table_name_new FROM table_name_old; 7,修改表名: ALTER TABLE old_table_name RENAME new_table_name 8,增加主键约束: ALTER TABLE tb_name ADD CONSTRAINT pk_name PRIMARY KEY(col_name,..) 9,删除主键约束: ALTER TABLE tb_name DROP

sybase数据库环境搭建教程

我的未来我决定 提交于 2020-01-02 11:40:28
本案例为centos6.5操作系统,sybase数据库版本为15.7。安装操作系统不做详解 装完之后在root下 配置IP,改为动态获取,使其能链接网络 vi /etc/sysconfig/network-scripts/ifcfg-eth0 重启服务 service network restart 下载JDK安装包jdk-10.0.2_linux-x64_bin.rpm,放到/usr/local下 安装: rpm –ivh jdk-10.0.2_linux-x64_bin.rpm 执行以下操作,查看信息是否正常: java javac java –version 修改系统环境变量文件 vi + /etc/profile 向文件中追加以下内容: 使修改立即生效: source /etc/profile 查看系统环境状态 创建sybase用户 adduser sybase 创建sybase数据库安装包存放路径 mkdir /tmp/sybase 为安装包存放路径赋予权限 chown -R?sybase:sybase?/tmp/sybase 创建sybase数据库安装路径 mkdir /opt/sybase 为安装路径赋予权限 chown -R sybase:sybase?/opt/Sybase 把sybase数据库安装包ase157_linuxx86-64.tgz放到安装包存放路径

针对Sybase数据库无法启动的情况,我有话要说

♀尐吖头ヾ 提交于 2020-01-02 11:37:48
Sybase数据库特点: 1、基于客户/服务器体系结构的数据库 2、真正开放的数据库 3、一种高性能的数据库 Sybase数据库故障解决难点: Sybase数据库应用和本身的架构相对而言比较复杂,多数技术人员及公司对Sybase数据库底层结构和运行机制也处于并非完全了解的阶段,这就对Sybase数据库数据恢复和修复造成了很大的阻碍。那么当Sybase数据库出现严重的故障我们该如何解决呢? 任何系统和应用都要遵守计算机的计算和存储规则,只不过是某些概念和规则过于生涩,导致我们需要更多的时间和精力来学习和熟悉。这也是目前Sybase数据库数据恢复和数据修复方面的处境。 下面将以真实案例为例为大家介绍数据库无法启动该如何解决: 设备信息: 1、Sybase版本:SQL Anywhere 8.0 2、故障现象: 数据库无法启动。 3、错误提示如图: 然后使用 Sybase Central 连接后报错,经过分析得出的结论是:突然断电造成数据库无法回写正常数据,导致多个存储页数据不一致,系统表描述和存储表不一致,并有一些存储页底层数据完全杂乱。 于是我们在Sybase数据库底层把杂乱和错误的存储页进行修正,并对系统表部分信息进行更改。 繁重的Sybase数据库修复工作完成后,Sybase数据库已能成功启动,使用Sybase Central已能成功连接,经用户验证已无任何问题

Sybase 出错解决步骤

断了今生、忘了曾经 提交于 2020-01-01 02:09:54
总结: 1、出错该错误可以先检查一下Sybase BCKServer服务有没有启动 2、在dsedit看能否ping通备份服务 3、检查master库sysservers表的配置 4、如在备份数据库dump database时报这个错也是一样的方式去检查 5、以上语句可以在SQL Advantage执行,也可在CMD命令下执行: isql -Usa -Ppassword -Sservername 1>load database test from 'd:\test.dat' 2>go 恢复成功后再执行 1> online database test 2> go 如果将 ddl in tran 数据库选项设置为 true,则对于已经在相同事务中对其 执行了任何 DDL 操作的表,不能再以最少日志记录模式对其执行 DML 语句。该事务中的 DML 命令以 full 日志记录模式执行。 trunc log on chkpt该选项表示每当checkpoint检查进程执行时(通常每分钟12次以上),事务日志被载截,即将已提交的事务日志删除。 将该选项设置成true,以后,人工执行checkpoint操作时都不载截事务日志。 来源: https://www.cnblogs.com/IDRI/p/6015171.html

sybase客户端更换字符集

删除回忆录丶 提交于 2019-12-23 19:53:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、打开Sybase Central 连接上数据库,打开master数据库的syscharsets表,查看name列里面有没有CP936数据,如果没有,进入步骤二;如果有,操作步骤三。 二、运行 --> CMD 进入 DOS窗口 命令提示,进入目录 D:\sybase\charsets\cp936 (这是我的Sybase安装目录),输入命令 charset -Usa -P -S binary.srt cp936 三、按步骤一,打开master数据库的syscharsets表,查看name列CP936对应的id应该是171,在左边数据库服务器名上点(我的服务器名为GZLCL)“右键-->属性 --> 服务器配置 ”在“显示配置参数”中选择 “Langguages” ,“default character set id"填写171 ,“确定” 然后重新启动服务。 或者isql命令行:sp_configure "default character set id",171 四、配置locales.dat文件:文件路径为D:\sybase\locales\locales.dat 用记事本打开 找到 “[NT]” 将其默认字符集改为locale = default, us_english, cp936 这样在Sybase