Oracle入门笔记(二)——SQL Developer的基本使用

1.Oracle自带SQL plus工具的使用

    前面提到,安装程序的时候选择是桌面类,因此自带了一些管理软件,比如自带了Oracle数据库的数据库管理工具:SQL plus,使用方式,直接打开在windows菜单找到SQL plus就行:
在这里插入图片描述
使用方法和mongoDB、mysql等数据库一致(说白了就是用黑窗口管理):
在这里插入图片描述
说明:这里具有密码拦截,密码默认为装环境的时候使用的密码。
使用举例如下:

select * from all_users;//查询所有数据库用户

及如果如下:
在这里插入图片描述
内部展示还是比较乱的,不采用表格形式。
需要补充说明的是,对于sys类型的用户,连接的时候需要指定具体的数据库管理员类别:
在这里插入图片描述

2.Navicat连接Oracle

    Navicat能够连接很多种数据库,能够便于我们管理很多个不同种类的数据库。连接方式如下:
在这里插入图片描述
说明:这里使用的连接方式还是有一定缺陷的,比如使用sys as sysdba的方式连不上去。端口使用的是1521(默认端口),而且里面的可视化功能体现的不够充分,但是至少可视化能力比SQL plus更强:
在这里插入图片描述

3.SQL Developer连接Oracle

下载SQL Developer,下载的时候可能会提示导入首选项,如果之前没有使用过,直接点击否可以继续安装,安装完成时候界面如下:
在这里插入图片描述
简单来说,界面不太美观,但是感觉对于Oracle这款数据库来说还是相对比较专业的。使用起来比较简单:
在这里插入图片描述
简单看一下,从左侧功能列表来看,功能还是比较全面的:
在这里插入图片描述
说Navicat连接Oracle的功能不全面,主要是因为Navicat里面只包含数据库对应的数据表,内部缺少创建用户等诸多管理功能,当然这个是建立在SQL指令不够熟悉的情况下:
在这里插入图片描述
SQL查询的简单使用:
在这里插入图片描述

4.Oracle表空间

    经过前面的分析,可以知道SQL Developer还是比较好用的,除了界面UI有待美化外,功能还是比较强大的,有点像SQLServer。接下来言归正传,说一下Oracle的表空间概念。

4.1永久表空间

    表空间其实是对数据库在逻辑层上面的一种划分(可以理解成对内存的分块)。一个表空间对应一个数据库。所有的数据库对象都存在指定的表空间里面,由于数据库对象里面主要存储的还是表,因此又被称为表空间。

4.2临时表空间

    Oracle的临时表空间主要用来做查询和存放数据缓冲区,这些缓冲区一般用来进行查询结果的排序操作。重启数据库能够释放这些临时表空间。
最后给出一个表空间的创建方式(Oracle SQL语句不区分大小写,SQL Developer能够给出比较多的友好提示,默认这些提示都会大写):

create TABLESPACE test datafile 'D:\Oracle\app\oradata\oracle\test.DBF' size 15M AUTOEXTEND on next 10M;
//这里表示的是创建一个初始大小为15M,超过以10M自增的永久表空间(其实和SQL Server比较像)

创建结果如下:
在这里插入图片描述
在创建用户的时候这里就会出现对应刚才新建的永久表空间:
在这里插入图片描述

5.SQL Developer创建用户与连接

    上面已经创建了一个Oracle的表空间了,这里再来创建一个用户。首先需要明确一点,创建用户需要有system权限。这里说的更详细就是sysdba和system,sysopr没有创建表空间一级用户的权限。为了印证前面提到的权限问题,展示对比结果如下:
在这里插入图片描述
sysopr的权限还是比较低的,除了不能创建用户,甚至连表都不能创建:
在这里插入图片描述
    明白了这些内部的权限问题之后,也就是只有system或者sysdba能够创建用户。右键其他用户->点击创建用户->输入用户名和密码->选择用户对应的表空间,上方菜单找到授予的角色,勾上connect(表示赋予连接权限),菜单里面的SQL可以查看对应的SQL指令的书写方式。创建示例如下:
在这里插入图片描述
    接下来是连接数据库,实例如下:
在这里插入图片描述
特别说明:
(1)这里在创建用户的时候需要使用大写的用户名,这是由于Oracle默认将会把用户名转化成大写的用户名,如果你这里使用小写创建的,之后又使用大写的用户名去连接对应的表空间,将导致连接显示用户名或者密码错误;
(2)对于sid和服务名的说明,sid是每一个数据库连接时候自动创建的实例标识,每次创建都不一样,但是如果是使用服务名,这个就是唯一的。网上有大佬举例,sid相当于对内,服务名相当于对外,检测登录的时候相当于有个门卫,如果你说找某个部门(服务名),那么就能进入,如果你说找该部门的某个员工(sid),但是由于这个sid我们一般是不清楚的,一般就会被拒绝。

6.SQL Developer权限说明

    如果使用上面的TEST直接创建数据表,肯定会直接报错:
在这里插入图片描述
原因很简单,连连接数据库都需要去分配权限,创建数据表这样的操作更需要分配。解决方法:在sysdba或者system里面找到刚创建的TEST用户->右键编辑用户->上方菜单找到系统权限,勾上create table(表示赋予创建表权限),实例如下:
在这里插入图片描述
紧接着又报错,提示表空间无权限(可见Oracle的权限分配还是比较严格的):
在这里插入图片描述
和上面一样,上方菜单找到限额,然后分配表空间大小(或者直接不限制表空间大小):
在这里插入图片描述
然后在创建就能够创建成功了。假如之后出现其他报错就一样了,直接根据提示分配对应权限就行。

  • 11
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌空暗羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值