Oracle基础知识01

小白入门笔记

前记:该笔记我是在朋友那拷贝的Oracle培训视频下总结出来的,然后增加了一下自我的理解,网上的资源一大把,之前想要入门Oracle,但是一个小白想要入门,看着网上的资料眼花缭乱,所以特意把自己学习笔记记录一下,可能会存在很多错误,可能知识点不全,但是这是我的一个成长历程,也是我的第一篇博客,短时间内工作上还用不到Oracle,希望以后当我用到时,在回忆Oracle数据库的内容的时候,看着这些内容能够快速回忆起来。笔记我是先写在有道云笔记上的,然后在写上来的。如果有需要的,之后可以发有道云的笔记共享链接。

可能有很多小白看这个也有点蒙,因为没有实操截图,但是这个我是在练习完后再总结的,所以没有截图。还有我觉得小白入门的一大难题就是软件,这个真的抱歉,软件我也是从我朋友那拷的,所以没有办法提供,但是网上的资源一大把,安装文档页一大把,软件的下载和安装真的不想在弄了,弄的话还要卸载我现在安装好的。所以自求多福吧。

下面就是正文了......

用户介绍

在装好Oracle 11g 数据库和 PLSQL 之后,会有默认会有三个用户,其中包括两个系统用户

Oracle登录用户 SYS 和 SYSTEM

 

SYS用户

SYSTEM用户

地位

Oracle的一个超级用户

Oracle默认的系统管理员

作用

主要用来维护系统信息和管理实例

通常用来管理Oracle数据库的用户、权限和存储等

登录身份

只能以SYSDBA或SYSOPER角色登录

可以以Normal方式登录

还有一个普通用户,用户名为scott,该用户下有几张测试表,可以用这个用户下的测试表进行练习。

注意:这三个用户的密码在安装 Oracle 11g数据库的时候,在安装步骤里已经设置好了密码,同时 scott 普通用户在安装的时候需要解除锁定才能使用。

SYS用户登录时注意需要选择登录身份,不能以normal身份登录。

入门第一步:创建表空间

表空间概念:

百度百科:Oracle表空间

1:表空间概念:

表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数据库至少包含一个表空间。每个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。

在每一个数据库中都有一个名为SYSTEM的表空间,即系统表空间,该表空间是在创建数据库或数据库安装时自动创建的,用于存储系统的数据字典表、程序单元、过程、函数、包和触发器等。

2:表空间类型:

永久性表空间:一般保存表、视图、过程和索引等的数据。

临时性表空间:只用于保存系统中短期活动的数据。

撤销表空间:用来帮助回退未提交的事务数据。

自我理解表空间:

如果有学过MySQL,这个表空间暂时可以想象成MySQL的数据库,表空间里面可以包含多张表,MySQL数据库里面也可以包含多张表,刚刚学完这部分,Oracle表空间很多特性还没学到,所以我这边暂时是这样理解的;

如果没有学过MySQL,可以把Oracle数据库想象成一个图书馆,表空间就是里面的一个房间,表空间里的表就是房间里面的一个书架,书架上面书的摆放规则就是你所设定的列,书架上的书就是你存放的数据。

创建表空间:

说了表空间的概念,现在来说说怎么创建表空间;

表空间分类:

1. 永久表空间:

存放数据库中永久化存储的对象,表、视图、存储过程等。

2. 临时表空间:

存放数据库操作中中间执行的过程,执行结束后存放的内容被自动释放掉,不进行永久保存。

3. UNDO表空间:

保存事务所修改数据的旧值,也就是被修改前的数据。利用UNDO表空间可以对数据进行撤销、回滚的操作。

SQL语句:

--创建表空间(永久表空间)

CREATE TABLESPACE 表空间名

DATAFILE 表空间存储路径                                                -- 数据文件路径

SIZE 表空间起始大小                                                         -- 数据文件的初始大小

AUTOEXTEND ON                                                            -- 开启自动扩展

NEXT 扩展大小                                                                  -- 自动扩展的大小

MAXSIZE UNLIMITED;                                                      -- 设置表空间最大大小(无限扩展)

--创建表空间(临时表空间)

CREATE TEMPORARY TABLESPACE 临时表空间名

TEMPFILE 临时表空间创建路径                                        -- 数据文件路径

SIZE 临时表空间起始大小                                                 -- 数据文件的初始大小

AUTOEXTEND ON                                                           -- 开启自动扩展

NEXT 扩展大小                                                                 -- 每次自动扩展的大小

MAXSIZE UNLIMITED                                                      -- 最大大小

关于UNDO表空间,暂时没有用到,所以不是很清楚,从网上找了一篇博客,感觉还可以,之后又用到时再来细说;

关于UNDO表空间博客转载链接

创建表空间举例:

注:我这边使用的是笔记本电脑,采用的是本地环境,Oracle数据库安装在Windows系统上。

--以sys账号登录

--创建表空间(永久表空间)

CREATE TABLESPACE mytbs

DATAFILE 'd:\mytbs.dbf' --数据文件路径

SIZE 10m --数据文件的初始大小

AUTOEXTEND ON --自动扩展

NEXT 1M --自动扩展的大小

MAXSIZE UNLIMITED --最大大小

--创建表空间(临时表空间)

CREATE TEMPORARY TABLESPACE mytemptbs

TEMPFILE 'd:\mytemptbs.dbf' --数据文件路径

SIZE 10m --数据文件的初始大小

AUTOEXTEND ON --自动扩展

NEXT 1M --自动扩展的大小

MAXSIZE UNLIMITED --最大大小

注意:普通用户没有创建表空间权限,即如果用Scott账户去创建则无法成功,这里我用的是SYS用户。

入门第二步:创建新用户

在使用Oracle数据库时,我们肯定不能一直使用系统管理员用户或者测试用户,要为自己创建一个新用户作为自己的专用账户。

创建用户语法:

CREATE   USER   user                                                               -- 用户名

IDENTIFIED   BY   password                                                      -- 密码

[DEFAULT  TABLESPACE    tablespace]                                   -- 指定永久表空间

[TEMPORARY TABLESPACE    tablespace]                             -- 指定临时表空间

注意:[ ] 里面的语句代表是可选项,即在创建用户时可以写,也可以不写。

举例:

--创建用户

CREATE USER vashon

IDENTIFIED BY vashon123

DEFAULT TABLESPACE mytbs -- 这个表空间是上面创建好的永久表空间

TEMPORARY TABLESPACE mytemptbs; -- 这个表空间是上面创建好的临时表空间

注意:新建好的用户时没办法登录的,还需要对这个用户赋予权限,才能让他可以执行某些操作。

入门第三步:用户权限修改

权限修改包括赋予用户权限和删除用户权限。

--给新用户授权

GRANT CONNECT TO user;                                  -- 授予连接权限

GRANT RESOURCE TO user;                               -- 授予资源权限

--回收权限

REVOKE CONNECT FROM user;                         -- 回收连接权限

REVOKE RESOURCE FROM user;                      -- 回收资源权限

注:这里应该可以具体到设置用户能够执行哪些操作(增删查改),但是我找到的学习视频没有详细讲,所以只能又百度一篇博客,找到了一些内容。

  grant create session to vashon;//授予vashon用户创建session的权限,即登陆权限

  grant unlimited tablespace to vashon;//授予vashon用户使用表空间的权限

  grant create table to vashon;//授予创建表的权限

  grant drop table to vashon;//授予删除表的权限   

     grant drop any table tovashon;//  注意:即使以上是以管理员登陆并授权但还会提示权限不够,需要指定 "any"

  grant insert table to vashon;//插入表的权限

     grant insert any table to vashon;//注意:即使以上是以管理员登陆并授权但还会提示权限不够,需要指定 "any"

  grant update table to vashon;//修改表的权限

     grant update any table to vashon;//注意:即使以上是以管理员登陆并授权但还会提示权限不够,需要指定 "any"

  grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)

  2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权

  

  grant select on tablename to vashon;//授予vashon用户查看指定表的权限

     grant select any table to vashon;// 授予用户查看本用户下所有表的权限

  grant drop on tablename to vashon;//授予删除表的权限

  grant insert on tablename to vashon;//授予插入的权限

  grant update on tablename to vashon;//授予修改表的权限

  grant insert(id) on tablename tovashon;

  grant update(id) on tablename tovashon;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update

  grant alert all table to vashon;//授予vashon用户alert任意表的权限

  五、撤销权限

  基本语法同grant,关键字为revoke

  六、查看权限

  select * from user_sys_privs;//查看当前用户所有权限

  select * from user_tab_privs;//查看所用用户对表的权限

  七、操作表的用户的表

  

  select * from vashon.tablename

  八、权限传递

  即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:

  grant alert table on tablename tovashon with admin option;//关键字 with admin option

  grant alert table on tablename tovashon with grant option;//关键字 with grant option效果和admin类似

---------------------

作者:国境之南_ywx

来源:CSDN

原文:https://blog.csdn.net/yangwenxue_admin/article/details/47323131

版权声明:本文为博主原创文章,转载请附上博文链接!

当用户创建好了之后就可以使用安装好的PLSQL软件登录,PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用。

这样我们就可以以 vashon 账户登入。

我擦,有道云整好的格式复制上来竟然成了纯文本粘贴,心态炸了......

好吧,共享一下有道云链接:Oracle基础知识01--有道云笔记

猜你喜欢

转载自blog.csdn.net/xxydzyr/article/details/83714434
今日推荐