sybase-系统管理员培训.ppt_第1页
sybase-系统管理员培训.ppt_第2页
sybase-系统管理员培训.ppt_第3页
sybase-系统管理员培训.ppt_第4页
sybase-系统管理员培训.ppt_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Sybase培训,1、sybase简介 2、sybase安装 3、数据库客户端与服务端配置 4、设备与数据库的管理 5、数据库的安全管理 6、系统参数设置与性能调优 7、数据库对象管理(sql语句) 8、浪潮通软常用表及结构 9、数据库备份与恢复 10、其他,主要内容:,一、Sybase 公司及其产品简介,美国sybase公司 取system+database相结合含义,十大软件供应商 ASE:Adaptive Server Enterprise:面向主流的数据库应用产品集 EBD:面向基于Internet架构的应用产品集 WAREHOUS STUDIO:面向决策支持 、商务智能应用产品集 iAnywhere、M-Business STUDIO:面向移动和嵌入计算的应用产品集 如何获取sybase的技术资料 ,SYBASE主要的三种版本:, UNIX操作系统下运行的版本 Novell Netware环境下运行的版本 Windows NT环境下运行的版本,一、Sybase 公司及其产品简介,Sybase数据库的特点:,基于客户/服务器(c/s)体系结构的数据库 其好处:1、支持共享资源且在多台设备间平衡负载 2、允许容纳多个主机的环境,充分利用了企业已有的各种系统 真正开放的数据库 高性能的数据库 体现在:1、可编程数据库 2、事件驱动的触发器 3、多线索化,一、Sybase 公司及其产品简介,Sybase数据库的组成:,进行数据库管理和维护的一个联机的 关系数据库管理系统: Sybase SQL Server 它是整个Sybase产品的核心软件,起着数据管理、高速缓冲管理、事务管理的作用 支持数据库应用系统的建立与开发的一组前端工具: Sybase SQL Toolset ISQL、DWB、APT 把异构环境下其它厂商的应用软件和 任何类型的数据连接在一起的接口: Sybase Open Client/Open Server 通过Open Client的DB-LIB库,应用程序可以访问SQL Server。而通过Open Server的SERVER-LIB,应用程序可以访问其它的数据库管理系统。,一、Sybase 公司及其产品简介,三、Sybase安装,服务器上安装SYBASE服务器端(数据库管理系统) 每台工作站安装SYBASE客户端 启动SYBASE服务(服务器中的控制面板管理工具服务:SQL SEVER服务;备份服务) 工作站与服务器的连接配置(DSEDIT) 连接测试(ping server),四、工作站与服务器的连接配置,基础:网络连通 配置工具:dsedit工具 配置内容:连接名 连接协议(SYBASE协议): NLWNSCK;NLMSNMP 地址(服务器的地址) NLWNSCK:服务器机器名,5000 NLMSNMP:机器名pipesybasequery,常见问题分析,客户端无法连接服务器 1。物理连接是否ping通 2。防火墙是否把5000的端口号屏蔽了 3。修改配置 4。登陆一下客户端的机器,六、设备与数据库,Sybase中的几个概念,数据库设备 所有的数据库都创建在数据库设备上。所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操作系统文件。增加一个新的数据库设备时,必须对这些设备“初始化”。初始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可以识别的设备 系统数据库 安装Sybase数据库时会自动生成的系统数据库 用户数据库 :用户自己创建的数据库存储实际数据 数据库对象,六、设备与数据库-设备管理,创建设备: 语法: disk init name=设备名, physname=物理文件名, vdevno=设备号,需要查询 size=设备大小 2k为单位 可以在任何一台工作站上执行创建设备 物理文件存放于服务器上,路径必须事先存在,文件不能事先存在,指定的驱动器上,必须有足够的空间。,每一个设备有唯一的设备号(0) 参数“number of devices”决定了系统中最多可以存在多少个设备 查找可用的设备号: sp_configure “number of device” 查看系统中最多可以有多少设备(有效设备号,有效不等于可用。) sp_helpdevice 查看系统中已经存在的设备信息(包括已经占用的设备号),六、设备与数据库-设备管理,设备大小单位为2K 设备大小=物理文件的大小 设备与文件一一对应 查看设备信息: sp_helpdevice 设备名 删除设备 sp_dropdevice 设备名 设备一旦创建,其大小就不能再改变,要删除设备必须先删除设备上的数据库,六、设备与数据库-设备管理,创建设备, 删除设备也可以通过sybase central 来操作, sybase central是图形化界面, 操作起来比较简单。,六、设备与数据库-设备管理,常见问题分析,无法正常创建第三套帐 删除多余的设备,或者修改账套编号,六、设备与数据库-Sybase数据库分类:,系统数据库:master,tempdb, model, sybsystemprocs 用户数据库:cwbase1,cwbaseN,Master是管理和控制用户数据库以及维护服务器正常运行的核心数据库,它保存了大量的系统信息,如服务器配置、用户、设备等。 注意:在master数据库中不允许普通用户在其中创建数据库对象,否则会使得master数据库的事务日志很快变满。如果事务日志用尽,就无法使用dump transaction命令释放master数据库中的空间,六、设备与数据库-Sybase数据库分类:,Master库,六、设备与数据库-Sybase数据库分类:,Tempdb是个临时数据库,为临时表和其他临时工作空间提供一个存储区域 。 Tempdb的空间为服务器中所有数据库的所有用户所共享 Tempdb的缺省大小是2M,由于企业管理软件中用到 的临时表比较多, 所以一般需要扩充, 在我们的软件, 第一次建帐就扩到了100M,Tempdb库,六、设备与数据库-Sybase数据库分类:,创建用户数据库而提供的模板 ,创建用户数据库时,自动拷贝一个Model数据库,并且根据给定参数, 扩展该用户库的尺寸,model 库,六、设备与数据库-Sybase数据库分类:,专门用来保存系统命令(存储过程)的数据库,如sp_help、sp_configure、sp_helpdevice等,sybsystemprocs库,六、设备与数据库-创建数据库,数据库用于存放数据与日志 创建数据库 语法:create database 数据库名 on 设备名1=大小 log on设备名2=大小 with overridefor load 数据与日志存放于同一设备时,要用with override参数 为改善性能,避免数据与日志争夺空间,数据与日志应放在不同的设备上。,六、设备与数据库-数据库管理,查看数据库信息 sp_helpdb 数据库名 Sp_renamedb 用来重命名数据库名字 例如: sp_dboption mm ,single,true use mm checkpoint sp_renamedb mm,nn use master sp_dboption nn,single,false use nn checkpoint,删除数据库 drop database 数据库名 扩充数据库大小 alter database 数据库名 on 设备名=大小 log on 设备名=大小,数据库大小只能扩大,不能缩小 彻底删除一个数据库,并释放其所占用的空间: 先删数据库,再删除设备,最后删除设备所对应的物理文件,释放空间。 SQL SERVER启动时,物理文件受保护,无法删除;服务停止,物理文件可以删除,文件删除,数据库中所有数据丢失,六、设备与数据库-数据库管理,创建、删除、扩充数据库操作均可以在sybase central工具中进行,六、设备与数据库-数据库管理,常见问题分析,数据库质疑或者recovery /*使系统数据表可改*/ sp_configure allow update,1 /*使数据库在启动时不做检查*/ update sysdatabases set status=-32768 where name=databasename /*清理日志*/ dump tran master with no_log dump tran databasename with no_log 然后重启数据库,就可解决问题。但还必须做一步: sp_configure allow update,0,七、数据库安全管理,Sybase通过对用户的管理,控制用户对数据的安全访问, 来实现其安全管理机制 系统管理员sa在系统创建时自动创建,空令默认为空。 管理层次:,Sybase帐户,数据库用户,Sp_addlogin,sa,Sp_adduser,操作数据库 中数据,Sybase系统,Cwbase1,cwbase2,wyx,Sybase帐户,wxx,yx,Cwbase1库 的用户 wxx,七、数据库安全管理,七、数据库安全管理-帐户与用户的操作,增加SYBASE帐户 sp_addlogin loginame,passwd,defdb 例:sp_addlogin wang,aaaaaa,cwbase1 创建组 sp_addgroup grpname 例:sp_addgroup zu1 增加用户,将SYBASE帐户加入到数据库中 use 数据库名 sp_adduser loginame,name_in_db,grpname 例:sp_adduser wang,wan,zu1 用户改变所属组: sp_changegroup newgrpname,username 改变帐户口令 sa改变自己口令:sp_password oldpasswd,newpasswd sa改变其他帐户口令:sp_password sa_password(null),newpasswd,loginame,删除SYBASE帐户 语法:sp_droplogin loginame 例:sp_droplogin wang 删除组 语法:sp_dropgroup grpname 例:sp_dropgroup zu1 删除用户: 语法:sp_dropuser username 例:sp_dropuser wan,七、数据库安全管理-帐户与用户的操作,分配权限 1、命令权力 授权:grant 权力清单 to 用户名 回收权力:revoke 权力清单 from 用户名 2、对象操作权 授权: grant 操作权 on 对象名 to 用户名 回收权力: revoke 操作权 on 对象名 from 用户名,七、数据库安全管理-帐户与用户的操作,常见问题分析,增加用户的时候提示:login failed 修改ad00?9999的口令 sp_password sa的口令,新口令,ad00?9999 举例: sp_password null,aaaaaa,ad0029999,软件常见问题,1。恢复数据后提示无法取得系统id或者进入维护工具提示找不到lsxtmc等 出现这种情况一般是id号不一致造成的。 解决方案:首先以sa连接数据执行下面的语句 Select * from syslogins where name=lc00?9999 (其中?表示账套编号)查看一下sid是多少 然后连接出问题的数据库,执行下面的语句 Select * from sysusers where name like lc% 查看该条记录的sid通常和前面的纪录是不一致的,修改成一致的即可,软件常见问题,2。年结的时候提示找不到*表(实际上数据没有问题),或者维护工具备份速度很快,备份不出数据。 这时候通常也是sysusers出现了问题 Select * from sysusers where name like lc% 查询会出现一条记录,其中name应该=lc00?9999 (?表示账套编号)如果查询结果和账套编号不一致就会出现上述问题,修改成一致的即可,八、系统参数设置与性能调优,SYBASE运行参数配置 用sp_configure配置SYBASE运行过程中的参 数 语法: sp_configure 参数名 查看参数配置值 sp_configure 参数名,参数配置值 修改参数配置值,需要重启动sql server服务使配置起作用(config valuerun value),八、系统参数设置与性能调优,Total memory :物理内存*35%*512 number of devices:10+帐套数*2256 number of open databases:4+帐套数 number of user connections:根据站点数及所用模块 number of open objects:按照默认值 可在帐套管理中修改。 sybase参数存放于“服务名.cfg”中,九、数据库对象概述,数据库中的表、视图、缺省、规则、触发器、索引、存储过程、用户自定义数据类型统称为数据库对象。 可以由该数据库中有权限的数据库用户、数据库属主或系统管理员(sa)来创建数据库对象。创建者成为该数据库对象的属主(拥有者)。 数据库对象名区分大小写 SYBASE中大小写敏感,九、数据库对象概述,数据库对象的引用格式: 数据库名.对象属主名.对象名 在当前数据库中操作本数据库的对象,可以省略数据库名。 操作当前连接用户所拥有的数据库对象时可以省略对象属主名。 在当前数据库中操作当前用户所拥有的数据库对象,数据库名、属主名均可省略,九、数据库对象概述-表,表,表结构,数据,列,每列属性,每列数据类型,常用数据类型 字符型:char(n),varchar(n) 数值型:numeric(p,s),int,float 日期时间型:datetime 列属性: Null not null,九、数据库对象概述-表,创建表结构 create table 表名 (列名1 列数据类型 列属性, 列名2 列数据类型 列属性, . ) 同一表中列名必须唯一 不同表中列名可以相同,九、数据库对象概述-表,修改表结构-增加列: Alter table table_name add 列名 列数据类型 null 如:alter table aa add name char(5) null 修改表结构-删除列: Alter table table_name drop 列1,列2, 如:alter table aa drop name,九、数据库对象概述-表,常见问题分析,在软件的操作过程中提示*无效,或者invalid column* 出现这种提示一般是数据库缺少提示的相应的字段,增加上即可。根据提示我们可以知道缺少的字段,但是缺少字段的类型我们如何确定呢? 一般我们可以通过建表sql来搜索。或者通过升级sql来搜索 确定了相应的数据类型后可以以lc00?9999(?表示账套编号)登陆数据库执行下面的语句 Alter table 表名 add 字段名 数据类型 null 这样问题就顺利解决了,修改表名字: sp_rename 表名,新表名 如:sp_rename aa,bb Sp_rename 还可以用来修改索引、视图等数据库对象的名字,九、数据库对象概述-表,系统表名 Sysconfigures Syscurconfigs Sysdatabases Sysdevices Syslocks Syslogins Sysmessages Sysprocesses,只有在master数据库中才能有的系统表,一行记录了用户可设置的配置参数 有关SQL Server当前正使用的配置参数情况 一行记录了SQL Server中的一个数据库 一行记录了数据库的每一磁带转储设备,磁盘转储设备, 数据库设备和磁盘分区设备和磁盘分区 有关动态锁的情况 一行记录了每一有效的SQL Server的用户帐号 一行记录了每一系统错误或警告 有关Server进程的情况,表中的内容,九、数据库对象概述-表,查看表结构 sp_help 表名 sp_help 查看当前库中所有表 删除表(表结构删除、表中数据丢失) drop table 表名 修改表结构 增加新列,且新列的属性为允许为空。 删除列,九、数据库对象概述-表,表中数据的操作 select Insert update delete 表中数据的操作只能在isql/sql advantage工具中写语句来完成,不能用sybase central工具,九、数据库对象概述-表,Select从表中查询数据 select * from 表名 select 列1,列2 from 表名 select 列1,列2 from 表 where 条件,九、数据库对象概述-表,条件表达式的书写: 大小比较:,=,=,!=,= 范围确定:between . and 列表:in 模糊匹配:like 通配符:% :通配任意个数任意字符 _ :通配一个数任意字符 :范围内的一个任意字符 多重条件:and ,or ,not,九、数据库对象概述-表,Select从表中查询数据 查询结果排序:order by 列1 asc/desc,列2 修改查询结果的显示标题 查询结果列间的计算 “+”:数值型相加;字符型连接 常用函数的使用count(),sum(),max(),min(),avg(),substring():修改编码结构 查询分组:group by 分组列 insert 与select连用,九、数据库对象概述-表,Select从表中查询数据 其基本句法为: Select select_list from table_list where search_conditions,九、数据库对象概述-表,1、简单查询 A、选择若干列 Select expression ,expression. From table_list B、选择若干行 Select * from table_list where search_conditions 注意:查询中消除值重复的行 Select distinct expression from table_list,九、数据库对象概述-表,2、连接查询 A、等值连接和不等值连接:通过=来比较两个表之间的数据时,称为等值连接;而通过其他比较符时,称为不等值连接 等值连接: Select * from publishers, authors where publishers.city=authors.city 不等值连接:略 B、自然连接: 在连接的目标列中相同名的列只保留一个 Select publishers.pub_id publishers.pub_name, publishers.state, authors.* From publishers, authors where publishers.city=authors.city,九、数据库对象概述-表,3、子查询 A、表达式子查询 Select au_lname, au_fname from authors where city= (select city from publishers where pub_name=“abcde“) 可以使用一切大小比较操作符;在操作符和子查询之间可以使用All 或any。 B、限定谓词子查询 Select pub_name from publishers Where pub_id in (select pub_id from titles where type=abcde) C、相关查询 相关查询即嵌套查询依赖于外部父查询的值,嵌套查询要重复执行若干次。 Select distinct t1.type from titles t1 Where t1.type in ( select t2.type from titles t2 where t1.pub_id!=t2.pub_id),九、数据库对象概述-表,4、集函数、分组与排序 A、对查询结果进行聚集处理 聚集函数: Sum(all|distinct expression),avg(all|distinct exoression) , Count(all|distinctexpression), count(*), max(expression), min(expression) Select count(*) from titles B、用Group by 和 having 子句对查询结果分组 Select type ,avg(advance), sum(total_sales) from titles group by type Select type from titles group by type having count(*) 1 Having 类似于where , 但where 不能用聚集函数。,九、数据库对象概述-表,C、用Order by 对查询结果进行排序 Select type ,avg(price) from titles group by type order by avg(price) D、Compute 子句 完成基于每一组中的值的聚集运算,聚集值作为一个新行出现在查询结果中。 Select type ,price advance from titles order by type compute sum(price), sum(advance) by type,九、数据库对象概述-表,insert向表中增加数据 语法:insert 表名(列1,列2.) values(值1,值2.) 一次向表中插入一行数据 插入的数据要与列的数据类型匹配 insert 表名 values(值1,值2.) 默认向表中所有的列插入数据,值的个数与表中列数要一致 向表中部分列插入数据,不出现的列其属性要允许为空 Insert与select连用可以实现一次向表中插入多行数据,九、数据库对象概述-表,Update 修改表中数据 Update 表名 set 列1=值, 列2=值, where 条件表达式 用一列的值去修改同一表中另一列的值 用一列的值去修改另一表中某列的值,九、数据库对象概述-表,Delete删除表中的数据 Delete 表名 删除表中的所有数据,表结构还存在 delete 表名 where 条件表达式 删除表中满足条件的数据,九、数据库对象概述-表,常见问题分析,查询提示无法找到查询格式,id=,gsbh=0001 这个时候是因为数据库中缺少相应的查询sql造成的, 我们可以通过查询相应的建账sql,执行相应的sql即可 另一种情况时没有任何提示,屏幕一闪而过,这个时候一般也是因为数据库没有相应的数据 查询涉及表 Lszbgs Lstigs Lsotgs,使用sybase的bin目录下的外部命令bcp 转出: bcp cwbase1.lc0019999.ZWPZK out d:ZWPZK.TXT -Usa -P -Ssybase -c 转入: bcp cwbase1.lc0019999.ZWPZK in d:ZWPZK.TXT -Usa -P - Ssybase -c 注:命令行中的-U后面是用户名sa,-P后面是sa的口令,-S后面是服务器的名字. Bcp只能转出一个表中所有数据,不能转出表中部分数据。转入的数据是添加到表中原数据的后面,而不是以覆盖的方式转入。 Bcp转出数据形成的文本文件是存放在本机上。,九、数据库对象概述-表,索引的作用: 加快对表中数据的查询速度 唯一索引可以保证表中数据的唯一性 索引的缺点: 占用空间 减慢表中数据的修改及删除速度,九、数据库对象概述-索引,创建索引 语法: create uniqueclustered/nonclustered index 索引名 on 表名(列1,列2.) unique:唯一索引,索引所基于的列不能有重复值。 Clustered:聚簇索引,改变数据存放的物理顺序,一个表只能有一个。 Nonclustered:非聚簇索引,不改变。,九、数据库对象概述-索引,数据库对象概述-索引,出现以下情况可以为表创建索引 经常用于检索、查询的列 用于两表连接的列 在表中建唯一索引可以增强数据的完整性 出现以下情况建议不要建索引 很少或不在查询中引用的列 只有两三个值的列(例如性别) 小表或者行数很小的表,查看索引 sp_help 表名 sp_helpindex 表名 删除索引 drop index 表名.索引名,九、数据库对象概述-索引,视图是个虚表,不存储实际数据,它的数据来自其他表或者视图 视图的作用 方便查询 提高行安全性 提高列安全性 语句: create view view_namecol_name, as select statement Drop view view_name,九、数据库对象概述-视图,触发器是一种特殊的存储过程,用来维护不同表中的相关数据的一致性。当在一张表中插入、删除和修改数据时,触发器就会触发另一个存储过程,从而保持数据的一致性。,九、数据库对象概述-触发器,规则是可以理解为对数据库、某一列、某用户数据类型的限制。 Create rule 规则名 as 变量=表达式 绑订:sp_bindrule 规则名,表.列名 规则必须绑订,规则才能生效。 解除绑订 sp_unbindrule 表.列名 删除规则 drop rule 规则名,九、数据库对象概述-规则,数据库对象概述-规则,举例: 创建一个值得规则 Create rule rul_name as state in (ca,co,wa) 注意它带有一个为前缀的参数 将规则与表的列(A.F_1)捆绑 Sp_bindrule “rul_name”,”A.F_1” 注意加引号,缺省是在数据录入时,若用户没有输入数据,SQL Server自动输入的值。 Create default 缺省名 as表达式 绑订:sp_binddefault 缺省名,表.列名 解除缺省 sp_unbindefault 表.列名 删除缺省 drop default 缺省名,九、数据库对象概述-缺省,存储过程是用T-SQL语言编写成的SQL子例程,它存储于SQL服务器上 供用户调用执行。与一般的SQL语句和批处理语句不同的是,存储过程是经过预编译的。当首次运行一个存储过程时,SQL Server的查询处理器将对其分析,并产生最终的执行方案。由于查询处理的大部分工作已经完成,所以以后执行存储过程时速度将会很快。执行存储过程时可带参数并可调用其他存储过程,执行完毕后返回信息以指示是否成功完成相应操作。存储过程有两种:一种是SQL服务器安装时自动建立的系统存储过程(系统过程),另一种是用户自己创建的存储过程。 系统过程是用于系统管理,并且为用户提供了从事数据库管理的一种途径。这些系统过程都是以sp_开头的,它们都放在master数据库中且隶属于sa(系统管理员) 。也有很多可以在任一个数据库中运行的系统过程。,九、数据库对象概述-存储过程,建立存储过程 create proc 过程名 as select_statement 调用存储过程: 直接写过程名,如果不是批处理的第一条命令,则要加“exec”。,九、数据库对象概述-存储过程,常见的系统过程有: Sp_addgroup 在当前数据库中建立一个数据库用户组 Sp_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论