【Oracle系列4】Oracle 数据库的层次结构,常见的GUI连接用具

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 【Oracle系列4】Oracle 数据库的层次结构,常见的GUI连接用具,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

【Oracle系列4】Oracle 数据库的层次结构

跟mysql不一样,mysql连上后能看到所有库,库下面直接就是表了。

跟pgsql也不一样,pgsql连上后,也是可以看到所有库,库下面是schema,schema下面才是表(比mysql多了一层schema)。

Oracle是最复杂的,首先连进来的库叫什么名你都很难搞清楚,库下面也有schema,schema下面才是表。这么看起来跟pgsql是一样的,但真的复杂许多,详细的话后文介绍Oracle的时候会说明。

一、mysql的一些细节

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CeTpHIE7-1669631762993)(/Users/stonewang/Library/Application Support/typora-user-images/image-20221127210836152.png)]

二、PGSQL 的一些细节(postgresql的一些细节)

Navicat 截图如下:

在这里插入图片描述

pgAdmin 截图如下:

在这里插入图片描述

在这里插入图片描述

三、Oracle的一些细节

用Navicat连上后,可以看 ANONYMOUS等等一堆东西,这些东西究竟是什么?就是schema,其实也是User,你如果新建一个TEST01账号,登录后也会发现下图列表里多了TEST01,每创建一个用户就会有一个同名的schema与之对应。

你会疑惑:为什么Oracle权限控制不是很严很细吗?为什么我一个普通的test01账号也能看到别人的schema?

是的,是能看到别人的schema(间接等于知道这系统上有什么用户),但是这个用户能看到别人的schema并不一定能看到别人的表,要有权限,比如test01用户打开SCOTT显示一张表都没,而有权限的sys活system都可以点开后看得到。

在这里插入图片描述

补充:

在这里插入图片描述

在这里插入图片描述

不仅仅看不见,实际执行时没有权限也会报错的,如下图:

在这里插入图片描述

而有权限的就能查询

在这里插入图片描述

关于Navicat中选择schema的作用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、补充:关于Oracle的图形化连接工具以及连接的一些选项

是所有当中最复杂最让人无语的,除了常规的用户名、密码、host、端口,还多了许多许多的选项

1、从 Navicat 这款软件查看还有其他什么登录选项
  • 总体的登录选项

    在这里插入图片描述

  • 链接模式:有 Basic 和 TNS

在这里插入图片描述

  • Service Name 和 SID

    在这里插入图片描述

  • Role有 sysdba 和 sysoper

在这里插入图片描述

  • OS authentication :勾选之后,账密就置灰了,应该是利用操作系统的鉴权方式

为什么允许登录系统后就登录数据库,处于这样的逻辑考虑吧?应该是考虑了 “既然你都有操作系统的登录权限了,那你可以登录装在这个操作系统上的数据库”

在这里插入图片描述


2、从SQL Developer 这款软件查看参数
  • 总体的登录选项

    在这里插入图片描述

  • Database Type:只有一个Oracle的下拉框(难不成SQL Developer有意连接别的类型的数据库做妄想做全能连接器?)

  • Authentication Type:比navicat多了一个kerberos(Default就是账密,OS就是依靠操作系统鉴权)

    在这里插入图片描述

  • Role:要比Navicat多多了

    在这里插入图片描述

  • Connection Type:也要比Navicat多多了

    在这里插入图片描述

  • 其他:比起Navicat还多了许多不明所以的登录选项

    在这里插入图片描述


3、PL/SQL Developer (这个软件应该是要依赖于一些东西的,依赖Oracle散装的client吧?否则连配置tnsnames.ora的地方都没)

这个软件的登录选项非常少。你有没有想过为什么,笔者用了许久都没去想过这个问题,其实就是因为在本地配置了network\admin\tnsnames.ora 这个文件,文件里头就配了很多配置了。

在这里插入图片描述

其实上图中的Database下拉框里的值更加像connection名字,上述名字也不是数据库的真实名字,比如ZHANGSAN_TEST的真实数据库名字是TEST,所以这个仅仅是类似于 “连接名”

在哪里配置呢?

  • 手动添加,在一个配置文件中添加(我对此机翼很深),在Oracle安装目录下有个 network\admin\tnsnames.ora,是个文本文件
  • 通过oracle的图形工具(Oracle Net Configuration Assistant)添加:图形化工具,其实最终还是写入到上述配置文件,觉得没必要直接改即可

在这里插入图片描述

其实,上述都是使用PL/SQL Developer的时候才需要这么搞,如果你使用的是SQL Developer或者Navicat,都是页面上直接配置IP、端口、数据库名、账密等的,不需要多此一举还去一个文件里头加配置(更加直观好理解

可以选择连接为为什么角色。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135038.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!