[Oracle ASM全解析] 使用SQL*Plus创建数据库文件

2020-08-19 15:10:08 浏览数 (1)

这节讲使用SQL*Plus创建数据库文件

1. 创建一个使用ASM的数据库

一般来说我们推荐使用DBCA来创建数据库,当我们需要手动命令创建的时候可以指定使用ASM,下面的语句创建一个数据库

CREATE DATABASE orcl;

该数据库包括以下内容:

  • data 磁盘组中包含一个system表空间数据文件
  • data 磁盘组中包含一个SYSAUX表空间数据文件,表空间是本地管理的而且使用ASSM
  • 两个在线重做日志组,每组包含两个成员,分别在data磁盘组和fra磁盘组
  • 如果启用了自动undo空间管理,则会在data磁盘组创建undo文件
  • 如果没有指定CONTROL_FILES初始化参数,则会在data和fra磁盘组创建两个控制文件,data 磁盘组的控制文件为主控制文件

以上要求参数文件包含下面内容:

DB_CREATE_FILE_DEST = data DB_RECOVERY_FILE_DEST = fra DB_RECOVERY_FILE_DEST_SIZE = 10G

2. 创建一个使用ASM的表空间

使用ASM创建的表空间默认情况下数据文件会是自动扩展的(auto-extensible),大小无限制(最大操作系统允许),数据文件大小为100M,你可以在创建时指定相应的属性

我们可以使用RMAN命令讲ASM文件和非ASM文件相互转换

2.1 在data磁盘组新建表空间tblspace

CREATE TABLESPACE tblspace DATAFILE data;

2.2 使用OMF创建表空间

假设设置了如下参数

DB_CREATE_FILE_DEST = data

接下来创建表空间tblspace

CREATE TABLESPACE tblspace;

3.创建使用ASM的redo log文件

在线重做日志可以存在于不同的磁盘组

3.1 创建2个redo log组,每组一个成员

ALTER DATABASE ADD LOGFILE ( data1, data2);

3.2 使用OMF创建redo log

假设在参数文件设置了如下参数

DB_CREATE_ONLINE_LOG_DEST_1 = data1 DB_CREATE_ONLINE_LOG_DEST_2 = data2

接下来创建redo log

ALTER DATABASE ADD LOGFILE;

4. 创建使用ASM的归档日志文件

我们可以在LOG_ARCHIVE_DEST 和LOG_ARCHIVE_DEST_n参数中指定磁盘组名称,这时会自动生成唯一名称

当参数设置成磁盘组时, LOG_ARCHIVE_FORMAT 参数会被忽略,如果设置的是磁盘组的一个目录,此时是生效的

下面内容为将LOG_ARCHIVE_DEST_n设置为 data时的目录结构

DATA/ORCL/ARCHIVELOG/2009_09_23/thread_1_seq_38.614.541956473 DATA/ORCL/ARCHIVELOG/2009_09_23/thread_4_seq_35.609.541956477 DATA/ORCL/ARCHIVELOG/2009_09_23/thread_2_seq_34.603.541956487 DATA/ORCL/ARCHIVELOG/2009_09_25/thread_3_seq_100.621.541956497 DATA/ORCL/ARCHIVELOG/2009_09_25/thread_1_seq_38.614.541956511

5. 创建使用ASM的控制文件

下图为一个创建控制文件的例子,具体请看官方文档

具体请参考下面链接

https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmbysql.htm#OSTMG95282

0 人点赞