sybase参考手册(如何设置Sybase的用户权限来处理进程)
本文目录
- 如何设置Sybase的用户权限来处理进程
- sybase bcp 命令
- 怎么把sybase数据库中的表导成txt文本要批量导出
- 怎样导出sybase数据库的所有库结构和表结构的建库的sql语句
- 如何把sybase数据库从12.5版本升级到15版本
如何设置Sybase的用户权限来处理进程
在使用Sybase数据库的过程中,我们经常会遇到Sybase数据库系统上锁的情况,而多数情况下,用户必须通过超级用户身份登录系统,以处理该进程。通常为了保障Sybase数据库系统的安全性,超级用户口令往往掌握在数据库管理员的手中。 当上述情况发生时,如果数据库管理员不在现场或无法通过其他方式进行处理时,口头告知密码虽然可以解决一时的燃眉之急,但数据库系统的安全无疑会受到严重的威胁;而重新启动Sybase数据库系统也是一种解决的方法,不过这种作法很有可能造成数据库中数据的丢失,甚至导致用户数据库的崩溃,不到万不得已,请不要使用此方法。 如果能够对用户权限加以设置,使普通用户也能够进行进程的处理,而又不用知晓Sybase数据库系统的超级用户密码,无疑是处理上述问题的解决方法。现在,笔者就把针对上述情况的整个处理过程详细介绍给大家,以供参考。当然,您可以根据自己的需要设置普通用户密码,也可以限制更多的内容来处理数据库系统中的进程。具体的处理过程如下文所示。 1.使用C语言编写一个程序如下。 #include stdlib.h》 #include string.h》 #include fcntl.h》 #include time.h》 #include sys/types.h》 char *passwd() /*普通用户需要的密码: 简单加密后字符串*/ { struct tm *tp; long secs; char *buff; buff=(char *)malloc(30); secs=time((long *)0); tp=localtime(&secs); sprintf(buff,"%02d%02d%d",tp-》tm_mon+1+9,tp-》tm_mday+2,8); return(buff); } main() { char str1; int i; printf("passwd:"); system("stty -echo"); /* 不显示*/ gets(str1); system("stty echo"); for(i=3;i《 9;i++)str2; /*截取输入6个字符*/ str2=’\0’; if (strcmp(str2,passwd() ) ){ printf("passwd error!\n"); exit(1); } setuid(0); system("/sybase/atuo/sybase_kill"); printf("\n"); } 然后进行编译。 #cc c.c -o kill-spid2.对产生的目标文件设置用户的“s”权限。 #chmod u+s obj-name3.将目标文件放置在执行用户的任意目录下,例如,tmp目录。 4.执行文件“sybase-kill”应该存放在仅可以允许访问该文件的目录下,并设置其权限。例如,只允许Sybase用户可以进行读写。 # mkdir /sybase/auto #chmod 700 /sybase/atuo #chmod g+t /sybase/atuo #chown sybase:sybase /sybase/atuo #cd /sybase/atuo5.sybase-kill文件内容,具体如下。 trap ’’ 1 2 3 9 15 #设置屏蔽信号,目的是不允许中断产生。 for pid in ` echo "set nocount on \n select distinct blocked from master..sysprocesses where blocked》0 \ngo"|isql -Uaaa -Paaaaaa -w200 -SFEBS|sed "1,2d" ` do echo "Kill "$pid isql -Usa -w200 -Sserv_name 《 《 EOF password123321 kill $pid go EOF done echo "ok" 上述内容会处理所有阻塞的进程,不管是否最终是由它引起的。当然,您也可以找出是谁引起的阻塞,然后再处理该进程,仅仅通过修改其“sybase-kill”文件内容即可完成。]
sybase bcp 命令
SYBASE数据库方面BCP说明: BCP是SYBASE公司提供专门用于数据库表一级数据备份的工具。 一般存放在所安装的ASE或者Open Client 的BIN目录中。 12版本以前的ASE,bcp存放目录为 $SYBASE/bin。 12版本(含12版本)以后存放目录为 $SYBASE/OCS-12_x/bin。 其中$SYBASE为SYBASE安装目录,12_x代表12.0、12.5版本,显示为12_0或者12_5。 可执行文件名称为bcp.EXE。 参数列表如下: (可用 bcp 得到) usage: bcp {in | out} datafile 常用数据备份格式为: bcp dbname..tablename out c:\temp\filename -Usa -Ppassword -Sservername -c 即可。 其中 -U后为SYBASE登录名称,-P后为SYBASE登录口令,-S后为SYBASE服务名称,-c代表使用可见文本方式导出数据 如果为数据恢复只需要将out 替换为 in 即可。 可用如下方法生成一个可以一次导出一个数据库中所有表的数据的执行脚本。 一个如下文本文件 文件名称例为 bcpscript: use dbname 选中将要导出数据的数据库 go select ’bcp dbname..’ + name + ’ out c:\temp\’ + name + ’ -Usa -P -Ssybcdsrv -c’ from sysobjects where type = ’U’ 在sysobjects系统表中type为U的表为用户表,系统表为S。 go
怎么把sybase数据库中的表导成txt文本要批量导出
表导入 批处理bcp 数据库..表名 in c:/data/表名.txt -Usa -P -c表导出 批处理bcp 数据库..表名 out c:/data/表名.txt -Usa -P -c前提:路径文件夹已存在
怎样导出sybase数据库的所有库结构和表结构的建库的sql语句
1、在Toad for MySQL中打开数据库连接。
2、选中要操作的数据库。
3、此时显示已有的所有表。
4、点击选中要查看的表。
5、点击【script】标签页。
6、此时可查看到表的建表SQL语句。
注意事项:
Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。
如何把sybase数据库从12.5版本升级到15版本
应该是可以降级的,具体可以参考一下帮助手册,另外任何升级降级的动作都是有风险的,操作前做一个全备份。
更多文章:
非洲人比欧亚人种更强壮,那么为什么历史上没有出现强大的帝国?《纪元1800》为何被称作工业帝国主义版的《方舟:生存进化》
2024年7月24日 08:13
lol黑色切割者(LOL黑色切割者和最后的轻语两者之间谁破甲更厉害)
2024年7月1日 07:26
仓鼠球2010中文版(仓鼠球2010中文版赛跑派对键盘怎么按)
2024年7月8日 16:34
qq透明皮肤情侣的(怎样制作QQ2012透明皮肤啊急急急急!!!我下载的情侣空心版QQ透明皮肤的补丁,哪位哥哥姐姐教教我!)
2024年8月24日 12:22
tiny tower(微型摩天塔 Tiny Tower的游戏攻略)
2024年6月12日 11:21
电脑防火墙怎么设置才能上网(windows10网络防火墙怎么设置在哪)
2024年8月31日 22:45