Oracle数据库基础复习

SQLPlus命令

1. 连接、断开连接?

连接命令:CONNECT [username]/[password]

[@connect_identifier]

断开连接命令:DISC[ONNECT]

2. 编辑、执行SQL缓冲区中的SQL语句?

编辑命令:EDIT

执行缓冲区命令:RUN命令或“/”

3. 保存、读取、执行SQL文件?

Save D:\save_file.sqi;

Get D:\save_file.sqi;

Start D:\save_file.sqi;

物理存储结构

1. Oracle系统结构的组成?

数据文件:用于存储数据库中的所有数据;

控制文件:用于记录和描述数据库的物理存储结构信息;

重做日志文件:用于记录外部程序(用户)对数据库的改变操作;

归档文件:用于保存已经写满的重做日志文件;

初始化参数文件:用于设置数据库启动时的参数初始值;

跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;

口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;

警告文件:用于记录数据库的重要活动以及发生的错误;

备份文件:用于存放数据库备份所产生的文件。

2. 表空间和数据文件的关系?

一个表空间对应一个或多个数据文件,数据文件的大小决定了表空间的大小。

一个数据文件只能从属于一个表空间。

3. 创建或修改数据文件的SQL语句?

创建 ALTER TABLESPACE…ADD DATAFILE

ALTER TABLESPACE…ADD TEMPFILE

创建后修改数据文件为自动增长

AUTOEXTEND ON NEXT …MAXSIZE…|UNLIMITED

手工改变数据文件的大小

ALTER DATABASE DATAFILE…RESIZE…

4. 备份控制文件的SQL语句?

将控制文件备份为二进制文件

ALTER DATABASE BACKUP CONTROLFILE TO …

将控制文件备份为文本文件

ALTER DATABASE BACKUP CONTROLFILE TO TRACE

5. 查看控制文件、重做日志文件组和成员信息?

查询重做日志文件组的信息

SELECT GROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVED FROM V$LOG;

查询重做日志文件的信息

SELECT GROUP#,TYPE,MEMBER FROM V$LOGFILE ORDER BY GROUP#;

6. 重做日志文件切换的SQL语句?

手动日志切换的语法

ALTER SYSTEM SWITCH LOGFILE

查看日至切换状态

SELECT * FROM V$LOGFILE;

当发生日志切换时,系统将为新的重做日志文件产生一个日志序列号,在归档时该日志序列号一同被保存。日志序列号是在线日志文件和归档日志文件的唯一标识。

7. 查看归档模式。

查询数据库所有归档路径信息。

SELECT DESTINATION ,BINDING FROM V$ARCHIVE_DEST;

8. 将数据库设置为归档模式。

关闭数据库

SHUTDOWN IMMEDIATE

启动数据库到MOUNT状态

STARTUP MOUNT

使用ALTER DATABASE ARCHIVELOG语句将数据库设置为归档模式。

ALTER DATABASE ARCHIVELOG;

或使用ALTER DATABASE NOARCHIVELOG语句将数据库设置为非归档模式。

ALTER DATABASE NOARCHIVELOG;

打开数据库

ALTER DATABASE OPEN;

逻辑存储结构

1. 逻辑存储结构的组成及其关系?

Oracle9i数据库的逻辑存储结构分为数据块、区、段和表空间四种。

数据块是数据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。

2. 表空间的分类及作用?

数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间包括撤销表空间、临时表空间和用户表空间等。

SYSTEM表空间主要用于存储数据库的数据字典、PL/SQL程序的源代码和解释代码、数据库对象的定义。撤销表空间专门进行回退信息的自动管理。临时表空间是专门进行临时段管理的表空间。用户表空间用于分离不同应用的数据,而且能够减少读取数据文件时产生的I/O冲突。

3. 数据库、表空间、数据文件和数据库对象之间的关系?

一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间的大小决定了数据库的大小。

一个表空间对应一个或多个数据文件,数据文件的大小决定了表空间的大小。

一个数据文件只能从属于一个表空间。

一个数据库对象只能存储在一个表空间中,但可以存储在该表空间所对应的一个或多个数据文件中。

4. 段的分类及作用?

根据存储对象类型不同,可以分为数据段、索引段、临时段和回退段四类。

 数据段用来存储表或簇的数据。

 索引段用来存放索引信息,包括ROWID和索引键值。

 临时段用来保存SQL语句在解释和执行过程中所产生的临时数据。

 回退段用于保存数据修改之前的信息,包括数据修改前的值及其位置,即记录数据库中所有事务修改之前信息的段。

5. 回滚段的作用及回滚段的管理方式?

利用回退段中保存的信息,可以实现事务回滚、数据库恢复和数据的读一致性。

回退段的管理有两种方式,即自动撤销管理和手动撤销管理。

6. 查看表空间?

Select tablespace_namae,extent_management,allocation_type,contents from dba_tablespace;

7. 创建表空间?

(1)为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式

CREATE TABLESPACE ORCLTBS1 DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\

ORCLTBS1_1.DBF' SIZE 50M;

(2)为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。

CREATE TABLESPACE ORCLTBS2 DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\

ORCLTBS2_1.DBF' SIZE 50M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;

(3)为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式。

CREATE TABLESPACE ORCLTBS3 DATAFILE

'D:\APP\ADMINISTRATOR\ORADATA\ORCL\

ORCLTBS3_1.DBF' SIZE 50M

SEGMENT SPACE MANAGEMENT MANUAL

(4)为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式。

CREATE TABLESPACE ORCLTBS4 DATAFILE

'D:\APP\ADMINISTRATOR\ORADATA\ORCL\

ORCLTBS4_1.DBF' SIZE 50M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT MANUAL;

(5)为ORCL数据库创建一个永久性的表空间INDX,区自动扩展,段采用自动管理方式,专门用于存储ORCL数据库中的索引数据。

CREATE TABLESPACE INDX DATAFILE

'D:\APP\ADMINISTRATOR\ORADATA\ORCL\

INDEX01.DBF' SIZE 50M;

实例

1. Oracle实例的组成?

内存结构:系统全局区(SGA)和程序全局区(PGA)

后台进程组成

数据库实例是数据库系统的软件结构,由内存结构与后台进程组成,处于用户与物理数据库之间,实现对数据库的操作。

2. SGA区的组成及其各部分的主要作用?

SGA区由数据缓冲区、共享池、重做日志缓冲区、大型池、JAVA池构成。SGA区是由Oracle分配的共享内存结构,包含一个数据库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA区数据供多个用户共享,所以SGA区又称为共享全局区。用户对数据库的各种操作主要在SGA区中进行。该内存区随数据库实例的创建而分配,随实例的终止而释放。

数据高速缓冲区存储的是最近从数据文件中检索出来的数据,供所有用户共享。当用户要操作数据库中的数据时,先由服务器进程将数据从磁盘的数据文件读到数据高速缓冲区中,然后在缓冲区中进行处理。

重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。

共享池用于缓存最近执行过的SQL语句、PL/SQL程序和数据字典信息,是对SQL语句、PL/SQL程序进行语法分析、编译、执行的区域。

3. Oracle主要后台进程及其作用?(至少5个)

Oracle实例的主要后台进程包括数据库写进程(DBWR)、日志写进程(LGWR)、检查点进程(CKPT)、系统监控进程(SMON)、进程监控进程(PMON)、归档进程(ARCH)、恢复进程(RECO)、锁进程(LCKn)、调度进程(Dnnn)等。

 DBWR进程负责把数据高速缓冲区中已经被修改过的数据(“脏”缓存块)成批写入数据文件中永久保存,同时使数据高速缓冲区有更多的空闲缓存块,保证服务器进程将所需要的数据从数据文件读取到数据高速缓冲区中,提高缓存命中率。

 LGWR日志写入进程负责把重做日志缓冲区的重做记录写入重做日志文件中永久保存。

 CKPT进程的作用就是执行检查点,更新控制文件与数据文件的头部,使其同步;,触发DBWR进程,将脏缓存块写入数据文件。

 SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临时空间;将各个表空间的空闲碎片合并。

 PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所占用的资源;清除非正常中断的用户进程留下的孤儿会话,回退未提交的事务,释放会话所占用的锁、SGA、PGA等资源;监控调度进程和服务器进程的状态,如果它们失败,则尝试重新启动它们,并释放它们所占用的各种资源。

 ARCH进程用户归档重做日志文件。

 RECO进程用户数据库恢复。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180309A0ZD7A00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动