Oracle创建用户和表空间后在Navicat中看不到,也不能连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle创建用户和表空间后在Navicat中看不到,也不能连接相关的知识,希望对你有一定的参考价值。

用sqlplus创建的用户和表空间后,能看到硬盘中有表空间文件,sqlplus也能登录。但是用Navicat不能连接,用管理员用户连接后也看不到新建的用户和表空间。connect,resource,dba权限都赋予了。imp导入时也提示无法连接,这是怎么回事?
反过来用Navicat创建用户,则用sqlplus无法连接,超级奇怪,好像两个不相干的样子

create user username identified by password .......(指定表空间之类); 授权 连接权限 connect 使用资源创建对象 resource dba管理 dba grant connect[,resource,dba] to username追问

这什么?看不懂

参考技术A 看看sqlplus连接的数据库实例和navicate连接的实例是不是同一个

oracle创建用户和表空间

前提要求是电脑上要安装了oracle数据库,首先启动命令行窗口
在这里插入图片描述
进去后会让你输入用户名
如下图所示
在这里插入图片描述
这里输入system和对应的密码,不记得密码的话可以参考这个文章修改一下密码:
修改system用户密码
在这里插入图片描述
如上图所示就表示成功登录。
接下来要准备一个文件夹装数据文件,我这里在F盘下面新建一个tbspace的文件夹,如下图所示,现在是空文件。
在这里插入图片描述
然后在命令行窗口输入指令:create tablespace asus_tb_space datafile 'F:\\tbspace/asus_tb_space.dbf' size 400m;这条指令创建了一个名字叫做asus_tb_space的表空间,数据文件名为asus_tb_space.dbf,空间大小为400M在这里插入图片描述
语法没写错就会提示表空间已经创建。这时候打开刚才的文件夹,可以看到一个大概400M的数据文件
在这里插入图片描述
表空间创建好了之后,就接着创建一个新的用户,并且指定这个用户操作的数据就是这个表空间里面的数据。
创建用户:
create user asus identified by asus123;这条语句创建了一个名叫asus的用户,并且密码是asus123
在这里插入图片描述
指定表空间:alter user asus default tablespace asus_tb_space;,这里指定asus用户操作的表空间是asus_tb_space在这里插入图片描述
当然,也可以在创建用户的时候就直接指定表空间:

create user asus identified by asus123 default tablespace asus_tb_space;

接下来要给用户分配权限:grant dba to asus;
如下图所示表示授权成功
在这里插入图片描述
这里说明一下,dba权限是很大的,具体描述可以参考文章前面的【更改system用户密码】的链接看看,学习阶段自己写sql语句练习可以随便玩玩。
接下来测试一下刚才的操作,首先exit退出连接,重新打开sqlplus界面。

在这里插入图片描述
成功用新用户登录oracle数据库。然后进行查询操作试一下:

select * from dual;

这个dual是一个虚表,可以用来做测试。
在这里插入图片描述
这里能查出数据,说明这个用户创建成功并且授权成功,不授权是没法查询的。

以上是关于Oracle创建用户和表空间后在Navicat中看不到,也不能连接的主要内容,如果未能解决你的问题,请参考以下文章

如何彻底删除oracle创建的用户和表空间

ORACLE 如何只导出导入索引?

如何彻底删除oracle创建的用户和表空间?

创建用户和表空间

Oracle 创建wims用户和表空间

ORACLE数据库创建用户名和表空间