小白入门笔记
前记:该笔记我是在朋友那拷贝的Oracle培训视频下总结出来的,然后增加了一下自我的理解,网上的资源一大把,之前想要入门Oracle,但是一个小白想要入门,看着网上的资料眼花缭乱,所以特意把自己学习笔记记录一下,可能会存在很多错误,可能知识点不全,但是这是我的一个成长历程,也是我的第一篇博客,短时间内工作上还用不到Oracle,希望以后当我用到时,在回忆Oracle数据库的内容的时候,看着这些内容能够快速回忆起来。笔记我是先写在有道云笔记上的,然后在写上来的。如果有需要的,之后可以发有道云的笔记共享链接。
可能有很多小白看这个也有点蒙,因为没有实操截图,但是这个我是在练习完后再总结的,所以没有截图。还有我觉得小白入门的一大难题就是软件,这个真的抱歉,软件我也是从我朋友那拷的,所以没有办法提供,但是网上的资源一大把,安装文档页一大把,软件的下载和安装真的不想在弄了,弄的话还要卸载我现在安装好的。所以自求多福吧。
下面就是正文了......
用户介绍
在装好Oracle 11g 数据库和 PLSQL 之后,会有默认会有三个用户,其中包括两个系统用户
Oracle登录用户 SYS 和 SYSTEM
SYS用户 | SYSTEM用户 | |
地位 | Oracle的一个超级用户 | Oracle默认的系统管理员 |
作用 | 主要用来维护系统信息和管理实例 | 通常用来管理Oracle数据库的用户、权限和存储等 |
登录身份 | 只能以SYSDBA或SYSOPER角色登录 | 可以以Normal方式登录 |
还有一个普通用户,用户名为scott,该用户下有几张测试表,可以用这个用户下的测试表进行练习。
注意:这三个用户的密码在安装 Oracle 11g数据库的时候,在安装步骤里已经设置好了密码,同时 scott 普通用户在安装的时候需要解除锁定才能使用。
SYS用户登录时注意需要选择登录身份,不能以normal身份登录。
入门第一步:创建表空间
表空间概念:
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表空间,暂时没有用到,所以不是很清楚,从网上找了一篇博客,感觉还可以,之后又用到时再来细说;
创建表空间举例:
注:我这边使用的是笔记本电脑,采用的是本地环境,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--有道云笔记