Oracle connect命令连接另一个用户后立马断开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle connect命令连接另一个用户后立马断开相关的知识,希望对你有一定的参考价值。

使用的软件是sql developer
执行语句如下:
create user xiao identified by xzp123;
grant connect to xiao;
connect xiao/xzp123@School;

输出:
Connected
由 CONNECT 脚本命令创建的连接已断开

如果上面三个命令式放在一起执行的,那么@school应该不用写吧。

可能是connect角色权限有什么问题了,你直接授予一个create session的权限试一试,反正connect只有这么一个权限。

也可能是你应该使用一般dba用户授予的权限吧,这个dba用户的默认表空间应该不是system,你把xiao这个用户的默认表空间也设定下,可能就问题不大了。
打字不易,如满意,望采纳。追问

这是之前网友给我的答案。。。没用。

参考技术A oracle sql developer 应该是不支持这么切换登录用户的。

只能使用新建数据库连接那么实现。追问

确定不行吗?什么是新建数据库连接?

追答

是的,我试过,和你的问题一样,确实不行。

而且,connect过后的窗口中,旧的连接仍然可用,说明新的连接肯定没有创建。

参考技术B 你用sqlplus来操作,就可以看见具体的错误信息了,
pl/sql developer把错误信息都屏蔽掉了。追问

用sqlplus的话是可以连接的上的

CONNECT 脚本命令创建的连接断开

【中文标题】CONNECT 脚本命令创建的连接断开【英文标题】:Connection created by CONNECT script command disconnected 【发布时间】:2014-11-28 18:58:27 【问题描述】:

我对 sql/programming 比较陌生,所以如果我在这里使用了错误的术语,我深表歉意。我在 AWS 中构建了一个远程数据库来练习构建和查询。我已经创建了表、角色和用户。下面是建立第一个测试用户和输出的代码。我得到了上面列出的输出,并且我仍然以用户 ORACLEUSER(我在建立 AWS 连接时建立的名称)的身份保持连接。我想以 user1 身份连接,以便测试我授予的权限。任何帮助表示赞赏。谢谢!

CREATE USER user1 
IDENTIFIED BY user1
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
ACCOUNT UNLOCK;

CREATE ROLE ReadOnly;
--GRANT SELECT ON table1 to ReadOnly;
--GRANT SELECT ON table2 to  ReadOnly;
--GRANT SELECT ON table3 to ReadOnly;
GRANT CONNECT to user1;
GRANT ReadOnly to user1;

grant create session to user1;

connect user1
show user

输出: 用户 USER1 创建。 只读创建的角色。 授予成功。 授予成功。 授予成功。 连接的 用户是 USER1 USER 是 ORACLEUSER

【问题讨论】:

【参考方案1】:

你误解了输出? 这是用换行符分隔它们的最后几行。它说连接的用户是 USER1,断开连接的用户是 ORACLEUSER。

连接的用户是 USER1

由 CONNECT 脚本命令创建的连接

断开连接的用户是 ORACLEUSER

【讨论】:

感谢您的回复。输出有点不同:1.Connected 2. USER 是 USER1。 3. CONNECT 脚本命令创建的连接断开。 4. 用户是 ORACLEUSER。是否可以作为 user1 保持连接而不断开/恢复到 ORACLEUSER?谢谢!

以上是关于Oracle connect命令连接另一个用户后立马断开的主要内容,如果未能解决你的问题,请参考以下文章

sqlplus连接oracle数据库

Oracle如何创建用户?

Oracle菜鸟学习之 Oracle基础命令

无法远程连接linux下的oracle,linux下的oracle可以本地访问,求解

Oracle 10G中导入dmp文件

怎么在cmd里用create命令建立数据库