在 Linux x86 上安装 Oracle 数据库 10g_4

简介: 自动存储管理 (ASM) 我把最重要的内容留在了最后。ASM 是 Oracle 数据库 10g 中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷管理器以及软件 RAID 等服务。ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O 以删除“热点”。
  自动存储管理 (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 通用安装程序默认安装)才能使用 ASMASM 需要的内存不多:对大多数系统,只需 64 MB

安装 ASM

Linux 平台上,ASM 可以使用原始设备,或通过 ASMLib 接口管理的设备。出于易于使用和性能方面的原因,Oracle 建议在原始设备上使用 ASMLibASMLib 现在可以从 OTN 免费下载。本部分逐步讲解使用 ASMLib 配置一个简单 ASM 实例和构建一个使用 ASM 进行磁盘存储的数据库的全过程。

确定所需的 ASMLib 版本

ASMLib 以三个 Linux 程序包组成的程序包集提供:

  • oracleasmlib - ASM
  • oracleasm-support - 用于管理 ASMLib 的实用程序
  • oracleasm - ASM 库的内核模块

每个 Linux 发行套件都有其自己的 ASMLib 程序包集。在每个发行套件中,每个内核版本都有一个相应的 oracleasm 程序包。以下部分介绍如何确定所需的程序包集。

首先,以 root 用户身份登录并运行以下命令来确定所使用的内核:

uname -rm

 

例如:

# uname -rm

2.4.9-e.27smp i686

该示例表明,这是一个使用 Intel i686 CPU SMP(多处理器)系统的 2.4.9内核。

使用此信息在 OTN 上查找相应的 ASMLib 程序包:

1.      Web 浏览器指向 http://www.oracle.com/global/cn/technology/tech/linux/asmlib

2.      选择适用于您的 Linux 版本的链接。

3.      下载适用于您的 Linux 版本的 oracleasmlib oracleasm-support 程序包

4.      下载与您的内核相对应的 oracleasm 程序包。对于以上示例,下载 oracleasm-2.4.9-e-smp-1.0.0-1.i686.rpm 程序包。

接下来,通过以 root 用户身份执行以下命令来安装程序包:

rpm -Uvh oracleasm-kernel_version-asmlib_version.cpu_type.rpm \

oracleasmlib-asmlib_version.cpu_type.rpm \

oracleasm-support-asmlib_version.cpu_type.rpm

 

例如:

# rpm -Uvh \

> oracleasm-2.4.9-e-smp-1.0.0-1.i686.rpm \

> oracleasmlib-1.0.0-1.i386.rpm \

> oracleasm-support-1.0.0-1.i386.rpm

Preparing...                #################################### [100%]

1:oracleasm-support      #################################### [ 33%]

2:oracleasm-2.4.9-e-smp #################################### [ 66%]

Linking module oracleasm.o into the module path [ OK ]

3:oracleasmlib           #################################### [100%]

配置 ASMLib

使用 ASMLib 之前,必须运行配置脚本以准备驱动程序。以 root 用户身份运行以下命令,并响应如下示例中所显示的提示。

# /etc/init.d/oracleasm configure

Configuring the Oracle ASM library driver.

 

This will configure the on-boot properties of the Oracle ASM library

driver.The following questions will determine whether the driver is

loaded on boot and what permissions it will have.The current values

will be shown in brackets ('[]').Hitting <ENTER> without typing an

answer will keep that current value.Ctrl-C will abort.

 

Default user to own the driver interface []:oracle

Default group to own the driver interface []:dba

Start Oracle ASM library driver on boot (y/n) [n]:y

Fix permissions of Oracle ASM disks on boot (y/n) [y]:y

Writing Oracle ASM library driver configuration            [ OK ]

Creating /dev/oracleasm mount point                        [ OK ]

Loading module "oracleasm"                                 [ OK ]

Mounting ASMlib driver filesystem                          [ OK ]

Scanning system for ASM disks                              [ OK ]

现在,如下所示启用 ASMLib 驱动程序。

# /etc/init.d/oracleasm enable

Writing Oracle ASM library driver configuration            [ OK ]

Scanning system for ASM disks                              [ OK ]

ASM 配置磁盘

接下来,告诉 ASM 驱动程序您要使用的磁盘。请注意,这些磁盘是不包含任何内容(甚至不包含分区)的空磁盘。可以将磁盘分区用于 ASM,但建议您不要这样做。

通过以 root 用户身份运行以下命令来标记由 ASMLib 使用的磁盘:

/etc/init.d/oracleasm createdisk DISK_NAME device_name

(提示:DISK_NAME 应由大写字母组成。当前版本有一个错误,即如果使用小写字母,ASM 实例将无法识别磁盘。)

例如:

# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb

Marking disk "/dev/sdb" as an ASM disk                     [ OK ]

# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc

Marking disk "/dev/sdc" as an ASM disk                     [ OK ]

# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd

Marking disk "/dev/sdd" as an ASM disk                     [ OK ]

# /etc/init.d/oracleasm createdisk VOL4 /dev/sdf

Marking disk "/dev/sdf" as an ASM disk                     [ OK ]

# /etc/init.d/oracleasm createdisk VOL5 /dev/sdg

Marking disk "/dev/sdg" as an ASM disk                     [ OK ]

# /etc/init.d/oracleasm createdisk VOL6 /dev/sdh

Marking disk "/dev/sdh" as an ASM disk                     [ OK ]

以下示例演示了如何列出标记为由 ASMLib 使用的所有磁盘。

# /etc/init.d/oracleasm listdisks

VOL1

VOL2

VOL3

VOL4

VOL5

VOL6

既然已经安装了 ASMLib,且已将磁盘标记为可用,下面,您便可以创建一个 ASM 实例,并构建一个使用 ASM 进行磁盘存储的数据库。最容易的方法就是使用数据库配置助手 (DBCA) 来完成此操作。

oracle 身份登录并启动 DBCA

$ dbca

1.      欢迎

o        单击 Next

2.      操作

o        选择 Create a Database

3.      数据库模板

o        选择 General Purpose

4.      数据库标识

o        输入全局数据库名称。

5.      管理选项

o        选择 Configure the Database with Enterprise Manager

o        选择 Use Database Control for Database Management

6.      数据库证书

o        选择 Use Same Password for All Accounts

o        输入口令并确认。

7.      存储选项

o        选择 Automatic Storage Management (ASM)

8.      创建 ASM 实例

o        输入 ASM 实例的口令并确认。

9.      弹出一个窗口,提示 DBCA 将立即创建并启动 ASM 实例。

o        单击 OK

10.   创建 ASM 实例时弹出一个带齿轮箱窗口。

11.   ASM 磁盘组

o        由于这是新 ASM 实例且您尚未创建任何 ASM 实例,因此该窗口未显示可用磁盘组。

o        单击 Create New

12.   创建磁盘组

o        磁盘组名称
-
输入磁盘组名称,如 DATA1

o        冗余
- High
镜像数据两次。
- Normal
镜像数据一次。
- External
不镜像 ASM 中的数据。如果外部 RAID 阵列提供冗余,则通常使用此选项。

o        选择成员磁盘
-
您必须手动指示 ASM 到什么地方查找 ASMLib 磁盘,因此,单击 Change Disk Discovery Path
-
弹出一个窗口,提示输入磁盘发现路径。如下所示将磁盘发现路径更改为“ORCL:*”
-
单击 OK 继续。

 

o        您将返回到 Select Member Disks 窗口。您的所有 ASMLib 磁盘现在应显示在此窗口中。
单击该行开头的框,选择加入磁盘组的磁盘。完成后单击 OK

 

13.   ASM 磁盘组

o        您将返回到 ASM Disk Groups 窗口。此时,出现在上一步中创建的磁盘组。

o        单击该行开头的框选择此磁盘组。(在此实例中使用单个磁盘组。)

o        单击 Next

14.   数据库文件位置

o        选择 Use Oracle-Managed Files

o        确保已将 Database Area 设置为您创建的磁盘组。它包含一个前导加号例如,+DATA1

15.   恢复配置

o        选择 Specify Flash Recovery Area
-
快速恢复区输入要用于快速恢复的 ASM 磁盘组。
-
快速恢复区大小接受默认值 2048

o        如果要使用归档日志模式,则选中 Enable Archiving。对于评估数据库,可以不选该项。

16.   数据库内容

o        选择 Sample Schemas

o        我们不使用定制脚本,因此单击 Next

17.   初始化参数

o        接受默认值,然后单击 Next

18.   数据库存储

o        接受默认值,然后单击 Next

19.   创建选项

o        选择 Create Database(默认值)并单击 Finish

20.   确认

o        检查完数据库详细信息后单击 OK

21.   DBCA 显示一个操作列表和一个进度条。根据硬件的不同,数据库创建可能需要几分钟到几小时的时间。

22.   当数据库创建完成时,将显示一个显示摘要窗口。记下 Enterprise Manager URL,然后单击 Exit

 

目录
相关文章
|
5天前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
38 20
|
1月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
105 11
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
22天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
51 3
|
22天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
55 3
|
22天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE &#39;log_%&#39;;`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
72 2
|
1月前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
236 15
|
29天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
1月前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。