ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个比较完整的Linux安装Oracle文档转帖(五)

一个比较完整的Linux安装Oracle文档转帖(五)

原创 Linux操作系统 作者:andyxu 时间:2009-12-03 14:36:56 0 删除 编辑

第 4 部分:配置存储

我们在第 3 部分中创建的数据库使用单一文件系统 (/u02/oradata) 进行磁盘存储。但为 Oracle 数据库配置存储的方式有多种。

第 4 部分介绍了为此数据库配置磁盘存储的其他方法。尤其是,它描述了如何创建其他文件系统以及如何使用自动存储管理 (ASM)。如何使用原始设备和 Oracle 集群文件系统 (OCFS) 将在本系列的另一篇文章中介绍,该篇文章介绍了如何使用 Oracle 真正应用集群 (RAC) 创建集群数据库。

文件系统

文件系统是为 Oracle 数据库存储数据文件、重做日志和控制文件最常用的方法。文件系统易于实施,并且无需第三方软件来管理。

大多数情况下,文件系统在 Linux 的初始安装过程中创建。但有时必须在初始安装后(如安装新磁盘驱动器后)创建新文件系统。

本部分介绍了如何构建新文件系统以及如何在 Oracle 数据库中使用它。除非另有说明,否则必须以 root 用户身份运行所有命令。

对磁盘进行分区

必须使用空磁盘分区来创建文件系统。如果已经有一个空的可用磁盘分区,则跳到下一步。

以下是一个为 Linux 文件系统创建新分区的示例。(警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险。)

此示例使用 /dev/sdb(一个没有分区的空 SCSI 磁盘)为整个磁盘 (36 GB) 创建单个分区。

例如:
# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel.Changes will remain in memory only,
until you decide to write them.After that, of course, the previous
content won't be recoverable.


The number of cylinders for this disk is set to 4427.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):p

Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4427, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):
Using default value 4427

Command (m for help):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING:If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

现在验证新分区:

例如:
# fdisk /dev/sdb

The number of cylinders for this disk is set to 4427.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):p

Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/sdb1             1      4427  35559846   83  Linux

Command (m for help):q

创建文件系统

使用 ext3 创建这个新的文件系统。也可以使用其他文件系统,但 ext3 在系统崩溃时可提供最快的恢复。

例如:
# mke2fs -j /dev/sdb1
mke2fs 1.26 (3-Feb-2002)
Filesystem label=
OS type:Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
4447744 inodes, 8889961 blocks
444498 blocks (5.00%) reserved for the super user
First data block=0
272 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
        2654208, 4096000, 7962624

Writing inode tables:done
Creating journal (8192 blocks):done
Writing superblocks and filesystem accounting information:done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.Use tune2fs -c or -i to override.

创建挂载点

文件系统必须有一个挂载点,它只是一个空的目录,新文件系统在这里与系统目录树“相连”。挂载点的命名应遵循 Oracle 灵活结构 (OFA) 标准。有关 OFA 标准的更多信息,请参阅 Oracle 10g 数据库安装指南 的附录 D。

由于您已经在第 1 部分中使用了 /u01 和 /u02 目录名称,因此在本示例中使用 /u03。

例如:
# mkdir /u03

将新文件系统添加到 /etc/fstab

因此新文件系统将在系统启动时自动挂载,您需要向描述新文件系统及其安装位置的 /etc/fstab 文件中添加一行。使用文本编辑器向 /etc/fstab 中添加如下所示的一行。

/dev/sdb1         /u03           ext3    defaults       1 1

挂载新文件系统

文件系统挂载后就可以使用了。只有挂载了文件系统,才能在其中存储文件。使用以下命令挂载文件系统并验证它是否可用。

mount /u03
df -h /u03

例如:
# mount /u03
# df -h /u03
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             33G   33M  31G   1%   /u03

创建 Oracle 目录并设置权限

现在,创建一个用于存放 Oracle 文件的目录。该示例中使用的目录名遵循数据库的 OFA 标准命名惯例,即 ORACLE_SID=demo1。

mkdir -p /u03/oradata/demo1
chown -R oracle:oinstall /u03/oradata
chmod -R 775 /u03/oradata

在新文件系统中创建一个新表空间

新文件系统已可以使用。接下来,在文件系统中创建一个用于存储数据库对象的新表空间。以 SYSTEM 用户身份连接到数据库,然后执行 CREATE TABLESPACE 语句,并在新文件系统中指定数据文件。

例如:
$ sqlplus

SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 15:01:08 2004

Copyright (c) 1982, 2004, Oracle.All rights reserved.

Enter user-name:system
Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> create tablespace data1
2  datafile '/u03/oradata/demo1/data1_01.dbf' size 100M
3  extent management local
4  segment space management auto;

Tablespace created.

现在,可以使用此新表空间存储数据库对象,如表和索引。

例如:
SQL> create table demotab (id number(5) not null primary key,
2  name varchar2(50) not null,
3  amount number(9,2))
4  tablespace data1;
  
Table created.

自动存储管理 (ASM)

我把最重要的内容留在了最后。ASM 是 Oracle 数据库 10g 中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷管理器以及软件 RAID 等服务。ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O 以删除“热点”。它还支持直接和异步的 I/O 并使用 Oracle9i 中引入的 Oracle 数据管理器 API(简化的 I/O 系统调用接口)。

ASM 不是一个通用的文件系统,并只能用于 Oracle 数据文件、重做日志以及控制文件。ASM 中的文件既可以由数据库自动创建和命名(通过使用 Oracle 管理文件特性),也可以由 DBA 手动创建和命名。由于操作系统无法访问 ASM 中存储的文件,因此对使用 ASM 文件的数据库执行备份和恢复操作的唯一途径就是通过恢复管理器 (RMAN)。

ASM 作为单独的 Oracle 实例实施,只有它在运行时其他数据库才能访问它。在 Linux 上,只有运行 OCSSD 服务(由 Oracle 通用安装程序默认安装)才能使用 ASM。ASM 需要的内存不多:对大多数系统,只需 64 MB。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/110321/viewspace-621561/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-26

  • 博文量
    167
  • 访问量
    293247