rs使用验证,ken的小功能
2015-12-01 15:45
323 查看
用非sa的用户ken登录,如果ken拥有create的权限,那么他也应该拥有alter和drop的权限。这里是对这一性能的验证。
使用sa用户登录rs,创建ken用户,并给他create的权限。
[jieniz@replinuxb10 rs_sync_rep_mats_hp]$ isql -U sa -P Sybase123 -S REPQ2_14638_REP -I interfaces
1> create user ken set password sybase
2> go
User 'ken' is created.
1> grant create object to ken
2> go
Permission granted to user 'ken'.
1> exit
用ken用户登录,使用create,alter,drop的功能。
[jieniz@replinuxb10 rs_sync_rep_mats_hp]$ isql -U ken -P sybase -S REPQ2_14638_REP -I interfaces
1> create replication definition REPDEF with primary at ETLWIN08SP2X64CN.PDB
2> with all tables named TEST(id int, msg char(300)) primary key (id)
3> go
Msg 15094, Level 12, State 0:
Server 'REPQ2_14638_REP':
ETLWIN08SP2X64CN.PDB is not defined to the Replication Server.
这里可以看到create功能失败,因为ETLWIN08SP2X64CN.PDB这个route不存在,所以我们可以用admin who这个命令来查看一下现在活跃的route有哪些,然后使用一个活跃的route来创建replication definition。
1> admin who
2> go
Spid Name State
Info
---- --------------- --------------------
------------------------------------------------------------
34 DSI EXEC Awaiting Command
101(1) repq3_14638.tdb3
22 DSI Awaiting Message
101 repq3_14638.tdb3
26 DIST Awaiting Wakeup
101 repq3_14638.tdb3
32 SQT Awaiting Wakeup
101:1 DIST repq3_14638.tdb3
17 SQM Awaiting Message
101:1 repq3_14638.tdb3
16 SQM Awaiting Message
101:0 repq3_14638.tdb3
35 REP AGENT Awaiting Command
repq3_14638.tdb3
36 DSI EXEC Awaiting Command
103(1) repq0_14638.tdb1
23 DSI Awaiting Message
103 repq0_14638.tdb1
27 DIST Awaiting Wakeup
103 repq0_14638.tdb1
33 SQT Awaiting Wakeup
103:1 DIST repq0_14638.tdb1
19 SQM Awaiting Message
103:1 repq0_14638.tdb1
18 SQM Awaiting Message
103:0 repq0_14638.tdb1
8 REP AGENT Awaiting Command
repq0_14638.tdb1
21 RSI Awaiting Wakeup
REPQ4_14638_REP
20 SQM Awaiting Message
16777318:0 REPQ4_14638_REP
37 RSI USER Awaiting Command
REPQ4_14638_REP
24 dSUB Active
6 dCM Awaiting Message
14 dAIO Awaiting Message
28 dREC Sleeping
dREC
15 dDELSEG Awaiting Message
47 USER Active
ken
5 dALARM Awaiting Wakeup
29 dSYSAM Sleeping
我们使用repq3_14638.tdb3这个route来验证对replication definition的操作。
1> create replication definition ken_test_rd with primary at repq3_14638.tdb3
2> with all tables named ken
3> (c1 int, c2 char(10))
4> primary key(c1)
5> go
Replication definition 'ken_test_rd' is created.
1> alter replication definition ken_test_rd replicate all columns
2> go
Replication definition 'ken_test_rd' is altered.
1> drop replication definition ken_test_rd
2> go
Replication definition 'ken_test_rd' is dropped.
1>
这里有一个很有意思的事情,就是,开发的测试的角度问题。我接到这个任务的时候,首先想到的是,在创建ken这个用户的时候,给他直接赋予alter和drop的权限,但是其实我并不能给ken赋权限,我甚至不能创建ken,因为我是测试,我只需要测试软件是不是有这个功能(即ken能不能进行alter和drop),我需要写的是这样一个测试用例。
使用sa用户登录rs,创建ken用户,并给他create的权限。
[jieniz@replinuxb10 rs_sync_rep_mats_hp]$ isql -U sa -P Sybase123 -S REPQ2_14638_REP -I interfaces
1> create user ken set password sybase
2> go
User 'ken' is created.
1> grant create object to ken
2> go
Permission granted to user 'ken'.
1> exit
用ken用户登录,使用create,alter,drop的功能。
[jieniz@replinuxb10 rs_sync_rep_mats_hp]$ isql -U ken -P sybase -S REPQ2_14638_REP -I interfaces
1> create replication definition REPDEF with primary at ETLWIN08SP2X64CN.PDB
2> with all tables named TEST(id int, msg char(300)) primary key (id)
3> go
Msg 15094, Level 12, State 0:
Server 'REPQ2_14638_REP':
ETLWIN08SP2X64CN.PDB is not defined to the Replication Server.
这里可以看到create功能失败,因为ETLWIN08SP2X64CN.PDB这个route不存在,所以我们可以用admin who这个命令来查看一下现在活跃的route有哪些,然后使用一个活跃的route来创建replication definition。
1> admin who
2> go
Spid Name State
Info
---- --------------- --------------------
------------------------------------------------------------
34 DSI EXEC Awaiting Command
101(1) repq3_14638.tdb3
22 DSI Awaiting Message
101 repq3_14638.tdb3
26 DIST Awaiting Wakeup
101 repq3_14638.tdb3
32 SQT Awaiting Wakeup
101:1 DIST repq3_14638.tdb3
17 SQM Awaiting Message
101:1 repq3_14638.tdb3
16 SQM Awaiting Message
101:0 repq3_14638.tdb3
35 REP AGENT Awaiting Command
repq3_14638.tdb3
36 DSI EXEC Awaiting Command
103(1) repq0_14638.tdb1
23 DSI Awaiting Message
103 repq0_14638.tdb1
27 DIST Awaiting Wakeup
103 repq0_14638.tdb1
33 SQT Awaiting Wakeup
103:1 DIST repq0_14638.tdb1
19 SQM Awaiting Message
103:1 repq0_14638.tdb1
18 SQM Awaiting Message
103:0 repq0_14638.tdb1
8 REP AGENT Awaiting Command
repq0_14638.tdb1
21 RSI Awaiting Wakeup
REPQ4_14638_REP
20 SQM Awaiting Message
16777318:0 REPQ4_14638_REP
37 RSI USER Awaiting Command
REPQ4_14638_REP
24 dSUB Active
6 dCM Awaiting Message
14 dAIO Awaiting Message
28 dREC Sleeping
dREC
15 dDELSEG Awaiting Message
47 USER Active
ken
5 dALARM Awaiting Wakeup
29 dSYSAM Sleeping
我们使用repq3_14638.tdb3这个route来验证对replication definition的操作。
1> create replication definition ken_test_rd with primary at repq3_14638.tdb3
2> with all tables named ken
3> (c1 int, c2 char(10))
4> primary key(c1)
5> go
Replication definition 'ken_test_rd' is created.
1> alter replication definition ken_test_rd replicate all columns
2> go
Replication definition 'ken_test_rd' is altered.
1> drop replication definition ken_test_rd
2> go
Replication definition 'ken_test_rd' is dropped.
1>
这里有一个很有意思的事情,就是,开发的测试的角度问题。我接到这个任务的时候,首先想到的是,在创建ken这个用户的时候,给他直接赋予alter和drop的权限,但是其实我并不能给ken赋权限,我甚至不能创建ken,因为我是测试,我只需要测试软件是不是有这个功能(即ken能不能进行alter和drop),我需要写的是这样一个测试用例。
相关文章推荐
- eclipse手动导入dtd文件
- 数据库分库分表(sharding)系列(四) 多数据源的事务处理
- PHP远程获取网页内容
- hdu 2952 田字格四个方向的深度优先搜索 计算连通分量
- 无法连接到 WMI提供程序的解决办法
- ANDROID垃圾回收器机制和强引用、软引用、弱引用、虚引用
- ListView中的滚动事件及自动翻页功能
- struts国际化
- The Zen of Python
- 重写系统中的UINavigationController返回按钮的事件
- 认识基本的mfc控件
- xcode Pch文件创建及添加
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
- Middleware详解
- Android 图文混排
- Oracle存储过程和程序包
- 分享5款最实用的jQuery时间轴插件
- [leetcode] 279. Perfect Squares
- eventbus打包混淆问题
- 怎么让Android 浏览器焦点在文本输入框时不自动放大页面?