分类: Oracle
2008-04-21 18:49:23
例如: # 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。
安装 ASM
在 Linux 平台上,ASM 可以使用原始设备,或通过 ASMLib 接口管理的设备。出于易于使用和性能方面的原因,Oracle 建议在原始设备上使用 ASMLib。ASMLib 现在可以从 OTN 。本部分逐步讲解使用 ASMLib 配置一个简单 ASM 实例和构建一个使用 ASM 进行磁盘存储的数据库的全过程。
确定所需的 ASMLib 版本
ASMLib 以三个 Linux 程序包组成的程序包集提供:
首先,以 root 用户身份登录并运行以下命令来确定所使用的内核:
uname -rm 例如: # uname -rm 2.4.9-e.27smp i686
该示例表明,这是一个使用 Intel i686 CPU 的 SMP(多处理器)系统的 2.4.9 内核。
使用此信息在 OTN 上查找相应的 ASMLib 程序包:
接下来,通过以 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 ('[]').Hittingwithout 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
结论
现在,您的数据库已经启动并运行,您可以开始使用 Oracle 10g 中提供的许多新特性。最好从 Oracle Enterprise Manager 开始使用,这是因为它是彻底地重新编写的,采用了基于 Web 的界面。如果不确定从何处开始,Oracle 概念指南 和 DBA 两日速成指南 将帮助您熟悉新数据库。OTN 还提供了一些旨在帮助您充分利用 10g 的文章。我最喜欢的是由 Arup Nanda 编写的系列文章“Oracle 数据库 10g:为 DBA 提供的 20 个最重要的特性。”
在下一篇文章中,我们将逐步讲解如何安装和配置一个功能齐全的双节点 Oracle RAC 10g 数据库。
附录
使用 SQL*Plus 访问数据库
以 oracle 身份登录到 Linux。设置环境。
设置 Oracle 环境变量:
$ export ORACLE_BASE=/u01/app/oracle $ export ORACLE_SID=demo1 $ export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1 $ export PATH=$PATH:$ORACLE_HOME/bin
运行 SQL*Plus:
$ sqlplus SQL*Plus:Release 10.1.0.2.0 - Production on Sat Jun 5 16:59:21 2004 Copyright (c) 1982, 2004, Oracle.All rights reserved. Enter user-name:/ as sysdba Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options SQL>
使用 Oracle Enterprise Manager 10g 数据库控制
在 Web 浏览器中,连接到安装过程中提供的 URL。
例如:
(如果服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)
用户名:SYS
口令:<安装过程中选择的口令>
连接为:SYSDBA
单击
欢迎走入 Oracle Enterprise Manager 10g 数据库控制的精彩世界!
启动和停止 Oracle Enterprise Manager 数据库控制:
$ emctl start dbconsole $ emctl stop dbconsole
使用 iSQL*Plus 访问数据库
iSQL*Plus 是历史悠久的 SQL*Plus 交互式工具的基于 Web 的版本,用于访问数据库。要使用 iSQL*Plus,请单击 OEM 控制台 Related Links 部分中的 iSQL*Plus 链接,或将浏览器指向安装过程中提供的 iSQL*Plus URL。
例如:
(如果数据库服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)
用户名:SYSTEM
口令:<安装过程中选择的口令>
单击
在 Workspace 框中输入 SQL 命令,然后单击 Execute。
启动和停止 iSQL*Plus:
$ isqlplusctl start $ isqlplusctl stop
启动和停止监听器:
监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM 或 iSQL*Plus,必须先启动监听器。
$ lsnrctl start $ lsnrctl stop
启动和停止数据库:
启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:
启动:
$ sqlplus SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:27:48 2004 Copyright (c) 1982, 2004, Oracle.All rights reserved. Enter user-name:/ as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 188743680 bytes Fixed Size 778036 bytes Variable Size 162275532 bytes Database Buffers 25165824 bytes Redo Buffers 524288 bytes Database mounted. Database opened. SQL> exit
Shutdown:
$ sqlplus SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:25:55 2004 Copyright (c) 1982, 2004, Oracle.All rights reserved. Enter user-name:/ as sysdba Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> exit
列出 Oracle 进程:
$ ps a