[独孤九剑]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 ...
随机推荐
- 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)
关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解. microsoft的vc默认的是__cdecl方式,而windo ...
- pdoModel封装
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/7/24 * Time: 14:03 */ /** * 数 ...
- 在.h和.cpp中包含头文件的区别
1.在.h中包含头文件,是为了声明一系列这个头文件的变量等,可能会产生重复包含的问题: 2.在.cpp中包含头文件只是为了实现这个头文件或者使用其中的方法,不会有重复包含的问题,所以尽量在源文件中包含 ...
- INSPIRED启示录 读书笔记 - 第1章 关键角色及其职责
现代软件产品团队 1.产品经理的主要职责分为两项:评估产品机会和定义要开发的产品 2.用户体验设计师(由多种角色组成,这里面最关键的是交互设计师) 交互设计师负责深入理解目标用户,设计有价值 ...
- seajs 入门
最近想搞搞JS模块化, 读到了园子里的一篇好文: http://www.cnblogs.com/lvdabao/p/js-modules-develop.html 看里面讲seajs不错, 于是想学 ...
- JDBC的一些代码
import java.sql.*; public class jdbc { //JDBC 驱动名及数据库名 URL static final String JDBC_DRIVE = "co ...
- linux下bwa和samtools的安装与使用
bwa的安装流程安装本软体总共需要完成以下两个软体的安装工作:1) BWA2) Samtools 1.BWA的安装a.下载BWA (download from BWA Source Forge ) h ...
- mvn库
http://maven.aliyun.com/nexus/content/groups/public/ http://mvnrepository.com/http://search.maven.or ...
- LeetCode——sum-root-to-leaf-numbers
Question Given a binary tree containing digits from0-9only, each root-to-leaf path could represent a ...
- linux学习(rz和sz命令的安装和使用)
lrzsz的安装 [root@spark1 ~]# yum install lrzsz rz用法 终端直接输入rz,出现文件选择对话框,选择要上传的文件就ok sz用法 下载filename文件: s ...