重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
a. 首先停止Oracle10g 环境
成都网络公司-成都网站建设公司创新互联建站10多年经验成就非凡,专业从事成都网站设计、成都做网站,成都网页设计,成都网页制作,软文推广,广告投放平台等。10多年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:13518219792,我们期待您的来电!
$ lsnrctl stop (每个节点上停止监听,也可以用srvctl来操作)
$ emctl stop dbconsole (每个节点停止dbconsole)
$ srvctl stop database -d RACDB (停止数据库所有实例)
$ srvctl stop nodeapps -n node1 (停节点1服务)
$ srvctl stop nodeapps -n node2 (停节点2服务)
# /etc/init.d/init.crs stop (root 停cluster 软件)(两节点)
或者用 $ crs_stop -all
crsctl stop crs
b. 然后# init 0 关闭服务器,或者如果重新启动#init 6
c. 关闭电源 。
d. 开启Server ,开始开启Oracle10g数据库及服务等(如果OS重新启动,那么下面的所有服务是自动打开的【除了dbconsole】,不用手工执行了)。
$ srvctl start nodeapps -n node1 (开启节点1服务)
$ srvctl start nodeapps -n node2 (开启节点2服务)
# /etc/init.d/init.crs start (root 开启cluster 软件)
或者用 $ crs_start -all
$ srvctl start database -d RACDB (开启数据库所有实例)
$ lsnrctl start (每个节点上停止监听,也可以用srvctl来操作)
$ emctl start dbconsole (每个节点开启dbconsole)
正好刚整理了一个这方面的资料,先贴给你吧.
准备ASM环境
ASM使用一个名叫“+ASM”的数据库实例来管理ASM磁盘,因此在配置ASM磁盘之前,需要先启动ASM实例。另外还需要注意,ASM 实例必须要先于数据库实例启动,和数据库实例同步运行,迟于数据库实例关闭。ASM 实例的创建和删除可以用DBCA 工具来操作。在DBCA的第一个界面选择配置自动存储管理就可以进入ASM配置的界面。
根据提示运行脚本就可以配置和启动CSS(Cluster Synchronization Service)了,注意要以root的身份运行这个脚本,运行情况如下:
# /u01/app/oracle/product/10.2.0/db_1/bin/localconfig add
/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.
s1
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
ASM可以使用裸设备或者ASMLib方式, 因为裸设备的维护更罗嗦一些,本文只讨论ASMLib方式。为了在Linux系统中使用ASMLib方式准备ASM磁盘,需要安装相关的软件,下载链接如下:
下载时注意选择自己的操作系统和内核的版本,我下载到的是以下三个软件:
oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-support-2.1.4-1.el5.i386.rpm
这里特别需要注意第一个软件要和你的Linux内核的版本一致。(其实我的内核版本是2.6.18-155.el5,但是在官方网站找不到完全对应的版本,只好使用这个2.6.18-164.el5的版本了,后面会讲怎么解决这个问题。)接下来进行软件的安装,只需要使用rpm命令即可。
# rpm -ivh oracleasm*
现在安装oracleasm模块可能会报错,像我因为没有找到对应我的内核版本的oracleasm软件就遇到了这个问题。经过一番查找,发现软件将oracleasm的模块文件oracleasm.ko安装到了目录/lib/modules/2.6.18-164.el5/kernel/drivers/addon/oracleasm中,而我的默认的模块文件路径应该是/lib/modules/2.6.18-155.el5,因此决定手工建立相关的目录和文件。
# mkdir -p /lib/modules/2.6.18-155.el5/kernel/drivers/addon/oracleasm
# cp oracleasm.ko /lib/modules/2.6.18-155.el5/kernel/drivers/addon/oracleasm
然后再安装oracleasm的模块文件就可以通过了:
# depmod -a
# modprobe oracleasm
最后进行oracleasm服务的初始配置
# service 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
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
好了,现在已经有了初步的ASM配置环境,接下来就可以准备磁盘了。
添加ASM磁盘组
为了实现ASM的磁盘负载均衡和冗余能力,我准备使用四个磁盘建立ASM的磁盘组,因此需要为Linux系统添加四个磁盘。为了搭建这个环境,我使用的是VMware环境,因此添加磁盘就非常容易了。只需要在VMware的设置中选择添加硬件即可,而且现在的VMware版本是可以支持磁盘的热插拔的。无需关闭Linux系统,直接添加磁盘即可。添加完四个磁盘之后,为了让Linux系统马上识别这几个磁盘,可以运行如下命令:
# echo 'scsi add-single-device 0 0 1 0' /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 2 0' /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 3 0' /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 4 0' /proc/scsi/scsi
运行fdisk -l命令可以看到系统中增加了/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde四个磁盘。使用fdisk工具在这个四个磁盘上各建立一个分区(具体步骤略,不熟悉的可以查阅Linux的fdisk命令用法)。
然后运行oracleasm createdisk命令添加ASM磁盘:
# oracleasm createdisk VOL1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
依次添加/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四个磁盘分区,完成后检查如下:
# oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
这时运行DBCA工具的ASM配置向导就可以建立ASM磁盘组了。进入DBCA向导后,选择“Configure Automatic Storage Management”,然后单击“Create New”按钮,可以看到ASM磁盘组的配置界面。输入磁盘组的名称,如“dg1”,关于冗余级别,我选择了Norma,并且将VOL1和VOL2设置为一个Failure Group,而VOL3和VOL4设置为一个Failure Group。
以上操作也可以使用sqlplus连接到ASM实例上,使用命令完成。
为了连接到ASM实例上,首先需要设置ORACLE_SID环境变量,然后再使用sqlplus进行连接:
# ORACLE_SID=+ASM
# sqlplus / as sysdba
创建Disk Group的语句如下:
SQL create diskgroup dg1 normal redundancy
failgroup fg1 disk 'ORCL:VOL1','ORCL:VOL2'
failgroup fg2 disk 'ORCL:VOL3','ORCL:VOL4';
至此,ASM磁盘组的准备已经完成,终于可以在ASM上建立数据库了。还是使用DBCA工具,选择“Create Database”进入创建数据库的向导。按照向导操作,只是在选择存储机制时,选择ASM类型。
ORACLE g中ASMCMD使用及ASM文件XML DB访问
引言
自动存储管理(ASM) 是Oracle 数据库 g 的新功能 它为数据库管理员提供了一个简单的存储管理界面 并且该界面在所有服务器和存储平台上都是一致的 作为专门为 Oracle 数据库文件创建的整合的文件系统和卷管理器 ASM 提供了异步 I/O 的性能以及文件系统的易管理性 它简化了数据库的管理 使管理员可以将可用的存储划分为磁盘组(disk groups) 只需管理少量的磁盘组而不再需要直接管理大量的oracle数据库文件 ASM可自动管理磁盘组内数据库文件的放置 优化了性能和资源利用率
ORACLE g中的高效存储技术ASM
自动存储管理直接在Oracle 内核提供了文件系统和卷管理器的垂直整合 从而带来了存储区域网系统提供的 虚拟化 类型的优点(易于管理 更高的可用性) 并专门用于Oracle 数据库文件 ASM 提供了配置数据库的快捷方法 以达到最佳性能和资源利用率 它通过Oracle 内核自动管理数据库文件和这些文件的放置 不再需要第三方文件系统和卷管理器来管理Oracle 文件 ASM 免去了耗时的手动I/O 性能与调整任务 大大节省了DBA 的时间
ASM的镜像(mirroring)与条带化(striping) ASM 将文件分成 MB 大小的区(extent) 并将所有文件的区平均分布到磁盘组的所有磁盘中 ASM 不使用数学函数跟踪每个区的放置 而使用指针记录区的位置 这样 ASM 就可以在磁盘组配置变化时移动某个文件的某些区 而不必按照公式并根据磁盘数来移动所有的区 对于需要低延迟的文件(例如日志文件) ASM 提供了细粒度( k) 分段 以便由多个磁盘并行分隔并处理较大的I/O ASM 在所有可用的资源中分布I/O 负载 在免除手动I/O 调节需要(通过分散数据库文件来避免热点)的同时优化性能 ASM的镜像比操作系统的磁盘镜像更为灵活 因为ASM可基于文件设置冗余级别 也就是说在同一磁盘组中的两个文件可以一个是镜像的而另一个不做镜像 ASM镜像发生在区级
ASM的动态存储配置 ASM使得在线调整存储配置成为可能 即它帮助DBA 管理动态数据库环境 让DBA 能够在扩大或缩小数据库规模的情况下 无需关闭数据库以调整存储配置 而在往磁盘组中增加磁盘或从磁盘组中删除磁盘后 ASM将自动重新平衡――均衡地在磁盘组中的所有磁盘上重新分布文件数据
ASM 是一种能力 它通过实现手动存储器的自动化来节省DBA 的时间 使其能够以更高的效率管理更大 更多的数据库
通过ASMCMD工具管理ASM
在oracle数据库 g的第一个版本中 管理ASM只能通过SQL语句 g的第二个版本提供了一个管理ASM文件的新选择――命令行工具ASMCMD 它使我们可以更为方便地浏览和管理ASM磁盘组中的文件和目录 它可以列出磁盘组的内容 执行搜索 创建或删除目录及别名 显示空间利用率等等 下面将通过一个在AIX 操作系统上的oracle g的应用实例来介绍ASMCMD命令行工具的使用方法以及ASM文件的FTP及HTTP访问方式 相关环境信息如下
操作系统平台 AIX
数据库版本 ORACLE ( 节点RAC)
磁盘组 ORAHIS_ G ORAHIS_ G(将 G和 G的LUN划分为 个磁盘组)
磁盘组类型 外部冗余方式(EXTERNAL REDUNDANCY)
创建磁盘组
首选需要创建磁盘组 由于不能通过ASMCMD命令创建或删除磁盘组 以及添加或删除磁盘组中的磁盘 所以我们通过oracle g中新的SQL命令来完成磁盘组的创建
在本实例中有 G和 G两种大小的LUN 先通过操作系统命令或通过ASM实例中v$a *** _disk视图中的信息确认这两种大小的LUN的设备名 建立 个磁盘组ORAHIS_ G及ORAHIS_ G
CREATE DISKGROUP ORAHIS_ G EXTERNAL REDUNDANCY disk /dev/rhdisk /dev/rhdisk …… / CREATE DISKGROUP ORAHIS_ G EXTERNAL REDUNDANCY disk /dev/rhdisk /dev/rhdisk …… /
创建了磁盘组后就可以使用磁盘组 在上面创建数据库 分布数据库文件等
运行ASMCMD
以一个拥有SYSDBA权限的操作系统用户登录到运行了ASM实例的主机上 同时设置正确的ORACLE_HOME及ORACLE_SID环境变量以选择ASM实例 再设置正确的PATH环境变量 就可以运行ASMCMD工具了 ASMCMD可以以交互或非交互模式两种模式运行
) 交互模式运行 在操作系统命令提示符下输入a *** cmd 会得到ASMCMD提示符 可以输入相关的命令 如果使用 p选项 将在ASMCMD提示符中包含当前路径 如下
gdhish :/oracle/orahisexport ORACLE_SID=+hisa *** gdhish :/oracle/orahisa *** cmd p ASMCMD [+] ls ORAHIS_ G/ ORAHIS_ G/ ASMCMD [+] cd ORAHIS_ G ASMCMD [+ORAHIS_ G]
) 非交互模式运行 命令格式为 a *** cmd mand arguments 如下
gdhish :/oracle/orahisa *** cmd ls l State Type Rebal Unbal Name MOUNTED EXTERN N N ORAHIS_ G/ MOUNTED EXTERN N N ORAHIS_ G/
ASMCMD命令参考
) 部分常用的ASMCMD命令列表
命令 说明 du 显示指定的ASM目录下ASM文件占用的所有磁盘空间 ls 列出ASM目录下的内容及其属性 lsct 列出当前ASM客户端的信息 lsdg 列出所有磁盘组及其属性 mkalias 为系统生成的文件名创建别名
) ASMCMD命令示例
ASMCMD lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N ORAHIS_ G/
MOUNTED EXTERN N N ORAHIS_ G/
上述lsdg命令的结果显示共有两个磁盘组ORAHIS_ G和ORAHIS_ G 状态是 MOUNTED 类型是外部冗余(EXTERNAL REDUNDANCY) 当前没有重现平衡(rebalance)操作 也没有磁盘组需要重现平衡 Sector大小是 字节 Block大小是 字节 分配单元是 字节 即 M ORAHIS_ G磁盘组大小为 M 空闲大小为 M offline disks的数量为 由于是外部冗余类型 故Req_mir_free_MB 为
ASMCMD [+ORAHIS_ G/hisrac/datafile] ls ls
Type Redund Striped Time Sys Block_Size Blocks Bytes Space Name
DATAFILE UNPROT COARSE MAY : : Y BILL_TS_DT
DATAFILE UNPROT COARSE MAY : : Y UNDOTBS
上述ls –ls命令的结果显示ASM目录+ORAHIS_ G/hisrac/datafile下的文件及其属性 如文件BILL_TS_DT 和UNDOTBS 类型为DATAFILE 由于是外部冗余方式 Redund为UNPROT 即对于ASM而言是uprotected 条带化方式为COARSE 文件是系统创建的 块大小为 字节 块数为 文件大小为 字节
通过XML DB虚拟目录访问ASM文件
由于ASM 是专为处理Oracle 数据库文件而建立的整合的文件系统与卷管理器 它不是一般意义上的文件系统或集群文件系统 因此不能使用标准的FTP和HTTP服务来访问ASM文件 我们可以通过XML DB repository中的虚拟目录/sys/a *** 来访问ASM文件和目录 内容并非真正存储在repository中 所以称为虚拟目录 /sys/a *** 提供了通过XML DB协议如FTP和HTTP/WebDAV来访问和操作ASM文件的一种方法
) 配置
下面以选择FTP端口 HTTP/WebDAV端口 为例进行配置(前提是已经安装好XDB)
gdhish :/oracle/orahisexport ORACLE_SID=hisrac
gdhish :/oracle/orahissqlplus /as sysdba
SQL@?/rdbms/admin/catxdbdbca sql
访问时注意必须以拥有dba权限的数据库用户(非sys)登录
) FTP访问示例(通过FTP传输XDB dbf文件)
zhcxxt :/dsgh #ftp Connected to gdhish Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution gdhish FTP Server (Oracle XML DB/Oracle Database) ready Name ( :root): system pass required for SYSTEM Password: SYSTEM logged in ftp cd sys/a *** CWD Command successful ftp ls PORT Command successful ASCII Data Connection ORAHIS_ G ORAHIS_ G ASCII Transfer Complete ftp cd ORAHIS_ G/datafile CWD Command successful ftp bin Type set to I ftp get XDB dbf PORT Command successful BIN Data Connection BIN Transfer Complete bytes received in seconds ( e+ Kbytes/s) local: XDB dbf remote: XDB dbf ftp
) HTTP访问示例
通过类似的URL来访问
小结
lishixinzhi/Article/program/Oracle/201311/16705
oracle 用gi怎么启动asm实例
启动实例需要在服务器上做。远程做不了的。 因为实例未启动,就无法通过listener注册,远程client就到不实例。
题目如下所示:
在Oracle中,创建ASM磁盘的方式有哪几种?
答案如下所示:
可以通过ASMLIB、udev及Faking的方式来创建ASM磁盘。其中,Faking的方式不需要额外添加磁盘,可以在现有文件系统上分配一些空间用于ASM磁盘,过程如下所示:
mkdir -p /oracle/asmdisk
dd if=/dev/zero of=/oracle/asmdisk/disk1 bs=1024k count=1000
dd if=/dev/zero of=/oracle/asmdisk/disk2 bs=1024k count=1000
/sbin/losetup /dev/loop1 /oracle/asmdisk/disk1
/sbin/losetup /dev/loop2 /oracle/asmdisk/disk2
raw /dev/raw/raw1 /dev/loop1
raw /dev/raw/raw2 /dev/loop2
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
将以下内容添加到文件/etc/rc.local文件中: