一、验证系统要求
1,要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:grep MemTotal /proc/meminfogrep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:
df -h例如:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot
该示例表明,/tmp 目录没有自己的文件系统。(对本指南而言,它是根文件系统的一部分。)根文件系统可用空间为 5.2 GB,除了满足安装 (2.5 + 1.2 + 0.4 = 4.1GB) 外还小有富余。
2,安装必需的软件包
所需内核版本:2.6.18。该内核或其他更新的内核可用于 Oracle 数据库 11g 第 1 版。
通过运行以下命令检查内核版本:
# uname -r
2.6.18-53.el5xen
● compat-libstdc++-33-3.2.3-61
● elfutils-libelf-0.125-3.el5
● elfutils-libelf-devel-0.125-3.el5
● glibc-2.5-12
● glibc-devel-2.5-12
● glibc-common-2.5-12
● gcc-4.1.1-52.el5
● gcc-c++-4.1.1-52.el5
● libgcc-4.1.1-52.el5
● libaio-0.3.106-3.2
● libaio-devel-0.3.106-3.2
● libstdc++-4.1.1-52.el5
● libstdc++-devel-4.1.1-52.el5
● unixODBC-2.2.11-7.1
● unixODBC-devel-2.2.11-7.1
● sysstat-7.0.0-3.el5
● binutils-2.17.50.0.6-2.el5
● make-3.81-1.1
3,安装oracleasm支持包
驱动下载地址:http://www.oracle.com/technology/software/tech/linux/asmlib/rhel5.html
创建asm数据库,首先需要ASMLib驱动程序包,可以从相关的网站下载到和操作系统对应的rpm文件,分别为oracleasm-support- 2.0.3-1、oracleasm-2.6.18-8.el5- 2.0.4-1.el5、oracleasmlib-2.0.3-1.el5。
# rpm -Uvh oracleasm*.rpm
# rpm -qa|grep oracleasm
oracleasm-support-2.0.3-1
oracleasm-2.6.18-8.el5-2.0.4-1.el5
oracleasmlib-2.0.3-1.el5
[root@RHEL5 Desktop]# rpm -Uhv oracleasmlib-2.0.4-1.el5.i386.rpm
error: Failed dependencies:
oracleasm >= 1.0.4 is needed by oracleasmlib-2.0.4-1.el5.i386
[root@RHEL5 Desktop]#
My kernel version is:
[root@RHEL5 Desktop]# uname -rn
RHEL5.3 2.6.18-164.el5
问题的解决:
1. 先安装 oracleasm-support-2.1.3-1.el5.i386.rpm
2. 再直接运行 [root@RHEL5 ~]# oracleasm update-driver
系统自动查找驱动程序,运行过程显示如下:
[root@Rm-DevDB ~]# oracleasm update-driver
Kernel: 2.6.18-194.3.1.el5 x86_64
Driver name: oracleasm-2.6.18-194.3.1.el5
Latest version: oracleasm-2.6.18-194.3.1.el5-2.0.5-1.el5.x86_64.rpm
Installing driver...
warning: /tmp/oracleasm.M21786/oracleasm-2.6.18-194.3.1.el5-2.0.5-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-2.6.18-194.3.########################################### [100%]
Driver installed successfully
[root@Rm-DevDB dhj]# rpm -qa|grep oracleasm
oracleasm-support-2.1.3-1.el5
oracleasm-2.6.18-194.3.1.el5-2.0.5-1.el5
[root@Rm-DevDB dhj]#
[root@Rm-DevDB dhj]# rpm -Uvh oracleasmlib-2.0.4-1.el5.x86_64.rpm
warning: oracleasmlib-2.0.4-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasmlib ########################################### [100%]
二、创建 Oracle 组和用户帐户
接下来,创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令:
/usr/sbin/groupadd oinstall/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
设置 oracle 帐户的口令:
passwd oracle例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
三、创建目录
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息,请参阅针对 UNIX 系统的 Oracle 数据库 10g 安装指南 的附录 D。
以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。
以 root 用户身份执行以下命令:
mkdir -p /u01/app/oraclemkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
例如:
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata
四、修改Linxu其他环境
1、oracle10g官方不支持as5 但支持as4等其它版本 所以要修改一下 其实有三种解决办法
a、修改系统版本
编辑/etc/redhat-release
#vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)
改为
Red Hat Enterprise Linux Server release 4 (Tikanga)
*但请记住在Oracle安装完成之后将系统修改回原来的版本
b、修改oracle安装文件 将 redhat-5 填上
# vi /10201_database_linux32/database/install/oraparam.ini
### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
c、最简单的方法 在安装时忽略系统检查
sh ./runInstaller -ignoreSysPrereqs
2、为了防止在安装 出现乱码 需更改系统语言
# vi /etc/sysconfig/i18n
LANG="en_US.UTF-8"
3、修改内核参数
# vi /etc/sysctl.conf
kernel.shmall = 2097152 '已经定义了 修改即可
kernel.shmmax = 2147483648 '已经定义了 修改即可
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=1048576
net.core.rmem_max=1048576
net.core.wmem_default=262144
net.core.wmem_max=262144
查看定义情况
#cat /etc/sysctl.confkernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
执行下面的命令 使上面的设置有效
# /sbin/sysctl -p
以 root 用户身份运行以下命令来验证您的设置:
/sbin/sysctl -a | grep shm/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
例如:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
4、更改设置
为 oracle 用户设置 Shell 限制
Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:
cat >> /etc/security/limits.conf <<EOForacle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
# vi /etc/security/limits.conf
行末添加以下内容
* soft nproc 2047
* hard nproc 16384
* soft nofile 4096
* hard nofile 65535
添加以下内容 # /etc/pam.d/login
session required /lib/security/pam_limits.so
在/etc/profile文件中添加以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
对于 RHEL 2.1 和 RHEL 3,使用以下命令:
cat >> /etc/profile <<EOFif [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
上面的设置都是在root用户下进行的
五、设置环境变量 ---以oracle登录
oracle 用户的环境变量
要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
以 oracle 身份登录,并通过在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,将 ORACLE_BASE 添加到登录配置文件:
把以下写在.bashrc 请根据自己的实际路径写。
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1/db_1; export ORACLE_HOME
ORACLE_SID=WCHDB1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
或者写在
#vi .bash_profile
然后
#source ~/.bash_profile
此更改将在您下次登录到 oracle 帐户时生效。要使更改对当前会话为活动状态,只需从命令行运行此命令。
六、 安装
如果想使用ASM管理数据库,使用六中介绍的配置ASM的方法。
1,解压Oracle文件的方法。
gunzip ship.db.cpio.gzcpio -idmv < ship.db.cpio
Directions 1. Unzip the file: gunzip <filename> 2. Extract the file: cpio -idmv < <filename> 3. Installation guides and general Oracle Database 10g documentation can be found here. 4. Review the certification matrix for this product here.
用oracle登录 运行 sh ./runInstaller 或者 sh ./runInstaller -ignoreSysPrereqs
客户端启动指令
[oracle@Rm-DevInterface ~]$ oemapp console
2,乱码解决方法:
3,安装过程中需要执行的脚本:以root执行
/opt/app/oracle/oraInventory/orainstRoot.sh //更改权限
/opt/app/oracle/product/10.2.0.1/db_1/root.sh //添加环境变量
具体执行过程如下:
[root@Rm-DevDB oracle]# /opt/app/oracle/oraInventory/orainstRoot.sh
Changing permissions of /opt/app/oracle/oraInventory to 770.
Changing groupname of /opt/app/oracle/oraInventory to oinstall.
The execution of the script is complete
[root@Rm-DevDB oracle]# /opt/app/oracle/product/10.2.0.1/db_1/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /opt/app/oracle/product/10.2.0.1/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized
Adding to inittab
Startup will be queued to init within 90 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
rm-devdb
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
4,数据库编码注意选择Utf-8格式5,错误解决方法
错误一:
/tmp/OraInstall2007-12-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
原因是:缺少支持打印的图形化动态链接库libXp.so.6
这个错误是由于缺少系统安装包,在RHEL5以前的版本,可以安装xorg-x11-deprecated-libs包即可,这个安装包可以在系统 光盘第三张盘中找到(对于redhat as4.2以前,redhat as4.4是在第四张安装光盘)
错误二:
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
这个错误是也是由于缺少系统安装包造成的,只需安装XFree86-libs包即可,这个安装包可以在系统光盘中找到。
在上面两个错误如果出现在redhat as5版本中,解决如下:
在RHEL5中上面的包被libXp所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm将包打上后问题即可解决。
错误三:
error while loading shared libraries: libstdc++-libc6.1-1.so.2
只用执行如下操作 ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2
参考案例
案例一:
在RHEL5上测试安装oracle10g,本以为之前转过11g,这次会比较顺利,结果还是遇到两个问题。
首先,在执行runInstaller时,系统报错:
You do not have sufficient permissions to access the inventory '/oracle11g/oraInventory'. Installation cannot continue. Make sure that you have read/write permissions to the inventory directory and restart the installer.: Permission denied
这里采用的是新建一个10g用户的方法让10g,11g并存,实际上在启动安装程序的时候,oracle会去找/etc/oraInst.loc和 oratab这两个文件(hp是/var/opt/oracle)
而在oraInst.loc里面定义了inventory_loc的位置和inst_group,由于之前装过了一个11g,里面的定义都是针对 11g用户设置的,所以才会报错。解决办法是执行runInstaller -invPtrLoc /oracle10g/oraInst.loc 命令就可以绕过去了,oracle会创建一个新的loc文件。
上一步成功通过之后,紧接着报了下面的错:
Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-08-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-08-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
在RHEL5以前这个错误是因为缺少XFree86-libs或xorg-x11-deprecated-libs这两个包其中一个(版本不同包不 同),而在RHEL5中前面的包被libXp所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm将包打上后问题解决。之后一切顺利。
案例二:
参考 http://moto.debian.org.tw/viewtopic.php?t=8055&sid=eb2524337903c5af7ce1e839e0a35b68
进行前期的安装准备
在开始安装时出现以下错误:
对于error while loading shared libraries: libstdc++-libc6.1-1.so.2
我的解决办法是
ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2
对于
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
的解决办法是
apt-get install libXp.so.6
apt-get install libXt.so.6
apt-get install libxtst6
案例三:
在RH Linux7.3上使用JasperReport作为报表引擎时,碰到了一样的问题:
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
在各位前面回复的提示下,经过一上午的google,终于得以解决这个问题
原因是:缺少支持打印的图形化动态链接库libXp.so.6(也许还有相关的其他库)
解决办法:下载并安装XFree86-libs-4.2.0-8.i386.rpm,/usr/X11R6/lib下就会出现需要的 libXp.so.6.2
附上XFree86-libs-4.2.0-8.i386.rpm的一个下载地址:
http://www.cnblogs.com/gergro/admin/ftp://ftp.nluug.nl/vol/1/schoollan/os/linux/RPMS/XFree86-libs-4.2.0-8.i386.rpm
七、自动存储管理 (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 程序包组成的程序包集提供:
- oracleasmlib - ASM 库
- oracleasm-support - 用于管理 ASMLib 的实用程序
- oracleasm - ASM 库的内核模块
首先,以 root 用户身份登录并运行以下命令来确定所使用的内核:
uname -rm例如:
# uname -rm
2.4.9-e.27smp i686
该示例表明,这是一个使用 Intel i686 CPU 的 SMP(多处理器)系统的 2.4.9 内核。
使用此信息在 OTN 上查找相应的 ASMLib 程序包:
- 将 Web 浏览器指向 http://www.oracle.com/global/cn/technology/tech/linux/asmlib
- 选择适用于您的 Linux 版本的链接。
- 下载适用于您的 Linux 版本的 oracleasmlib 和 oracleasm-support 程序包
- 下载与您的内核相对应的 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 configureConfiguring 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 enableWriting 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 listdisksVOL1
VOL2
VOL3
VOL4
VOL5
VOL6
既然已经安装了 ASMLib,且已将磁盘标记为可用,下面,您便可以创建一个 ASM 实例,并构建一个使用 ASM 进行磁盘存储的数据库。最容易的方法就是使用数据库配置助手 (DBCA) 来完成此操作。
以 oracle 身份登录并启动 DBCA:
$ dbca
- 欢迎
- 单击 Next。
- 操作
- 选择 Create a Database。
- 数据库模板
- 选择 General Purpose。
- 数据库标识
- 输入全局数据库名称。
- 管理选项
- 选择 Configure the Database with Enterprise Manager。
- 选择 Use Database Control for Database Management。
- 数据库证书
- 选择 Use Same Password for All Accounts。
- 输入口令并确认。
- 存储选项
- 选择 Automatic Storage Management (ASM)。
- 创建 ASM 实例
- 输入 ASM 实例的口令并确认。
- 弹出一个窗口,提示 DBCA 将立即创建并启动 ASM 实例。
- 单击 OK。
- 创建 ASM 实例时弹出一个带齿轮箱窗口。
- ASM 磁盘组
- 由于这是新 ASM 实例且您尚未创建任何 ASM 实例,因此该窗口未显示可用磁盘组。
- 单击 Create New。
- 创建磁盘组
- 磁盘组名称
- 输入磁盘组名称,如 DATA1。
- 冗余
- High 镜像数据两次。
- Normal 镜像数据一次。
- External 不镜像 ASM 中的数据。如果外部 RAID 阵列提供冗余,则通常使用此选项。 - 选择成员磁盘
- 您必须手动指示 ASM 到什么地方查找 ASMLib 磁盘,因此,单击 Change Disk Discovery Path
- 弹出一个窗口,提示输入磁盘发现路径。如下所示将磁盘发现路径更改为 “ORCL:*”。
- 单击 OK 继续。
- 您将返回到 Select Member Disks 窗口。您的所有 ASMLib 磁盘现在应显示在此窗口中。
单击该行开头的框,选 择加入磁盘组的磁盘。完成后单击 OK。
- 磁盘组名称
- ASM 磁盘组
- 您将返回到 ASM Disk Groups 窗口。此时,出现在上一步中创建的磁盘组。
- 单击该行开头的框选择此磁盘组。(在此实例中使用单个磁盘组。)
- 单击 Next。
- 数据库文件位置
- 选择 Use Oracle-Managed Files。
- 确保已将 Database Area 设置为您创建的磁盘组。它包含一个前导加号 — 例如,+DATA1。
- 恢复配置
- 选择 Specify Flash Recovery Area。
- 快速恢复区 — 输入要用于快速恢复的 ASM 磁盘组。
- 快速恢复区大小 — 接受默认值 2048。
- 如果要使用归档日志模式,则选中 Enable Archiving。对于评估数据库,可以不选该项。
- 选择 Specify Flash Recovery Area。
- 数据库内容
- 选择 Sample Schemas。
- 我们不使用定制脚本,因此单击 Next。
- 初始化参数
- 接受默认值,然后单击 Next。
- 数据库存储
- 接受默认值,然后单击 Next。
- 创建选项
- 选择 Create Database(默认值)并单击 Finish。
- 确认
- 检查完数据库详细信息后单击 OK。
- DBCA 显示一个操作列表和一个进度条。根据硬件的不同,数据库创建可能需要几分钟到几小时的时间。
- 当数据库创建完成时,将显示一个显示摘要窗口。记下 Enterprise Manager URL,然后单击 Exit。
现在,您的数据库已经启动并运行,您可以开始使用 Oracle 10g 中提供的许多新特性。最好从 Oracle Enterprise Manager 开始使用,这是因为它是彻底地重新编写的,采用了基于 Web 的界面。如果不确定从何处开始,Oracle 概念指南 和 DBA 两日速成指南 将帮助您熟悉新数据库。OTN 还提供了一些旨在帮助您充分利用 10g 的文章。我最喜欢的是由 Arup Nanda 编写的系列文章“Oracle 数据库 10g:为 DBA 提供的 20 个最重要的特性。”
附录
使用 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:
$ sqlplusSQL*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。
例如:
http://ds1.orademo.org:5500/em(如果 服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)
用户名:SYS
口令:< 安装过程中选择的口令>
连接为:SYSDBA
单击 <Login>
欢迎走入 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。
例如:
http://ds1.orademo.org:5560/isqlplus(如 果数据库服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)
用户名:SYSTEM
口令:< 安装过程中选择的口令>
单击 <Login>。
在 Workspace 框中输入 SQL 命令,然后单击 Execute。
启动和停止 iSQL*Plus:
$ isqlplusctl start$ isqlplusctl stop
启动和停止监听器:
监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM 或 iSQL*Plus,必须先启动监听器。
$ lsnrctl start$ lsnrctl stop
启动和停止数据库:
启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:
启动:
$ sqlplusSQL*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:
$ sqlplusSQL*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€“fuoracle什么是 ocssd.bin 进程?
Oracle 集群同步服务 (OCSSD) 是 Oracle 集群就绪服务 (CRS) 的一个组件,用于 RAC 和使用 ASM 的单个实例数据库。它在默认情况下安装,使用很少的系统资源,并在 /etc/inittab 中进行配置。这些进程在系统每次启动时自动启动。Oracle 建议不要禁用 OCSSD,即使您未运行 ASM。
客户端启动指令
[oracle@Rm-DevInterface ~]$ oemapp console