Oracle 复习 结构及表空间

color=00B82E
color=FF0000
完整的Oracle数据库系统通常由两个部分组成: 实例(INSTANCE)和数据库(DATABASE)。

总体结构:

数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)。
实例是由一系列的后台进程和内存区组成。简单来说,是内存和后台进程的集合。

Oracle体系结构:

概念: 指Oracle的组成、工作过程和基本原理,以及数据在数据库中的管理和组织机制。

Oracle-存储结构

在这里插入图片描述
在这里插入图片描述

存储结构之逻辑结构

表空间:
表空间(Tablespace)是数据库的逻辑划分,一个Oracle数据库由若干个表空间组成。
任何数据库对象在存储时都必须存储在某个表空间中。
一个表空间对应于磁盘上的一个或多个数据文件。
通常一个Oracle数据库可能会有7个表空间:System、SYSAUX、Users、Undo、Temp、Example、BigTBS。

System表空间: 一个Oracle数据库至少有一个表空间,既System表空间。当数据库创建时,必须指明System表空间的数据文件的特征,如数据文件名称、大小。在System表空间中存储了Oracle自身的内部结构信息.
SYSAUX表空间: 是System表空间的辅助表空间,许多数据库的工具和可选组件将其对象存储在SYSAUX表空间内,它是许多数据库工具和可选组件的默认表空间。
Users表空间: 用于存储用户的数据。
Undo表空间: 用于事务的回滚、撤销。
Temp表空间用于存放Oracle运行中需要临时存放的数据,如排序的中间结果等。

数据字典:

是Oracle数据库的核心组件,它由基表和数据字典视图组成;
数据字典中记录了数据库的系统信息、例程运行性能;
数据字典表和数据字典视图都保存在SYSTEM表空间中;

用途: 用户可以从数据字典的只读视图中,获取各种与对象有关的信息;
任何用户都可以将数据字典视为数据库的只读参考信息。
每次修改方案对象后,Oracle都在数据字典中记录下所做的修改;

常用的三类视图
user_* 存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
all_* 存储了当前用户能够访问的对象的信息。(与user_相比,all_ 并不需要拥有该对象,只需要具有访问该对象的权限即可)
dba_* 存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)

查询视图dba_tablespaces,显示表空间的信息

select tablespace_name,contents,status  from dba_tablespaces;

显示表空间所包含的数据文件

select file_name,bytes from dba_data_files where tablespace_name='SYSTEM';

显示表空间包括的所有表

select owner,table_name from all_tables where tablespace_name=’USERS’;

创建本地管理表空间

Create tablespace orcltb 
Datafile ‘f:\mag\tb01.dbf’ size 10m
Extent management local
Autoallocate;

创建临时表空间

Create temporary tablespace tmptbs
tempfile ‘f:\mag\tmpo1.dbf size 20m
Extent management local;

创建永久表空间

创建永久性表空间user_commerce01,对应数据文件为“user_commerce01.dbf”,该数据文件的“文件目录”为“D:\app\admin\oradata\orcl\”,文件大小为“100MB”,数据文件“user_commerce01”满后自动扩展,增量为“50MB”,最大文件大小为“1GB”。

Create Tablespace user_commerce01 
Datafile 'D:\app\admin\oradata\orcl\user_commerce01.dbf'  
Size 100M 
Autoextend On Next 50m 
Maxsize 1G;

创建表的同时,指定表空间。

create table  tablename(id  int)  tablespace  tablespacename;

将表空间user_commerce02重命名为user_commerce02_new 的命令如下:

alter tablespace user_commerce02 rename to user_commerce02_new;

将表空间user_commerce02_new 设置为读写状态的命令:

alter tablespace user_commerce_02_new read write;

将表空间user_commerce设置为默认的表空间的命令如下:

alter database default tablespace user_commerce;

将临时表空间user_commerce_temp设置为默认的临时表空间的命令如下:

alter database default temporary tablespace user_commerce_temp;

将表空间user_commerce02_new 及其数据文件一并删除的命令为:

drop tablespace user_commerce02_new including contents and datafiles;

将表空间user_commerce01对应的数据文件user_commerce01.dbf的大小修改为200MB的命令;

alter database datafile 'D:\app\admin\oradata\orcl\user_commerce01.dbf' resize 200M;

修改表空间中数据文件的自动拓展性,关闭表空间user_commerce01中数据文件user_commerce01.dbf的自动拓展性的命令为:

alter database datafile 'D:\app\admin\oradata\orcl\user_commerce01.dbf' autoextend off;

设置表空间user_commerce01中数据文件user_commerce01.dbf的自动拓展性,且将空间大小的增量设置为10MB,最大文件的大小限制为500M。

alter database datafile 'D:\app\admin\oradata\orcl\user_commerce01.dbf' autoextend on
next 10M maxsize 500M;

在表空间user_commerce01中增加一个数据文件commerce03.dbf的命令:

alter tablespace user_commerce01 add datafile 'D:\app\admin\oradata\orcl\commerce03.dbf' size 50M autoextend on next 10M maxsize 100M;

删除表空间user_commerce中数据文件commerce03.dbf的命令:

alter tablespace user_commerce01 drop datafile 'D:\app\admin\oradata\demo\commerce03.dbf';

CDB全称为Container Database,中文翻译为容器数据库。
PDB全称为Pluggable Database,中文翻译为可插拔数据库。
CDB有三个组成:ROOT SEED PDBS

ROOT:又名CDB$ ROOT,用来存储Oracle提供的metadata和common user 一个CDB只能有一个根。
SEED:又名PDB$SEED,是用来创建新的PDB的模版。一个CDB只能有一个SEED。
PDBS:普通数据库
在这里插入图片描述
实例与数据库可以是一对多的关系
大大方便了数据的迁移。我们可以很方便的将一个特定的PDB从一个CDB挪到另一个CDB上面而不改变里面的任何数据和架构。

默认的连接模式是CDB
进入PDB

alter session set container=pdborcl;
startup;

显示连接容器

 show con_name

在PDB中查看相关信息

在PDB中有哪些数据文件

select tablespace_name,file_id,file_name from dba_data_files;

查看有哪些默认表空间

select tablespace_name,status,contents from dba_tablespaces;

查看某用户所有数据表的信息

select table_name from user_tables;

退出PDB

alter pluggable database pdborcl close immediate;
alter session set container=CDB$ROOT;

对象命名规则

  1. 必须以字母开头
  2. 允许使用数字、字母和#_$,不允许空格和*
  3. 长度最多为30个字符
  4. 不能使用Oracle的保留字
  5. 同一用户下的对象不能同名
  6. 尽量使用约定:如有意义的名字,表名首字母t,视图首字母v

Oracle数据类型

在这里插入图片描述date和timestamp

DATE只记录日期
TIMESTAMP还保存时间

clob和blob

CLOB存放海量文字
BLOB存放图片、电影、音乐等的二进制文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值