第一章 oracle体系结构
一、oracle服务器组成
1.oracle实例:包含内存结构和后台进程
1)内存结构:
(1)PGA:程序全局区。一个用户有一个。不共享。当用户结束回话时释放。(program global area)
(2)SGA:系统全局区。只有一个。共享。实例启动时创建。服务停掉时释放。(system global area)
2)后台进程:服务器进程。每一个进程在数据库中执行不同的任务。
补充:SGA:由共享池、数据缓冲区、日志缓冲区三部分组成。
共享池:PL/SQL进行分析、编译的内存区域。
数据缓冲区:数据修改时,首先从数据文件取出,存储在数据缓冲区中;修改,插入的数据也存储在这里。最后被写入文件。
日志缓冲区:日志信息产生于日志缓冲区中。当日志达到一定数量时,由LGWR写入日志文件。
2.oracle数据库
1)逻辑结构:表空间-->数据段-->数据区-->数据块、模式。
2)物理结构:数据文件、日志文件、控制文件。
二、表空间
1.默认表空间(内置的表空间)
2.自定义表空间:
常用指令:
a.查看当前数据库的所有表空间名:
select tablespace_name from dba_data_files;
b.查看表结构:
desc 表名
c. 清屏:clear screen
d.创建表空间:
CREATE TABLESPACE tablespacename
DEFAULT ‘filename’ SIZE integer [K|M] [AUTOEXTEND [OFF|ON]];
其中:
Tablespacename是需要创建的标空间名称。
DATAFILE指定组成表空间的一个或多个数据文件,当有多个数据文件时使用逗号分隔。
Filename是表空间中数据文件的路径和名称。
SIZE指定文件的大小,用K指定千字节大小,用M指定兆字节大小。
AUTOEXTEND子句用来启用或禁用数据文件的自动扩展。
create tablespace 表空间名
datafile '盘符:\文件夹\文件名.dbf'
size n[k|m];
ex:
CREATE TABLESPACE testspace
DATAFILE 'D:\oracle\test.DBF'
SIZE 10M AUTOEXTEND ON;
e.查看某个表空间里包含的表:
select segment_name from user_segments
where tablespace_name='表空间名(大写)';
f.改变一个表的表空间:
alter table 表名 move tablespace 表空间名;
g.创建表并指定它的表空间:
create table 表名
( 列1 数据类型,
列2 数据类型
)tablespace 表空间名;
补充:如不指定,则自动存储在system表空间里。
ex:
CREATE TABLE vendor_master
(
vencode VARCHAR2 (5) ,
venname VARCHAR2 (20),
venname1 VARCHAR2 (20),
venname2 VARCHAR2 (20),
venname3 VARCHAR2 (20)
)tablespace 表空间名;
三、模式:一个用户的所有数据库对象的集合称作模式。
模式名=用户名。数据库对象包括表、视图、过程、索引、触发器等。
四、ORACLE用户
1.内置用户:
sys change_on_install 超级