[独孤九剑]Oracle知识点梳理(一)表空间、用户
本系列链接导航:
[独孤九剑]Oracle知识点梳理(一)表空间、用户
[独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL
[独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table、View
[独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure、function、Sequence
[独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor
[独孤九剑]Oracle知识点梳理(八)常见Exception
[独孤九剑]Oracle知识点梳理(九)数据库常用对象之package
[独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数
1、表空间
Oracle 的结构是 区/段、表空间、用户、表...(区段是Oracle存储方面的概念,编码人员不需要了解过多)。当我们安装完Oracle后,默认就会拥有一个数据库,之后的所有操作,都是在这个默认的数据库中进行的。
注: 这里要与SqlServer的数据库(database)概念区别开,SqlServer中的数据库是我们最常操作的,给我们的印象是每个数据库是相互隔离的,不同用户(user)登录后可看到所有数据库并进行操作;而Oracle中我们的操作都是在同一个数据库(database或叫数据库实例)中进行的,起到隔离作用的是用户(user),不同用户(user)登录后,只能看到自己所拥有的对象(如表、视图、过程、函数等);当然,以上的前提是权限最小的情况下。
用户(user)拥有多个表(Table)、视图(View)、存储过程(Procedure)、函数(Function)、包(packgae)等;用户及其包含的对象要存储到某一个表空间中;一个表空间可以存储多个用户信息。
1.1、操作表空间
Oracle的表空间分为:
- 永久表空间(也叫数据表空间,存放永久性数据,如表、索引等)
- 临时表空间(不能存放永久性对象,用于保存数据库排序,分组时产生的临时数据)
- UNDO表空间(保存数据修改前的镜像)
1.1.1、操作永久表空间
a) 创建(表空间文件为1个)
create tablespace tablespaceName
logger -- 可将表空间的创建信息记录到Oracle的日志中
3 datafile 'tablespaceName.dbf' --保存文件的路径,习惯上将表空间的名称用于文件的名称
--(可设置绝对路径,相对路径的话会保存到默认目录下)
4 size 64m --最初的数据文件大小
5 autoextend on --开启自增长
6 next 64m maxsize 1024m --每次增长64m,最大1024m
7 extent management local; --extent management 有两种方式 local(本地管理,默认);
--dictionary(数据字典管理)
b) 创建(表空间文件为多个)
create tablespace tablespaceName
logger
datafile
'tablespaceName01.dbf' size 64m autoextend on next 64m maxsize unlimited, --设置自增长且无上限
'tablespaceName02.dbf' size 64m autoextend on next 64m maxsize unlimited,
'tablespaceName03.dbf' size 64m autoextend on next 64m maxsize unlimited
extent management local;
c) 表空间增加文件
alter tablespace tablespaceName
add datafile 'tablespaceName04.dbf'
3 size 64m autoextend on
next 64m maxsize unlimited;
d) 删除表空间
drop tablespace tablespaceName including contents and datafiles cascade constraints;
1.1.2、创建临时表空间
a) 创建(表空间文件为1个)
create tablespace tablespaceName
logger -- 可将表空间的创建信息记录到Oracle的日志中
3 tempfile 'tablespaceName.dbf' --保存文件的路径,习惯上将表空间的名称用于文件的名称
--(可设置绝对路径,相对路径的话会保存到默认目录下)
4 size 64m --最初的数据文件大小
5 autoextend on --开启自增长
6 next 64m maxsize 1024m --每次增长64m,最大1024m
7 extent management local; --有两种方式 local(本地管理,默认)、dictionary(数据字典管理)
b) 创建(表空间文件为多个)
create tablespace tablespaceName
logger
tempfile
'tablespaceName01.dbf' size 64m autoextend on next 64m maxsize unlimited, --设置自增长且不设置上线
'tablespaceName02.dbf' size 64m autoextend on next 64m maxsize unlimited,
'tablespaceName03.dbf' size 64m autoextend on next 64m maxsize unlimited
extent management local;
c) 给表空间增加文件
alter tablespace tablespaceName
add tempfile 'tablespaceName04.dbf' size 64m autoextend on next 64m maxsize unlimited;
d) 删除表空间
drop tablespace tablespaceName including contents and datafiles cascade constraints;
1.1.3、创建UNDO表空间
a) 创建
create undo tablespace tablespaceName datafile 'tablespaceName.dbf' size 64m;
b) 修改系统默认UNDO表空间(有UNDOTBS修改为自己创建的)
alter system set undo_tablespace=tablespaceName;
c) 删除UNDO表空间
drop tablespace "tablespaceName" including contents and datafiles;
1.2、创建用户
用户(user)的创建过程需要:a)设置用户名、密码;b)设置数据表空间;c)设置临时表空间;d)设置权限,几个步骤。
- 创建用户,设置用户名、密码、表空间
create user userName identified by password
defalut tablespace dataTablespaceName
temporary tablespace tempTablespaceName; -- a、b、c
- 设置权限
grant connect,resource,exp_full_database,imp_full_database to userName; --d
用户的修改及删除
--修改密码
alter user userName identified by password2; --删除用户及其拥有对象
drop user userName cascade;
1.2.1、权限和角色
在创建用户的过程中,有设置权限的操作。Oracle的内置了多个角色,角色拥有不同权限。
a) Oralce的特殊权限
- 系统权限unlimited tablespace是隐含在dba, resource角色中的一个系统权限. 当用户得到dba或resource的角色时, unlimited tablespace系统权限也隐式受权给用户.
- 系统权限unlimited tablespace不能被授予role, 可以被授予用户.
- 系统权限unlimited tablespace不会随着resource, dba被授予role而授予给用户.
b) 特殊角色
- dba角色,是授权数据库管理员的权限
- connect角色, 是授予最终用户的典型权利,最基本的 一个(CREATE SESSION)
- resource角色,是授予开发人员的 默认有八个权限(CREATE SEQUENCE,CREATE TRIGGER,CREATE CLUSTER,CREATE PROCEDURE,CREATE TYPE,CREATE OPERATOR,CREATE TABLE,CREATE INDEXTYPE)
- exp_full_database角色,拥有导出数据库的权限
- imp_full_database角色,拥有导入数据库的权限
c) 用户授权常用参数:
connect、resource、dba、unlimited tablespace、
create session --创建会话
create any sequence --创建序列
create any table --创建表
create any view --创建视图
create any index --创建索引
create any procedure --创建存储过程
create any directory --创建目录 alter session --修改会话
alter any sequence --修改序列
alter any table --修改表
alter any view --修改视图
alter any index --修改索引
alter any procedure --修改存储过程
alter any directory --修改目录 drop session --删除会话
drop any sequence --删除序列
drop any table --删除表
drop any view --删除视图
drop any index --删除索引
drop any procedure --删除存储过程
drop any directory --删除目录 select any table --查询表
select any dictionary --查询目录
insert any table
update any table
delete any table
debug any procedure --debug存储过程
debug connect session
exp_full_database --导出
imp_full_database --导入
1.3、用户权限查询(需要拥有dba角色)
1.3.1、查看用户拥有那些角色
select * from dba_role_privs a where a.grantee='userName';
--或
select * from dba_sys_privs a where a.grantee='userName';
1.3.2、查看角色拥有那些权限
select ROLE, PRIVILEGE from role_sys_privs where role='RESOURCE'; --RESOURCE,CONNECT,DBA
--或
select grantee,privilege from dba_sys_privs where grantee='RESOURCE';
1.3.3,为用户取消角色
revoke resource from userName;
1.3.4,为用户取消权限
revoke unlimited tablespace from userName;
1.3.5,最后附加一个非常有用的技巧:查看Oracle的版本号
select * from v$version where rownum <=1;
当不同版本数据库的导入导出操作是,需要标记版本号
[独孤九剑]Oracle知识点梳理(一)表空间、用户的更多相关文章
- [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(九)数据库常用对象之package
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(八)常见Exception
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure、function、Sequence
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table、View
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(三)导入、导出
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [独孤九剑]Oracle知识点梳理(二)数据库的连接
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
随机推荐
- PAT 天梯赛 L1-043. 阅览室 【STL】
题目链接 https://www.patest.cn/contests/gplt/L1-043 思路 将每一次 借出和归还 都用 MAP 标记 如果归还的时候 已经被标记过了 那么 ANS ++ 并且 ...
- swift的值类型和引用类型
前言 最近在学设计模式中,发现 Swift 中的 struct,class 以及 enum 在一般的使用中能够做到互相替换,因此探究其背后的逻辑就十分有必要.而这一问题又引出了 Swift 中的值类型 ...
- ODS
一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用: 1.在业务系统和数据仓库之间形成一个隔离层 一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置.不同的数据库. ...
- Python学习进程(4)运算符
本节主要介绍Python的运算符. (1)Python语言支持的运算符类型: .算术运算符 .比较(关系)运算符 .赋值运算符 .逻辑运算符 .位运算符 .成员运算符 .身份运算符 . ...
- Dubbo框架入门介绍
背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个 ...
- 跨平台移动开发 App-Framework DEMO 演示
穿越到2015 回到->MarkFan的程序员客栈 App-Framework DEMO 演示 点击APK包下载 点击Demo代码下载 官方网站 :http://app-framework- ...
- java屏幕截取
CaptureScreen.java ```import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; i ...
- INSPIRED启示录 读书笔记 - 第39章 打造平台产品的经验
最具挑战性的工作 产品管理中难度最大,也最能体现产品经理实力的是定义成功的平台产品.所谓平台产品是指一类基础软件,应该开发者能在其基础上开发应用程序 平台产品要面对三种不同的客户 1.应用软件供应商: ...
- vRA7 Software Component
将自定义Property传递给Software Component 示例: vRA7 支持 Software Components,并且还可以在用户的申请页面中,做一个下拉菜单,让用户选择需要安装的S ...
- c# 图片 与 BASE64 字符串 互相转换。
using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System. ...