我现在要试验并发控制,那我想问用以上的sys和linhaiwen用户名分别同时连接到服务器,我有一个employee表是sys用户的表,我操做如下: SQL> grant all on employee to linhaiwen 2 /授权成功。(我是在个人机子上)那这样我分别打开两个sql*plus的worksheet,其中一个用sys登陆,一个用linhaiwen登陆,分别要对employee表的记录做修改,这样算是一个用户(鉴于 jiezhi(西域浪子)所说, 只要以sysdba连接,用户事实上就是sys)sys,还是算是两个用户sys和linhaiwen在分别对表employee进行修改啊
不同的连接后,使用这句看看: SELECT USER, UID FROM DUAL;
SQL> connect sys/lin@lhw as sysdba 已连接。 SQL> SELECT USER, UID FROM DUAL;USER UID ------------------------------ ---------- SYS 0 SQL> connect linhaiwen/lin@lhw as sysdba 已连接。 SQL> SELECT USER, UID FROM DUAL;USER UID ------------------------------ ---------- SYS 0
在自己一台机子上如何创建两个用户,通过打开两个sqlplus worksheet分别登陆这两个不同的用户来验证并发控制啊,为什么上面sys和linhaiwen用户同时登陆后,用的SELECT USER, UID FROM DUAL;显示出来的uid怎么是一样的阿
呵呵,我用 SQL> grant sysoper to linhaiwen 2 /授权成功。 SQL> connect linhaiwen/lin@lhw as sysoper 已连接。 SQL> SELECT USER, UID FROM DUAL;USER UID ------------------------------ ---------- SYS 1 改变角色后登陆uid就变了,但是这时候我在linhaiwen这个sqlplus的worksheet上用了 desc employee 显示 ORA-04043: 对象 employee 不存在怎么会这样啊
为何已经grant all on employee to linhaiwen 授权成功。 connect linhaiwen/lin@lhw as sysoper 已连接。 SQL>desc employee ORA-04043: 对象 employee 不存在 急人啊
刚才试了一下 connect linhaiwen/lin@lhw as sysoper 已连接。 create table t1 (a varchar2(20), b number); 竟然显示 create table t1 * ERROR 位于第 1 行: ORA-01918: 用户'PUBLIC'不存在 sysoper 身份怎么变成什么public了,还不能建表,估计也是因为连表都不能建,故而给了它 grant sysoper to linhaiwen后 SQL>desc employee ORA-04043: 对象 employee 不存在 高手门啊,我的目的就是实现在同一台机子上,通过打开两个sqlplus worksheet分别登陆这两个不同的用户来验证并发控制啊,给电建议吧
SQL> grant all on employee to linhaiwen
2 /授权成功。(我是在个人机子上)那这样我分别打开两个sql*plus的worksheet,其中一个用sys登陆,一个用linhaiwen登陆,分别要对employee表的记录做修改,这样算是一个用户(鉴于 jiezhi(西域浪子)所说, 只要以sysdba连接,用户事实上就是sys)sys,还是算是两个用户sys和linhaiwen在分别对表employee进行修改啊
SELECT USER, UID FROM DUAL;
已连接。
SQL> SELECT USER, UID FROM DUAL;USER UID
------------------------------ ----------
SYS 0
SQL> connect linhaiwen/lin@lhw as sysdba
已连接。
SQL> SELECT USER, UID FROM DUAL;USER UID
------------------------------ ----------
SYS 0
SQL> grant sysoper to linhaiwen
2 /授权成功。
SQL> connect linhaiwen/lin@lhw as sysoper
已连接。
SQL> SELECT USER, UID FROM DUAL;USER UID
------------------------------ ----------
SYS 1
改变角色后登陆uid就变了,但是这时候我在linhaiwen这个sqlplus的worksheet上用了
desc employee 显示
ORA-04043: 对象 employee 不存在怎么会这样啊
授权成功。
connect linhaiwen/lin@lhw as sysoper
已连接。
SQL>desc employee
ORA-04043: 对象 employee 不存在
急人啊
connect linhaiwen/lin@lhw as sysoper
已连接。
create table t1
(a varchar2(20),
b number);
竟然显示
create table t1
*
ERROR 位于第 1 行:
ORA-01918: 用户'PUBLIC'不存在
sysoper 身份怎么变成什么public了,还不能建表,估计也是因为连表都不能建,故而给了它
grant sysoper to linhaiwen后
SQL>desc employee
ORA-04043: 对象 employee 不存在
高手门啊,我的目的就是实现在同一台机子上,通过打开两个sqlplus worksheet分别登陆这两个不同的用户来验证并发控制啊,给电建议吧
你可以在不加sysdba的情况下用select user from dual
和select count(*) from tab来验证一下你用1个用户名 同时打开两个sqlplus worksheet登陆,同时访问1个表不就可以了吗
你是这个意思吧
(user2)grant all on table1 to user1;(user1)select * from user2.table1;