.Net程序员学用Oracle系列(2):准备测试环境

时间:2021-02-09 03:51:29

《.Net程序员学用Oracle系列:导航目录》

本文大纲

基本说明

为什么要创建的测试环境?

我在构思本系列博客的时候,并没有想到要做什么准备;但当我写完六七篇稿子的时候,我忽然意识到如下的一系列问题:

  • 有些跟时间有关的示例,我有用 SYSDATE 来演示,当读者把博文中的 SQL 语句拷贝到他的环境中运行时,SYSDATE 的值肯定已经变了,那样的话,读者就得花更多的时间来思考和理解其中的不同。

  • 部分关于 DML、DQL 的示例,主要演示的是语法而非结果,而且有些示例的结果很长,全都展示出来太占篇幅,不利于读者阅读。准确的理解语法和灵活的运用语法才是关键,要做到这两点就必需辅以练习。而读者的环境中可能没有方便练习的表结构和数据,自己造自然是好的,但这可能需要花费读者较多的时间,明显有悖于本系列博文所追求的 实用省时

  • Oracle 中的权限很多很复杂,不同的 Oracle 版本还不太一样,读者可能会遇到模仿示例改的 SQL 语句在自己的环境中运行结果变少、变多,甚至直接报错,这都有可能权限的问题,而经验不多的开发者往往找不到问题的原因,这给他们的理解带来了非必要的困难,某些初学者甚至会怀疑自己的理解能力和智商!这是我本人非常不愿意看到。

基于对以上等问题的思考,最终我决定要创建一个的测试环境,并把前面写好的稿子重新写一遍,这样作者和读者就能拥有相同的运行环境,方便了二者之间的交流。

了解 Oracle 中的 3 个默认用户

在正式创建环境之前,我们需要先来了解下 Oracle 实例的默认用户。在创建好一个 Oracle 实例之后,这个实例就已经包含了多个默认用户,不同的 Oracle 版本有所差异,但一般都会有 sys、system、scott 三个用户。其中 sys 和 system 是比较常见的,sys 是系统用户,数据字典所有者,超级权限所有者,system 是数据库默认管理用户,拥有DBA角色权限,有关这两个用户的其它疑问建议读者自行百度,网上有大量的介绍和说明。

scott 是一个普通用户,有些版本中 scott 的默认密码是 tiger,但默认会被锁定,需解锁之后才能登录。scott 存在的目的就是为了方便实验和测试,默认拥有表 emp 和 dept,但这些表过于简单,里面也没什么数据,达不到本系列博客想要演示的效果。下文中我们将创建一个与 scott 类似的用户,并基于这个用户创建整个测试环境。

补充说明:解锁 scott 用户的命令是:alter user scott account unlock;,然后执行命令:select username,account_status from dba_users;,查看执行结果,您可能会发现 scott 账户已经解锁,但状态却是"expired"(密码过期的意思),这时候再执行命令:alter user scott identified by tiger;,这个命令的意思是给 scott 账户指定一个新的 tiger 口令,然后就可以登录了。

创建测试环境

首先我得说明的是,由于本系列博文将要介绍的知识点较多,有些操作会有顺序要求,不同的章节对演示环境的要求也不太一样,所以无法一次性创建一个能满足后续所有演示需要的环境。所以我会首先创建一个基本的环境,然后在后续需要的时候来不断的完善或修改这个环境,以达到演示的需要。

创建基本环境

要点2

要点3

《.Net程序员学用Oracle系列:导航目录》

本文声明:如果您认为这篇文章还可以或对您有帮助,请点击文章末尾的“推荐”按钮。欢迎转载、演绎或用于商业目的,但必须保留本文的署名韩宗泽,并且要在明显位置给出原文链接!本人初写博客,水平有限,若有不当之处,敬请批评指正,谢谢!