《.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系列:导航目录》

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

.Net程序员学用Oracle系列(2):准备测试环境的更多相关文章

  1. .Net程序员学用Oracle系列(1):导航目录

    本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...

  2. .Net程序员学用Oracle系列(6):表、字段、注释、约束、索引

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 ...

  3. .Net程序员学用Oracle系列(7):视图、函数、过程、包

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.视图 1.1.创建视图 2.函数 2.1.创建函数 2.2.调用函数 3.过程 3.1.创建过程 3.2.调用过程 4.包 ...

  4. .Net程序员学用Oracle系列(8):触发器、任务、序列、连接

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.触发器 1.1.创建触发器 1.2.禁用触发器 & 启用触发器 & 删除触发器 2.任务 2.1.DBMS_ ...

  5. .Net程序员学用Oracle系列(9):系统函数(上)

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.字符函数 1.1.字符函数简介 1.2.语法说明及案例 2.数字函数 2.1.数字函数简介 2.2.语法说明及案例 3.日期 ...

  6. .Net程序员学用Oracle系列(10):系统函数(下)

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2. ...

  7. .Net程序员学用Oracle系列(11):系统函数(下)

    1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 R ...

  8. .Net程序员学用Oracle系列(15):DUAL、ROWID、NULL

    1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NUL ...

  9. .Net程序员学用Oracle系列(25):触发器详解

    1.触发器理论 1.1.触发器的应用场景 1.2.触发器的类型 1.3.DML 触发器的触发顺序 2.触发器实战 2.1.创建触发器 2.1.1.创建 DML 触发器 2.1.2.创建 DDL 触发器 ...

随机推荐

  1. LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新

    原文:LINQ To SQL在N层应用程序中的CUD操作.批量删除.批量更新 0. 说明 Linq to Sql,以下简称L2S.    以下文中所指的两层和三层结构,分别如下图所示: 准确的说,这里 ...

  2. TextArea中定位光标位置

    原文:TextArea中定位光标位置 在项目中,遇到一个场景:希望能在TextArea中输入某条记录中的明细(明细较简单,没有附属信息,只用记录顺序和值即可,譬如用"+"号来作为明 ...

  3. WebApp 框架

    Razor 在WebApp 框架的运用   前面有两章介绍了WebApp框架<WebApp MVC,“不一样”的轻量级互联网应用程序开发框架>和<WebApp MVC 框架的开发细节 ...

  4. 苹果iOS苹果公司的手机用户都有权索赔

    大家知道.手机中的操作系统(基础软件)存储在手机固(firm,ware)之中,一般而言,手机用户自己是不能修改的. 苹果iOS手机的系统后门(服务程序)也存储在手机固件之中.手机用户自己是无法删除的. ...

  5. SQL实现多行合并一行 .

    ORACLE纯SQL实现多行合并一行[转] 项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type ...

  6. Windows 下安装 Oracle 12c 教程

    原文 Windows 下安装 Oracle 12c 教程 申明:本文原作者:Jmq   本文给大家带来的是 Oracle 12C 的安装教程. 1.准备 1.1 下载 Oracle 12c 安装程序 ...

  7. 我的Android 4 学习系列之文件、保存状态和首选项

    目录 使用Shared Preference 保留简单的应用程序数据 保存回话间的Activity实例数据 管理应用程序首选项和创建Preference Screen 保存并加载文件以及管理本地文件系 ...

  8. 31、Thinking in Java

  9. 从Http它被连接到WebSocket

    1.HTTP协议长期-fi支持和各支持的浏览器 http://blog.csdn.net/fenglibing/article/details/7100222 2.WEBclient与服务端信息交互的 ...

  10. C++ builder 中AnsiString的字符串转换方法大全

    C++ builder 中AnsiString的字符串转换方法大全 //Ansistring 转 charvoid __fastcall TForm1::Button1Click(TObject *S ...