Professional Documents
Culture Documents
10g ASM IMPLEMENTATION USING ASMLIB ON RHEL - 4.8 PDF
10g ASM IMPLEMENTATION USING ASMLIB ON RHEL - 4.8 PDF
10g ASM IMPLEMENTATION USING ASMLIB ON RHEL - 4.8 PDF
8)
It creates all Oracle database files on RAW BLOCK DEVICES managed by ASM using ASMLib
calls. RAW devices are NOT required with this method as ASMLib works with block devices.
ASM WITH STANDARD UNIX I/O
This method creates all Oracle database files on RAW CHARACTER DEVICES managed by ASM using
Standard Linux I/O system calls. You will be required to create RAW devices for all disk
partitions used by ASM.
DESUPPORT OF RAW DEVICES
For Oracle 10g Release 2 in Red Hat Enterprise Linux 4 and 5 it is NOT recommended to use
raw devices but to use block devices instead. Raw I/O is still available in Red Hat
Enterprise Linux 4 and 5, but it is now a deprecated interface.
By default reading and writing to block devices are buffered I/Os. In fact, Raw I/O was
briefly deprecated by the Linux community, why because it has been replaced by the O_DIRECT
flag which can be used to open block devices to bypass the OS cache. So Oracle 10g R2 no
longer requires raw devices for the database. Oracle database 10g R2 automatically opens
all block devices such as SCSI disks using the O_DIRECT flag, thus bypasses the OS cache;
so starting with Oracle 10g under Linux, RAW devices support does NOT matter anymore.
Since Oracle uses the O_DIRECT kernel flag to open database files and thereby bypass file
caching so RAW driver is DEPRECATED does NOT mean removed; it means they suggest you
DO NOT USE it. The deprecation was because they intended to remove it at some future point
but never actually did.
As I said above In LINUX kernel, RAW devices were deprecated and scheduled for removal at
one point, because the O_DIRECT flag can be used instead. However, later the decision was
made to keep RAW devices support since some software cannot use the O_DIRECT flag. Support
for raw devices was reinstated in Red Hat Enterprise Linux 5.4 and later.
In this article, we are going to implement ASM using ASMLIB interface.
WHAT IS ASMLIB ?
Oracle has developed a storage management interface called the ASMLIB API.
ASMLib is the support library for the ASM. Although ASMLib is NOT mandatory to run ASM.
ASMLIB allows an Oracle database using ASM more efficient and capable access to disk groups.
ASMLIB is an alternative interface for ASM to access block devices. ASM is STILL able to
access block devices without ASMLib, by simply using the block device drivers that have
always been supplied by the OS. On Linux, ASM is capable of referencing disks as raw devices
or by using the ASMLib software. Oracle ASMLIB is explained at Oracle Linux: Oracle ASMLib.
PURPOSE OF ASMLIB
The ASMLIB API provides 2 major feature enhancements over standard interfaces.
I/O processing To enable more efficient I/O.
Disk Discovery Provides more information about the storage attributes to the database.
Linux does NOT guarantee persistent device naming i.e. Linux may change the device names
on reboot. The name of the devices are assigned by the Linux and is determined by the scan
order of the bus. Therefore, the device names are not guaranteed to persist across reboots.
For example, SCSI device /dev/sdb can change to /dev/sda if the scan order of the controllers
is not configured.
But ASM would be able to find its disks by scanning the device header because ASMLib labels
the disks and ensures that ASM can see the same disk names when trying to mount a diskgroup.
But still you have to configure the correct ownership and permissions for the device file
for ASM to be able to work with this device. Device Persistence with Oracle Linux ASMLib.
When using ASMLib no need to create raw devices & to point the Disk discovery path to it.
SYSTEM CONFIGURATION
: 2.6.9-89.ELsmp
Architecture
: 32 bit - (i686)
# uname -a
Linux RAC-SERVER1 2.6.9-89.EL #1 Mon Apr 20 10:23:08 EDT 2009 i686 i686 i386 GNU/Linux
The 32 bit system will show i686 and i386 after the install date and time.
Oracle ASMLib is available for Linux; as a kernel module is needed only the supported Linux
distributions, the required RPM packages are downloadable from OTN. You need to pick exact
version that matches to your distribution based on kernel and architecture.
# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 8)
Oracle ASMLib Downloads for Red Hat Enterprise Linux 4 AS
http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel4-092650.html
There are 3 packages that one would normally install as part of ASM:
oracleasm + oracleasm-support + oracleasmlib
# ASM Libraries
oracleasm-support
# uname r
2.6.9-89.EL
Drivers for kernel 2.6.9-89.EL
oracleasm-2.6.9-89.ELxenU-2.0.5-1.el4.i686.rpm
oracleasm-2.6.9-89.ELsmp-2.0.5-1.el4.i686.rpm
oracleasm-2.6.9-89.ELhugemem-2.0.5-1.el4.i686.rpm
oracleasm-2.6.9-89.EL-debuginfo-2.0.5-1.el4.i686.rpm
oracleasm-2.6.9-89.EL-2.0.5-1.el4.i686.rpm
All ASMLib installations require the oracleasmlib & oracleasm-support packages appropriate
for their machine. Library and Tools common for all.
# uname p i
i686 i386
Library and Tools
oracleasm-support-2.1.7-1.el4.i386.rpm
oracleasmlib-2.0.4-1.el4.i386.rpm
uname p
uname i
Once you download above packages using ftp upload above all in Linux Server. You need #
POINTS TO NOTE
The oracleasm-2.6 package is a kernel driver that ships for various different kind of Linux
kernels that existed under EL 4. But we only need the driver for the kernel we are using
and cannot install the driver for a kernel we do not have installed.
According to our uname output we have kernel 2.6.9-89.EL, not ELsmp.
Under EL 4, SMP is for multiple CPU support. But our kernel is single CPU.
We should only install the RPM for the kernel only. We are NOT running (the hugemem, smp
and xenU kernels) so we cannot install any of those.
We need only following 3 packages
oracleasmlib
oracleasmlib-2.0.4-1.el4.i386.rpm
oracleasm-support oracleasm-support-2.1.7-1.el4.i386.rpm
oracleasm kernel driver oracleasm-2.6.9-89.EL-2.0.5-1.el4.i686.rpm
DESCRIPTION
SCSI Disk
/dev/sdxn
I have added 1st disk. Follow same procedure for other 5 disks. Each disk size is 10G and
all on different SCSI disk controller. Now you can create remaining all disks in the same
way as shown in figure above steps.
Above screenshot states we have added 6 Virtual disks for our ASM configuration. Once we
created required disks, then power on your Virtual machine just above left side of the
VMWARE WORK STATION and login as root # user.
# ls /dev/sd*
...
Since we added SCSI disk we can use /dev/sd* command. sda is our main disk where OS and
other apps are installed and sda1 to sda8 are its partitions. The following output from
'cat /proc/partitions' shows [sdb to sdg] are not partitioned yet.
# cat /proc/partitions
major minor
#blocks
name
85983232 sda
112423 sda1
32764567 sda2
22531162 sda3
1 sda4
10546641 sda5
6144831 sda6
3068383 sda7
10811713 sda8
16
10485760 sdb
32
10485760 sdc
48
10485760 sdd
64
10485760 sde
80
10485760 sdf
96
10485760 sdg
# fdisk -l |
grep ^Disk
6 disks (sdb to sdg) are the disks that Just I have added. ASMLib requires attached disks
to be partitioned. In this example, three 10Gg VMware virtual disks are to be used.
As of now no partitions, I would like to create at-least one partition one each disk. We
can create more than one partition on each disk and its possible to use each partition as
a different ASM disk.
Creating single partition on the whole device is really good because the reason is you have
one controller per disk in this case so as faster IO (If each disks are separated).
For production environment it is recommended to spread the data over different Physical
disks, to keep IO low for a Single disk. Just spreading data over different mount points
(on the same Physical disk) has no effect. At the end all IO gets to the same disk multiple
partitions on the same Physical spindle will NOT increase your I/O.
# 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.
<-----
help
Command action
a
delete a partition
<-----
Start
End
<-----
Blocks
Id
System
Command action
e
extended
<-----
Primary Partition
<-----
brw-rw----
brw-rw----
brw-rw----
brw-rw----
brw-rw----
Start
End
Blocks
Id
System
1305
10482381
83
Linux
..
...
Disk /dev/sdg: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot
Start
End
Blocks
Id
System
1305
10482381
83
Linux
/dev/sdg1
Following output shows that i have one partition for every disk.
# cat /proc/partitions
major minor
#blocks
name
85983232 sda
112423 sda1
32764567 sda2
22531162 sda3
1 sda4
10546641 sda5
6144831 sda6
3068383 sda7
10811713 sda8
16
10485760 sdb
17
10482381 sdb1
32
10485760 sdc
33
10482381 sdc1
48
10485760 sdd
49
10482381 sdd1
64
10485760 sde
65
10482381 sde1
80
10485760 sdf
81
10482381 sdf1
96
10485760 sdg
97
10482381 sdg1
ASMLIB INSTALLATION
Install ASMLibs in following order to avoid package dependency errors make sure you are
logged in as root. Install using this command rpm -ivh package-name
i - Install
h - Hash to display
v Verbose
Install ASMLibs in following order to avoid package dependency errors make sure you are
logged in as # (root) user.
oracleasm-support +
oracleasm + oracleasmlib
The oracleasm-support package provides the utilities used to get the ASM driver up and
running. The oracleasm kernel driver (for the kernel you use. The oracleasmlib package
provides the actual ASM library; which provides the ASM discover utility, is not GPL and
therefore a separate download and not included in the Linux OS release distribution
########################################### [100%]
1:oracleasm-support
########################################### [100%]
########################################### [100%]
1:oracleasm-2.6.9-89.EL
########################################### [100%]
########################################### [100%]
1:oracleasmlib
########################################### [100%]
# oracleasm -h
Usage: oracleasm [--exec-path=<exec_path>] <command> [ <args> ]
oracleasm --exec-path
oracleasm -h
oracleasm V
init
exit
scandisks
status
listdisks
querydisk
createdisk
deletedisk
renamedisk
update-driver
You must be logged on as the # user to run the oracleasm script. The script calls a number
of library functions which are declared in /usr/lib/oracleasm/oracleasm.init.functions.
The /etc/init.d/oracleasm script has following options
# /etc/init.d/oracleasm
Usage: /etc/init.d/oracleasm {start|stop|restart|enable|disable|configure|createdisk|
deletedisk|querydisk|listdisks|scandisks|status}
configure: Configure ASM.
start: Start the ASM service.
stop: Stop the ASM service.
status: Print the status of ASM service.
createdisk: Create an ASM disk.
scandisks: Search for ASM disks.
listdisks: List ASM disks.
querydisk: Query the current status of an ASM disk.
deletedisk: Delete an ASM disk.
restart: Restart the ASM service.
link: Load the oracleasm module.
enable: Enable the ASM service.
disable: Disable the ASM service.
ASM is initially configured on each host using /etc/init.d/oraclesam configure
# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver.
OK
OK
OK
OK
ENABLING ASM
# /etc/init.d/
# ./oracleasm enable
Writing Oracle ASM library driver configuration: done
Above command will load the ASM driver and mount the ASM driver. By selecting y during
the configuration, the system will always load the module and mount it on system boot.
DISKS FOR ASM USAGE
1 root disk 8,
brw-rw----
1 root disk 8,
brw-rw----
1 root disk 8,
brw-rw----
1 root disk 8,
brw-rw----
1 root disk 8,
brw-rw----
1 root disk 8,
# cd /etc/init.d/
[root@RAC-SERVER1 init.d]# ./oracleasm createdisk VOL1 /dev/sdb1
Marking disk "VOL1" as an ASM disk:
OK
OK
OK
OK
OK
OK
# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
..
...
# /etc/init.d/oracleasm querydisk VOL1
Disk "VOL1" is a valid ASM disk
# /etc/init.d/oracleasm querydisk VOL2
Disk "VOL2" is a valid ASM disk
..
...
# ls -l /dev/oracleasm/disks/
total 0
brw-rw----
brw-rw----
brw-rw----
brw-rw----
brw-rw----
brw-rw----
$ cat ora10.env
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_home
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
$ cat asm.env
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/asm_home
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM
START LISTENER
$ . ./asm.env
$ dbca
If the Oracle Cluster Synchronization Service (CSS) is not currently running, a warning
screen will be displayed. Follow the instructions and click the "OK" button. Once you've
returned to the previous screen, click the "Next" button again.
# /u02/app/oracle/product/10.2.0/db_home/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 30 seconds.
Enter Disk Group Name - and select required disks and click on OK.
Enter Disk Group Name - and select remaining disks and click on OK.
1924
0 00:21 ?
00:00:00 asm_pmon_+ASM
oracle
1926
0 00:21 ?
00:00:00 asm_psp0_+ASM
oracle
1928
0 00:21 ?
00:00:00 asm_mman_+ASM
oracle
1930
0 00:21 ?
00:00:00 asm_dbw0_+ASM
oracle
1932
0 00:21 ?
00:00:00 asm_lgwr_+ASM
oracle
1934
0 00:21 ?
00:00:00 asm_ckpt_+ASM
oracle
1936
0 00:21 ?
00:00:00 asm_smon_+ASM
oracle
1938
0 00:21 ?
00:00:00 asm_rbal_+ASM
oracle
1940
0 00:21 ?
00:00:00 asm_gmon_+ASM
oracle
2100
1075
0 00:59 pts/2
0 00:21 ?
00:00:00 asm_pmon_+ASM
0 01:57 pts/1
1924
oracle
2350 32469
1583
1852 1583
0 00:15 ?
0 00:15 ?
2354 32469
0 01:58 pts/1
REDUNDANCY
In our example, the "High" redundancy is used. So I choose 3 disks for ASM_DG_DATA disk group &
another 3 disks for ASM_DG_FRA disk group. By default, each disk is a failure group.
POINTS TO NOTE
High redundancy means file extents are mirrored among 3 failure groups. When we go to normal
or high redundancy multiple fail groups and each group has to have at least one disk. The
level of redundancy cannot be change once a disk group has been created. ASM does not
mirror devices and provides file based redundancy only between failure groups.
HIGH REDUNDANCY = (STRIPPING & MIRRORING)
POINTS TO NOTE
A minimum of four LUNs (Oracle ASM disks) of equal size and performance is recommended for
each disk group. ASM is NOT RAID; it provides Stripping and Mirroring capabilities which
are similar to RAID 10.
RAID uses a fixed stripe size and mirrors data at the device block level. i.e. (RAID Stripes
at the block-level and doesnt aware of the different Oracle file types). ASM does not
behave exactly as RAID and it can be even smarter. It is aware of the different Oracle file
types so it can Stripe data differently.
Coarse Stripping for Data Files
Fine Stripping for Redo Log Files & Control Files
20905
0 21:19 ?
00:00:00 asm_pmon_+ASM
oracle
20907
0 21:19 ?
00:00:00 asm_psp0_+ASM
oracle
20909
0 21:19 ?
00:00:00 asm_mman_+ASM
oracle
20911
0 21:19 ?
00:00:06 asm_dbw0_+ASM
oracle
20913
0 21:19 ?
00:00:00 asm_lgwr_+ASM
oracle
20915
0 21:19 ?
00:00:00 asm_ckpt_+ASM
oracle
20917
0 21:19 ?
00:00:00 asm_smon_+ASM
oracle
20919
0 21:19 ?
00:00:00 asm_rbal_+ASM
oracle
20921
0 21:19 ?
00:00:03 asm_gmon_+ASM
oracle
21578
0 21:35 ?
00:00:00 asm_o001_+ASM
oracle
21608
0 21:35 ?
00:00:00 ora_asmb_orcl
oracle
30710 20778
0 23:28 pts/1
20905
0 21:19 ?
00:00:00 asm_pmon_+ASM
oracle
21580
0 21:35 ?
00:00:00 ora_pmon_orcl
oracle
30791 20778
0 23:31 pts/1
. ./db10.env
ORACLE_SID = [orcl] ? orcl
SQL*Plus: Release 10.2.0.5.0 - Production on Thu Feb 18 23:33:43 2016
Copyright (c) 1982, 2010, Oracle.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS> select name from v$datafile;
NAME
-------------------------------------------------------------------------------+ASM_DG_DATA/orcl/datafile/system.256.904166909
+ASM_DG_DATA/orcl/datafile/undotbs1.258.904166911
+ASM_DG_DATA/orcl/datafile/sysaux.257.904166909
+ASM_DG_DATA/orcl/datafile/users.259.904166911
+ASM_DG_DATA/orcl/datafile/example.265.904167107
SYS> select name from v$controlfile;
NAME
-------------------------------------------------------------------------------+ASM_DG_DATA/orcl/controlfile/current.260.904167019
+ASM_DG_FRA/orcl/controlfile/current.256.904167019
SYS> select member from v$logfile;
MEMBER
-------------------------------------------------------------------------------+ASM_DG_DATA/orcl/onlinelog/group_3.263.904167043
+ASM_DG_FRA/orcl/onlinelog/group_3.259.904167049
+ASM_DG_DATA/orcl/onlinelog/group_2.262.904167033
+ASM_DG_FRA/orcl/onlinelog/group_2.258.904167037
+ASM_DG_DATA/orcl/onlinelog/group_1.261.904167023
+ASM_DG_FRA/orcl/onlinelog/group_1.257.904167027
6 rows selected.
SYS> show parameter db_recovery_file_dest;
NAME
TYPE
VALUE
string
+ASM_DG_FRA
db_recovery_file_dest_size
big integer 2G
$ . ./asm.env
ORACLE_SID = [orcl] ? +ASM
$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Fri Feb 19 00:14:32 2016
Copyright (c) 1982, 2010, Oracle.
TYPE
VALUE
string
asm
PATH
from v$asm_disk;
FAILGROUP
2 DISK1
ORCL:VOL1
FG1
1 DISK2
ORCL:VOL2
FG2
0 DISK3
ORCL:VOL3
FG3
2 DISK4
ORCL:VOL4
FG4
1 DISK5
ORCL:VOL5
FG5
0 DISK6
ORCL:VOL6
FG6
6 rows selected.
TYPE
VALUE
string
/u02/app/oracle/product/10.2.0
/db_home/dbs/spfile+ASM.ora
$ cat /tmp/init+ASM.ora
+ASM.asm_diskgroups='ASM_DG_DATA','ASM_DG_FRA'#Manual Mount
*.asm_diskgroups='ASM_DG_DATA','ASM_DG_FRA'
*.background_dump_dest='/u02/app/oracle/admin/+ASM/bdump'
*.core_dump_dest='/u02/app/oracle/admin/+ASM/cdump'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
*.user_dump_dest='/u02/app/oracle/admin/+ASM/udump'
Oracle ASM Stripes and spreads data evenly across all of the disks in a disk group.
FILE TEMPLATES
ASM mirrors files using a variable Stripe size according to file templates. Templates are
collections of attribute values that are used to specify disk regions, file mirroring, and
striping attributes for an Oracle ASM file when it is created. When creating a file, you
can include a template name and assign desired attributes based on an individual file
rather than the file type.
Coarse-grained striping provides load balancing for disk groups while fine-grained striping
reduces latency for certain file types by spreading the load more widely.
ASMCMD COMMANDS
$ export ORACLE_SID=+ASM
$ asmcmd
ASMCMD> help
asmcmd [-p] [command]
The environment variables ORACLE_HOME and ORACLE_SID determine the
instance to which the program connects, and ASMCMD establishes a
bequeath connection to it, in the same manner as a SQLPLUS / AS
SYSDBA.
Specifying the -p option allows the current directory to be displayed in the command
prompt, like so:
Type
Rebal
Unbal
Name
MOUNTED
HIGH
ASM_DG_FRA/
MOUNTED
HIGH
ASM_DG_DATA/
ASMCMD> lsdg
ASMCMD> ls
ASM_DG_DATA/
ASM_DG_FRA/
ASMCMD> cd ASM_DG_DATA
ASMCMD> ls -l
Type
Redund
Striped
Time
Sys
Name
ORCL/
ASMCMD> cd ORCL
ASMCMD> pwd
+ASM_DG_DATA/ORCL
ASMCMD> ls l
Type
Redund
Striped
Time
Sys
Name
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileorcl.ora =>
+ASM_DG_DATA/ORCL/PARAMETERFILE/spfile.266.904167283
ASMCMD> cd DATAFILE
ASMCMD> ls -l
Type
Redund
Striped
Time
Sys
Name
DATAFILE
HIGH
COARSE
FEB 19 01:00:00
EXAMPLE.265.904167107
DATAFILE
HIGH
COARSE
FEB 19 01:00:00
SYSAUX.257.904166909
DATAFILE
HIGH
COARSE
FEB 19 01:00:00
SYSTEM.256.904166909
DATAFILE
HIGH
COARSE
FEB 19 01:00:00
UNDOTBS1.258.904166911
DATAFILE
HIGH
COARSE
FEB 19 01:00:00
USERS.259.904166911
ASM is not a regular file system which can be accessed using standard FTP and HTTP service.
Oracle 10g R2 has introduced a new feature to access the ASM disk groups outside the
database via FTP and through a web browser using HTTP. The use of FTP and HTTP provide a
flexibility to manage the ASM environment.
Any FTP client can be used to move/copy the files stored on ASM DISKGROUP. To make this
enable we need to setup the Oracle XML DB access which is a onetime setup. Oracle XML DB
provides the file mapping functionality.
CONFIGURE THE PORTS FOR FTP AND HTTP
This can be done by executing the below script from SYSDBA and pass the FTP and HTTP port.
SYS> @?/rdbms/admin/catxdbdbca
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> define ftpport
= &1
RETURN dbms_xmldom.DOMNode IS
nodeList
dbms_xmldom.DOMNodeList;
anElement
dbms_xmldom.DOMElement;
aNode
dbms_xmldom.DOMNode;
BEGIN
anElement := dbms_xmldom.makeElement(parnode);
10
11
12
nodeList
:= dbms_xmldom.getChildrenByTagName(anElement, pathSeg);
13
14
15
16
17
18
return aNode;
19
END;
20
Function created.
SQL>
SQL> declare
2
configxml
configdomdoc dbms_xmldom.DOMDocument;
textNode
dbms_xmldom.DOMNode;
aNode
dbms_xmldom.DOMNode;
protNode
dbms_xmldom.DOMNode;
anElement
dbms_xmldom.DOMElement;
listOfNodes
dbms_xmldom.DOMNodeList;
aString
VARCHAR2(100);
10
sys.xmltype;
begin
11
12
13
14
15
16
configdomdoc := dbms_xmldom.newDOMDocument(configxml);
17
18
19
anElement := dbms_xmldom.getDocumentElement(configdomdoc);
20
21
22
aNode := dbms_xmldom.makeNode(anElement);
23
24
25
26
27
28
29
30
31
textNode := dbms_xmldom.getFirstChild(aNode);
32
dbms_xmldom.setNodeValue(textNode, &ftpport);
33
34
35
36
37
textNode := dbms_xmldom.getFirstChild(aNode);
38
dbms_xmldom.setNodeValue(textNode, &httpport);
39
40
dbms_xdb.cfg_update(configxml);
41
commit;
42
43
end;
44
old
new
old
new
$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 19-FEB-2016 02:31:59
Copyright (c) 1991, 2010, Oracle.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=devserver.com)(PORT=1521)))
STATUS of the LISTENER
-----------------------Alias
LISTENER
Version
Start Date
19-FEB-2016 02:19:40
Uptime
Trace Level
off
Security
SNMP
OFF
/u02/app/oracle/product/10.2.0/db_home/network/admin/listener.ora
/u02/app/oracle/product/10.2.0/db_home/network/log/listener.log
Now we are ready to access ASM disk groups using FTP client or HTTP browser.
For access through web browser: http://devserver.com:8080/
# cd Desktop/
[root@devserver Desktop]# ls -l
total 246016
-rw-r--r--
1 root root
7 Oct 15 05:03 em
-rw-r--r--
530
2 SYS
oracle
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
-rw-r--r--
1 SYS
oracle
2 SYS
oracle
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
-rw-r--r--
1 SYS
oracle
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
ftp> cd asm
250 CWD Command successful
ftp> dir
227 Entering Passive Mode (192,168,100,129,126,146)
150 ASCII Data Connection
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
2 SYS
oracle
2 SYS
oracle
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
drw-r--r--
2 SYS
oracle
-rw-r--r--
1 SYS
oracle
1 SYS
oracle
-rw-r--r--
1 SYS
oracle
-rw-r--r--
1 SYS
oracle
-rw-r--r--
1 SYS
oracle
-rw-r--r--
1 SYS
oracle
Type set to I.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> get EXAMPLE.265.904167107
#############################################################################################
#############################################################################################
#############################################################################################
#############################################################################################
#############################################################################################
#############################################################################################
#############################################################################################
#############################################################################################
226 BIN Transfer Complete
104865792 bytes received in 8.4 seconds (1.2e+04 Kbytes/s)
ftp> bye
221 QUIT Goodbye.
[root@devserver u03]# ls -l
total 102528
-rw-r--r--
1 root
root