Oracle创建用户和表空间后在Navicat中看不到,也不能连接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle创建用户和表空间后在Navicat中看不到,也不能连接相关的知识,希望对你有一定的参考价值。
用sqlplus创建的用户和表空间后,能看到硬盘中有表空间文件,sqlplus也能登录。但是用Navicat不能连接,用管理员用户连接后也看不到新建的用户和表空间。connect,resource,dba权限都赋予了。imp导入时也提示无法连接,这是怎么回事?
反过来用Navicat创建用户,则用sqlplus无法连接,超级奇怪,好像两个不相干的样子
这什么?看不懂
参考技术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中看不到,也不能连接的主要内容,如果未能解决你的问题,请参考以下文章