oracle以数据存储量大,处理速度快,安全性高,容错性强等出色特征,长期以来占据着全球数据库市 场的主导地位。 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统,以 分布式数据库为核心的一组软件产品,是目前最流行的B/S体系结构的数据库之一。ORACLE数据库是目 前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品,系统可移植性好、使用方便、功能强,适用于各类大、 中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。作为 分布式数据库它 实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
ok,废话咱也不多说了,Oracle笔者在大学期间也是专门开过课的,可想而知Oracle还是有点东西的。时过境迁,如今再次接触发现Oracle我还是了解的太少太少了,Oracle虽然在sql语法上与别的数据库并没有什么大差别,但是在玩法上的差别,简直大的还就那个离谱,所以初学者在刚接触Oracle的时候难免会感到无从下手,但是当你看到这篇文章的时候,这些都是浮云了。
Oracle与别的数据库的第一个不同点就是权限,Oracle拥有一套严谨的权限系统,其中最高权限称为dba,我们需要登录sys账户才可以dba操作,如下图所示我们需要登录sys账户 并选择连接为SYSDBA。
成功登录后我们就可以进入plsql,说实话这软件还挺丑的,但好歹还是比cmd好看,勉强先用着吧。
在对象浏览器选择“my object”,这⾥边就是SCOTT(当前登陆的⽤户的所有object)
![](https://i-blog.csdnimg.cn/blog_migrate/5ffc3265453d3a977d053b3af585552c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cadc4e5822b7c667bccba2e69451ff6.png)
还有,这个钥匙是登录账户用的,这个齿轮是运行sql时用的。
好的,plsql我们姑且介绍到这。
下面就先创建一个表空间,什么?表空间?表空间是个什么玩意哦?ok,各位看官切勿着急,我会以我的理解来解释一下表空间是个什么玩意~理解不到位,还请勿怪。
*Oracle* 数据库开创性地提出 了* 表空间 * 的设计理念,这为 *Oracle* 数据库的高性能做出了不可磨灭的贡献。可以这么说, *Oracle* 中 很多优化都是基于* 表空间 * 的设计理念而实现的。表空间是 oracle 对物理数据库上相关数据文件的逻辑映射。一个数据库逻辑上被划分成一个或若干个表空间, 每个表空间包含了在逻辑上相关联的一组结构。表空间与数据文件:表空间实际上是由若干个数据文件 (datafile) 来构成的,数据文件的位置和大小可以由 我们自己来决定。数据被存放在表空间中的数据文件中。一个数据文件只能属于一个表空间
我们可以大概的认为一个表空间就是一个数据库,这是由于Oracle数据库它真的只有一个数据库,当我们的项目多了起来,如果所有表都放在同一个屋里,那还玩个球,所以我们可以为每个项目申请一个表空间,把这个项目的表放在一起,这点和MySQL的建数据库是一个道理。
打个比方,MySQL数据库是一个小区,而我们建数据库的行为就相当与在小区里买一个小房子,而在Oracle数据库中,可以说是完全不同,开头我们就说过Oracle只有一个数据库,所以当我们申请一个表空间的时候,相当于在一个超级巨大的大厦里,买了一层楼的使用权。当然你可以选择不买,那你就可以看到你的项目里的表,一个在1楼,一个在12138楼,还是挺酷的~
话不多说,我们先建个表空间在说吧:
create tablespace odb
datafile 'c:\odb.dbf'
size 100m
autoextend on
next 10m;
好的,一共是五行代码,下面我们一行行来分析一波:
create tablespace odb: 这行代码不难理解,跟建表语句有异曲同工之妙。通过这行代码我们创建了一个名为odb的表空间。只创建,当然行不通啊,你拿到了房产证,总得去验房对吧。
datafile 'c:\odb.dbf ' : 这行代码也简单,通过这行代码,我们不但买下了一层楼的使用权,也成功的入住大厦c:\odb.dbf号房间。
size 100m:? 这是啥意识? 意思是我的房间才一百个平方米? 这当然是错误的,因为平方米的右上角还有个小2,所以这是代表我的空间是100m(100个1024kb)。
autoextend on /next 10m:这两行代码那也是通俗易懂啊,首先autoextend on 是代表打开了自动扩容的开关,咱也不是那花不起钱的人,住不行就直接加钱就完事了,next 10m ,就代表,我一加就是10个平方,你就是多一根毛,只要住不下,咱还就那个加10个平方,就是任性。
好的通过我们的闪电五连鞭,我们成功的创建了一个表空间。
欧克,下一步咱干嘛呢?
下一步我们就需要创建一个用户了,说实话,这是真的麻烦,为啥我们需要创建用户呢?这里我们开头就说过,Oracle数据库是一个安全性极高的数据库,其最大的一个特色就是权限的管理,如果我们只有一个sys用户,谈何权限管理呢。我们可以回到我们的Oracle大厦,我们现在扮演的角色是sys,也就是拥有整个Oracle大厦的男人。试问一个大厦几万个房间,每个房间负责一个小项目,如果你每个项目都要插一手的话,会不会焦头烂额?所以我们就可以聘请一个用户来为我们管理一些房间,身为一名sys,我们只需作壁上观即可。
ok,道理是这个道理,我们到底如何创建一个user呢?看下面就行啦~
create user dagoren
identified by 123
default tablespace odb
好的,我们继续分析,create user dagoren 通过这行代码,我们创建了一个叫打工人的user,identidied by 123,为这个打工人一个密码,dafalut tablespace odb 为打工人指定一个打工的地方。
这里,我们需要注意的是第三行代码,为用户指定表空间,这一步很重要,首先要搞清楚我们为什么要指定一个表空间给user。这一点其实不难理解,前面我们就说过,我们需要一个打工人来替我们管理一个房间,如果我们光创建一个user,而不为它分配工作,那么这个user也就没有存在的意义。当然一个表空间可以由多名user来管理。
ok,写到这里,我们房子我们买好了,打工人也安排上了,我们现在需要做的操作就是给打工人一把进入房间的钥匙,也就是给user赋权。
grant dba to dagoren
没错,就是这么简单,通过这行代码,我们就给打工人一个dba的权限,现在我们就可以登录打工人的账号愉快的打工咯。ok,我们点击前文介绍的小钥匙图标,进入登录界面,输入打工人的账号密码,这里我们需要注意的是,一定要先赋权再登录,否则会被保安赶出来哦(弹出用户无权限弹窗)由于笔者比较懒,姑且就不演示了。
登录完后,我们就可以开始建立第一张表了,由于建表语句与别的数据库的sql语句没有差别,我们只需要注意Oracle数据库的数据类型与MySQL是有所不同的,所以笔者就不缀叙了。
数据类型的不同可以参考一下 下表:
表建好以后我们就可以,在tables里查看到我们创建的表辣~
谨以此文献给想了解Oracle数据库的各位与未来不记得Oracle咋用的自己~