NFS v3 server, and "nolock" option
I'm getting the following error whne trying to mount a FreeNAS share. AFAIK, it uses NFSv3 :
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
The wiki has conflicting advice for this. One solution is to edit /etc/conf.d/nfs-common.conf and set "NEED_STATD" to yes, while the other is to start the rpc-statd service with systemd.
Which of these is th e correct way to go about fixing this, and are they both preferrable to just using the "nolock" option? Also, systemd throws up a failed warning half the time when starting up rpc-statd on boot.
Any help is appreciated. thanks.
The Solaris implementation of NFS has always been very strict.
Other OS's? Not so much. Put an inode number larger than 32 bits while using non-large-file-aware NFSv2, like Irix would do? A Solaris host couldn't access the file. Nevermind some of the sketchy NFS sleight-of-hand Linux has been known to pull (silently truncating group membership?!?!?!).
And NFSv4 is pretty complex, and in my experience too easy to break.
I'd open tickets with Oracle and NetApp, and see if you can get something more out of them than pointing fingers at each other.
Similar Messages
-
Constant timeouts with NFS - 10u5 server and clients
Hi all
I am having a repeated issue with my Solaris 10u5 NFS server.
The server has 100 ZFS filesystems, most of which are shared via NFS. These include 30 home directories as well as backup directories, software repositories, etc.
These filesystems are mounted from 10 other physical servers, amongst which are a total of 200 shared IP zones. So the NFS server has 200 clients. Each NFS client has automount entries for home: * nfs-server:/data/export/home/& as well as a few static ones for backup, software, etc.
The server worked fine for a couple of months, but now it periodically grinds to a halt; symptom is that clients experience incredibly slow NFS mounting and access times. This means that user login on clients is hugely slow, as it takes forever trying to mount their home directory.
The first couple of times this happened, it was solved by rebooting the NFS server. Now I have rebooted it multiple times but the symptom persists across reboots.
In the NFS server I can see the following loglines since the last reboot:
Jan 23 18:46:44 nfs-server nfssrv: [ID 694464 kern.warning] WARNING: nfsauth upcall failed: RPC: Operation in progress
Jan 23 18:48:46 nfs-server last message repeated 2 times
Jan 23 18:49:00 nfs-server /usr/lib/nfs/nfsd[719]: [ID 791759 daemon.error] t_rcvrel(file descriptor 32/transport tcp) Resource temporarily unavailable
Jan 23 18:49:52 nfs-server nfssrv: [ID 694464 kern.warning] WARNING: nfsauth upcall failed: RPC: Operation in progress
Jan 23 18:53:00 nfs-server last message repeated 3 times
Jan 23 18:54:01 nfs-server nfssrv: [ID 694464 kern.warning] WARNING: nfsauth upcall failed: RPC: Operation in progress
Jan 23 18:59:08 nfs-server last message repeated 5 times
Jan 23 19:00:11 nfs-server nfssrv: [ID 694464 kern.warning] WARNING: nfsauth upcall failed: RPC: Operation in progress
Jan 23 19:05:23 nfs-server last message repeated 4 times
Jan 23 19:07:05 nfs-server nfssrv: [ID 694464 kern.warning] WARNING: nfsauth upcall failed: RPC: Operation in progress
Jan 23 19:09:22 nfs-server last message repeated 2 times
Jan 23 19:15:15 nfs-server nfssrv: [ID 694464 kern.warning] WARNING: nfsauth upcall failed: RPC: Operation in progress
Jan 23 19:16:24 nfs-server last message repeated 1 time
Jan 23 19:20:13 nfs-server nfssrv: [ID 694464 kern.warning] WARNING: nfsauth upcall failed: RPC: Operation in progress
The server and all clients were running Solaris 10 u5, kernel 137112-06. I have now upgraded the NFS server to kernel 138889-03 and installed some other recommended patches, but this has had no effect.
Incidentally, the problem also exists with a NFS client that is a zone of the NFS server itself. So it does not seem like it should be network/NIC related.
Any ideas or advice would be much appreciated!
TomSome additional info:
1. The server is an 8 core 2ghz x64 box, with 16GB ram. It normally runs an Oracle database as well as being a NFS server, however the problem persists after reboot when Oracle is not being run, so I do not believe Oracle is having any effect.
2. ZFS pool is on 10 x 250GB SATA2 drives (RAID 10) on an Adaptec 12 port SATA controller. There are no errors on the ZFS pool.
3. Right now, after the most recent reboot, the symptom is primarily very slow mounting from the server. e.g.:
root@nfs-client:/$ time mount nfs-server:/data/export/home/tomj /tmp/a
real 0m20.109s
user 0m0.003s
sys 0m0.011s
Once mounted, operations to NFS seem to be fast enough:
root@nfs-client:/$ /opt/sfw/bin/dd if=/dev/zero of=/tmp/a/nfs_write_test bs=1024 count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 15.7623 seconds, 66.5 MB/s
This is the current behaviour - I have also seen it happen that clients cannot mount from the NFS server at all.
4. Here's the output of nfsstat -s from the server. Nothing looks untoward to me:
root@flytxt-us3:/$ nfsstat -s
Server rpc:
Connection oriented:
calls badcalls nullrecv badlen xdrcall dupchecks dupreqs
63579 0 0 0 0 0 0
Connectionless:
calls badcalls nullrecv badlen xdrcall dupchecks dupreqs
33 0 0 0 0 0 0
Server nfs:
calls badcalls
63611 0
Version 2: (0 calls)
null getattr setattr root lookup readlink read wrcache
0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
write create remove rename link symlink mkdir rmdir
0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
readdir statfs
0 0% 0 0%
Version 3: (0 calls)
null getattr setattr lookup access readlink
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
read write create mkdir symlink mknod
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
remove rmdir rename link readdir readdirplus
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
fsstat fsinfo pathconf commit
0 0% 0 0% 0 0% 0 0%
Version 4: (39834 calls)
null compound
72 0% 39762 99%
Version 4: (85156 operations)
reserved access close commit
0 0% 597 0% 563 0% 17 0%
create delegpurge delegreturn getattr
0 0% 0 0% 558 0% 3229 3%
getfh link lock lockt
1217 1% 0 0% 0 0% 0 0%
locku lookup lookupp nverify
0 0% 743 0% 0 0% 710 0%
open openattr open_confirm open_downgrade
565 0% 0 0% 14 0% 0 0%
putfh putpubfh putrootfh read
39508 46% 0 0% 73 0% 561 0%
readdir readlink remove rename
70 0% 2 0% 3 0% 0 0%
renew restorefh savefh secinfo
172 0% 487 0% 501 0% 30 0%
setattr setclientid setclientid_confirm verify
1 0% 7 0% 7 0% 0 0%
write release_lockowner illegal
35521 41% 0 0% 0 0%
Server nfs_acl:
Version 2: (0 calls)
null getacl setacl getattr access getxattrdir
0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
Version 3: (0 calls)
null getacl setacl getxattrdir
0 0% 0 0% 0 0% 0 0% -
Sql server agent is not highlighting start and stop options
I configured snapshot replication , after that sql server agent is not highlighting start and stop options in instance.
But I can start & stop it in services.msc
how I can solve this?Hi,
Can you post exact error message.
Also refer below article, may be similar issue like yours.
How to start SQL Server Agent when Agent XPs show disabled
Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
Praveen Dsa | MCITP - Database Administrator 2008 |
My Blog | My Page -
i'm trying to add an email account and followed on screen directions but after "verifying account" screen i got "new account" and no options highlighted but "cancel" The mail server is our local phone company. Appreciate any help.
Hello there, shallotte07.
The following iPhone Troubleshooting Assistant should get you through all the steps to set up mail:
Apple - Support - iPhone - Setting up Mail Assistant
http://www.apple.com/support/iphone/assistant/mail/http://www.apple.com/support/iphone/assistant/mail/
Remember that some Service Providers require particular settings, and you may need to contact them directly to acquire that information. Check out the "Email cheat-sheet" section in the information that follows:
If iPhone can't find your service provider's settings, this article can help you obtain the necessary account settings from your provider.
Thanks for reaching out to Apple Support Communities.
Cheers,
Pedro D. -
Linux install server and solaris 10
Hi,
I am trying to learn Solaris as a student. I bought a SPARC (Netra T105 UltrasparcII) server on ebay which requires a network install as there is no cd-rom, or keyboard.
I only have a linux box (like I said, I'm a stingy student) to use as an install server, there is a few tutorials out there to try and do this, but none for Solaris 10. I have been hacking away at this for days, but cannot get it to install. I have the sparc server using RARP and then getting the /etc/bootparams file and downloading the boot files, but it does not get to locating the jumpstart files or the install files (I dont know if I can install from the terminal using the keyboard (without jumpstart) - I have not got that far yet).
I always get this, like it cannot find the install directory, I was wireshark on the linux boot server and see loads of NFS traffic after the TFTP download, but cannot seem to see what part it actually at. I have a detailed log at the bottom from putty. Any help greatly appreciated.Cheers
ERROR: bpgetfile unable to access network
/sbin/install-discovery: information: not found
Linux box setup:
/etc/bootparams
solaris root=192.168.2.10:/home/sunos/Solaris_10/Tools/Boot rootopts=rsize=32768 boottype=:in install=192.168.2.10:/home/sunos_install/Solaris_10/Product sysid_config=192.168.2.10:/home/sunos_install/jumpstart/sysidcfg install_config=192.168.2.10:/home/sunos_install/jumpstart/jumpstart.conf
TFTP setup from /tftpboot:
[root@robert tftpboot]# ll
total 232
lrwxrwxrwx 1 root root 8 Jun 10 13:55 C0A80214 -> inetboot
-rwxrwxrwx 1 root root 221280 Jun 10 13:47 inetboot
The Openboot can get ahold of the inetboot file and downloads and it and then loads it.
The following directories are exported through NFS
[root@robert sunos_install]# cat /etc/exports
#/home/nfs 192.168.2.0/24(ro,sync)
/home/sunos *(ro,no_root_squash)
/home/sunos_install *(ro,no_root_squash)
[root@robert tftpboot]# showmount -e localhost
Export list for localhost:
/home/sunos *
/home/sunos_install *
In /home/sunos, I have:
[root@robert sunos]# tree -L 2
|-- Solaris_10
| `-- Tools
|-- boot
| |-- hsfs.bootblock
| `-- sparc.miniroot
`-- lost+found
In /home/sunos_install, I have:
[root@robert sunos_install]# tree -L 2
|-- Solaris_10
| `-- Product
|-- jumpstart
| |-- jumpstart.conf
| `-- sysidcfg
`-- lost+found
[root@robert jumpstart]# cat jumpstart.conf
install_type initial_install
system_type server
partitioning explicit
filesys any 2000 /
filesys any 1500 swap
filesys any 1500 /var
filesys any 2000 /opt
geo N_America
cluster SUNWCreq
package SUNWgzip add
package SUNWless add
package SUNWman add
package SUNWbash add
package SUNWtcsh add
package SUNWzsh add
[root@robert jumpstart]# cat sysidcfg
system_locale=en_US
timezone=US/Pacific
terminal=xterms
name_service=NONE
timeserver=pool.ntp.org
security_policy=NONE
root_password=xxxx
network_interface=primary
{ hostname=js-test
ip_address=192.168.2.20
netmask=255.255.255.0
protocol_ipv6=yes}
Putty log file from console:
root server: 192.168.2.10 (192.168.2.10)
root directory: /home/sunos/Solaris_10/Tools/Boot
module /platform/sun4u/kernel/sparcv9/unix: text at [0x1000000, 0x10a096d] data at 0x1800000
module /platform/sun4u/kernel/sparcv9/genunix: text at [0x10a0970, 0x12615bf] data at 0x1867cc0
module /platform/sun4u/kernel/misc/sparcv9/platmod: text at [0x12615c0, 0x12615c7] data at 0x18bdf80
module /platform/sun4u/kernel/cpu/sparcv9/SUNW,UltraSPARC-IIi: text at [0x1261600, 0x126da07] data at 0x18be680
SunOS Release 5.10 Version Generic_139555-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
\|/Ethernet address = 8:0:20:c2:1b:b4
-Using default device instance data
\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/mem = 1048576K (0x40000000)
avail mem = 846602240
root nexus = Netra t1 (UltraSPARC-IIi 440MHz)
pseudo0 at root
pseudo0 is /pseudo
scsi_vhci0 at root
scsi_vhci0 is /scsi_vhci
ramdisk0 at root
ramdisk0 is /ramdisk-root
root on /ramdisk-root:a fstype ufs
pseudo-device: dld0
dld0 is /pseudo/dld@0
pcipsy0 at root: UPA 0x1f 0x0
pcipsy0 is /pci@1f,0
PCI-device: pci@1,1, simba0
simba0 is /pci@1f,0/pci@1,1
SUNW,hme0 : PCI IO 2.0 (Rev Id = c1) Found
SUNW,hme0 : Local Ethernet address = 8:0:20:c2:1b:b4
PCI-device: network@1,1, hme0
hme0 is /pci@1f,0/pci@1,1/network@1,1
SUNW,hme1 : PCI IO 2.0 (Rev Id = c1) Found
SUNW,hme1 : Local Ethernet address = 8:0:20:c2:1b:b5
PCI-device: network@3,1, hme1
hme1 is /pci@1f,0/pci@1,1/network@3,1
PCI-device: ebus@1, ebus0
ebus0 is /pci@1f,0/pci@1,1/ebus@1
su0 at ebus0: offset 14,3803f8
su0 is /pci@1f,0/pci@1,1/ebus@1/su@14,3803f8
cpu0: UltraSPARC-IIi (portid 0 impl 0x12 ver 0x91 clock 440 MHz)
iscsi0 at root
iscsi0 is /iscsi
|pseudo-device: zfs0
zfs0 is /pseudo/zfs@0
Configuring devices.
/pseudo-device: devinfo0
devinfo0 is /pseudo/devinfo@0
PCI-device: pci@1, simba1
simba1 is /pci@1f,0/pci@1
pseudo-device: pseudo1
pseudo1 is /pseudo/zconsnex@1
/pci@1f,0/pci@1,1/network@1,1 (hme0) online
/pci@1f,0/pci@1,1/scsi@2 (glm0):
Rev. 3 Symbios 53c875 found.
PCI-device: scsi@2, glm0
glm0 is /pci@1f,0/pci@1,1/scsi@2
PCI-device: pci@1, pci_pci0
pci_pci0 is /pci@1f,0/pci@1/pci@1
su1 at ebus0: offset 14,3602f8
su1 is /pci@1f,0/pci@1,1/ebus@1/su@14,3602f8
ecpp0 at ebus0: offset 14,340278
ecpp0 is /pci@1f,0/pci@1,1/ebus@1/ecpp@14,340278
pseudo-device: fssnap0
fssnap0 is /pseudo/fssnap@0
pseudo-device: ramdisk1024
ramdisk1024 is /pseudo/ramdisk@1024
sd0 at glm0: target 1 lun 0
sd0 is /pci@1f,0/pci@1,1/scsi@2/sd@1,0
pseudo-device: winlock0
winlock0 is /pseudo/winlock@0
pseudo-device: llc10
llc10 is /pseudo/llc1@0
pseudo-device: lofi0
lofi0 is /pseudo/lofi@0
pseudo-device: fcp0
fcp0 is /pseudo/fcp@0
pseudo-device: fcsm0
fcsm0 is /pseudo/fcsm@0
pseudo-device: trapstat0
trapstat0 is /pseudo/trapstat@0
pseudo-device: pool0
pool0 is /pseudo/pool@0
pseudo-device: mem_cache0
mem_cache0 is /pseudo/mem_cache@0
pseudo-device: fcode0
fcode0 is /pseudo/fcode@0
-\i2c0 at ebus0: offset 14,600000
i2c1 at ebus0: offset 14,100000
i2cadc0 at i2c0: reg=0x0:0x9E, name=bus,address="0,9e"
i2cadc0 is /pci@1f,0/pci@1,1/ebus@1/i2c@14,600000/adc@0,9e
i2cgpio0 at i2c0: reg=0x0:0x70, name=bus,address="0,70"
i2cgpio0 is /pci@1f,0/pci@1,1/ebus@1/i2c@14,600000/gpio@0,70
i2cgpio1 at i2c0: reg=0x0:0x72, name=bus,address="0,72"
i2cgpio1 is /pci@1f,0/pci@1,1/ebus@1/i2c@14,600000/gpio@0,72
|/-\|/-\|/-Using RPC Bootparams for network configuration information.
Attempting to configure interface hme1...
\|/-\|/-WARNING: hme1: fault detected in device; service degraded
WARNING: hme1: No response from Ethernet network : Link down -- cable problem?
\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-Skipped interface hme1
Attempting to configure interface hme0...
Configured interface hme0
ERROR: bpgetfile unable to access network
/sbin/install-discovery: information: not foundrmcnaught48 wrote:
Hi,
I am trying to learn Solaris as a student. I bought a SPARC (Netra T105 UltrasparcII) server on ebay which requires a network install as there is no cd-rom, or keyboard.
I only have a linux box (like I said, I'm a stingy student) to use as an install server, there is a few tutorials out there to try and do this, but none for Solaris 10. I have been hacking away at this for days, but cannot get it to install. I have the sparc server using RARP and then getting the /etc/bootparams file and downloading the boot files, but it does not get to locating the jumpstart files or the install files (I dont know if I can install from the terminal using the keyboard (without jumpstart) - I have not got that far yet).You can install using the keyboard with jumpstart. Without jumpstart you'd need local media (you can't enter the OS via the keyboard).
I always get this, like it cannot find the install directory, I was wireshark on the linux boot server and see loads of NFS traffic after the TFTP download, but cannot seem to see what part it actually at. I have a detailed log at the bottom from putty. Any help greatly appreciated.Cheers
ERROR: bpgetfile unable to access network
/sbin/install-discovery: information: not foundHmm. That looks like the image file is corrupt. Can you pull the image from media again? Can you see if there's a /sbin/install-discovery file in the image (usually under Tools/Boot/root). I recall there used to be a problem with that file.
Linux box setup:
/etc/bootparams
solaris root=192.168.2.10:/home/sunos/Solaris_10/Tools/Boot rootopts=rsize=32768 boottype=:in install=192.168.2.10:/home/sunos_install/Solaris_10/Product sysid_config=192.168.2.10:/home/sunos_install/jumpstart/sysidcfg install_config=192.168.2.10:/home/sunos_install/jumpstart/jumpstart.confIf you just want an interactive install (prompt for configuration/settings), you don't need sysid_config or install_config. Those are for automated installations.
TFTP setup from /tftpboot:
[root@robert tftpboot]# ll
total 232
lrwxrwxrwx 1 root root 8 Jun 10 13:55 C0A80214 -> inetboot
-rwxrwxrwx 1 root root 221280 Jun 10 13:47 inetboot
The Openboot can get ahold of the inetboot file and downloads and it and then loads it.
The following directories are exported through NFS
[root@robert sunos_install]# cat /etc/exports
#/home/nfs 192.168.2.0/24(ro,sync)
/home/sunos *(ro,no_root_squash)
/home/sunos_install *(ro,no_root_squash)
[root@robert tftpboot]# showmount -e localhost
Export list for localhost:
/home/sunos *
/home/sunos_install *That looks pretty good.
You do have the option of running VMware on linux, and putting a Solaris 10 image on it, then using that VM as your boot server. But the problem you're displaying doesn't appear to be related to the linux server.
Darren -
Windows 2008 Server and Windows 8 clients
Hey Guys,
I have had this problem for sometime now and really need a solution. I have Windows 2008 Enterprise Server running about 200+ terminal services clients. All Windows XP clients are fine, Windows 7 clients have issues when they get an updated version of
remote desktop client(to solve the issue we simply rollback the update), Windows 8 clients cannot connect and use out remote app. The issue stems from the newer version of remote desktop client (on windows 7 and embedded in windows 8) cannot connect to our
terminal server and generates an error and immediately disconnects. The error says "
Your computer can't connect to the remote computer because an error occurred on the remote computer that you want
to connect to
So my questions are, how can i update my Windows 2008 Terminal server version to support these clients, or do u have migrate to Windows 2012? Or is there a solution to my current problem which will allow my client to connect and use the remoteapps?Hi,
Thank you for posting in Windows Server Forum.
Please follow the below steps and verify result.
LAN manager authentication level settings (Local security policy->Local Policies->Security Options->Network Security: LAN Manager Authentication level).
Try to change it to "Send NTLMv2 response only"
Snap:
If still face the issue please install this Hotfix.
RDS client computer cannot connect to the RDS server by using a remote desktop connection in Windows
http://support.microsoft.com/kb/2752618/
Hope it helps!
Thanks.
Dharmesh Solanki
TechNet Community Support -
Log on to remote server and start database -error while installing CI in HA
Hello All,
We are installing ECC 6.0 with High Availability using HP-UX. We have completed installation in ASCS and Database Instance. Now when were trying to install in Central Instance, we encountered an error at Start Instance which informed us to Log on to remote server and start database. However the database is already running in DB node. Please find the log below.
TRACE 2011-06-10 16:31:45.825 [syuxctask.cpp:1382]
CSyTaskImpl::start(bool)
A child process has been started. Pid = 25742
INFO 2011-06-10 16:31:45.835
CJSlibModule::writeInfo_impl()
Output of /usr/sap/PE2/SYS/exe/run/startsap all DVEBMGS01 DBMCI001 is written to the logfile start_PE2_DVEBMGS01.log.
WARNING 2011-06-10 16:31:46.345
CJSlibModule::writeWarning_impl()
Execution of the command "/usr/sap/PE2/SYS/exe/run/startsap all DVEBMGS01 DBMCI001" finished with return code 6. Output:
Database PE2 must be started on remote server
Log on to remote server and start database
WARNING[E] 2011-06-10 16:31:46.355
CJSlibModule::writeError_impl()
CJS-20022 Could not start instance 'DVEBMGS01' of SAP system PE2.
TRACE 2011-06-10 16:31:46.355 [iaxxejsbas.hpp:408]
handleException<ESAPinstJSError>()
Converting exception into JS Exception EJSException.
TRACE 2011-06-10 16:31:46.355
Function setMessageIdOfExceptionMessage: ind-rel.ind-os.ind-db.webas.startInstanceFailed
WARNING[E] 2011-06-10 16:31:46.355
CJSlibModule::writeError_impl()
CJS-20022 Could not start instance 'DVEBMGS01' of SAP system PE2.
TRACE 2011-06-10 16:31:46.355 [iaxxejsbas.hpp:483]
EJS_Base::dispatchFunctionCall()
JS Callback has thrown unknown exception. Rethrowing.
TRACE 2011-06-10 16:31:46.405 [syuxctask.cpp:1382]
CSyTaskImpl::start(bool)
A child process has been started. Pid = 25793
ERROR 2011-06-10 16:31:46.525 [sixxcstepexecute.cpp:950]
FCO-00011 The step start with step key |NW_ABAP_CI|ind|ind|ind|ind|0|0|NW_CI_Instance|ind|ind|ind|ind|10|0|NW_CI_Instance_Start|ind|ind|ind|ind|2|0|start was executed with status ERROR .
TRACE 2011-06-10 16:31:46.555 [iaxxgenimp.cpp:752]
CGuiEngineImp::showMessageBox
<html> <head> </head> <body> <p> An error occurred while processing option SAP ERP 6.0 EHP4 Ready - Support Release 1 > SAP Application Server ABAP > Oracle > High-Availability System > Central Instance . You can now: </p> <ul> <li> Choose <i>Retry</i> to repeat the current step. </li> <li> Choose <i>View Log</i> to get more information about the error. </li> <li> Stop the option and continue with it later. </li> </ul> <p> Log files are written to /tmp/sapinst_instdir/ERPEhP4/AS-ABAP/ORA/HA/CI. </p> </body></html>
TRACE 2011-06-10 16:31:46.555 [iaxxgenimp.cpp:1255]
CGuiEngineImp::acceptAnswerForBlockingRequest
Waiting for an answer from GUI
Kindly let us know how to rectify the error and prroceed further with the instalaltion.
Thanks
RishiDear Guys,
we didnt change the date and time but i m very sure it is same trans.log file.
for your kind information please note SID and Nodes details
Sid (PE2)
DB Node : DBMDB001
CI Node : DBMCI001
also i am attaching starting part of the file.
4 ETW000 R3trans version 6.14 (release 701 - 26.01.09 - 12:46:00).
4 ETW000 unicode enabled version
4 ETW000 ===============================================
4 ETW000
4 ETW000 date&time : 07.11.2010 - 03:44:06
4 ETW000 control file: <no ctrlfile>
4 ETW000 R3trans was called as follows: R3trans -d
4 ETW000 trace at level 2 opened for a given file pointer
4 ETW000 [dev trc ,00000] Sun Nov 7 03:44:06 2010 295 0.000295
4 ETW000 [dev trc ,00000] db_con_init called 22 0.000317
4 ETW000 [dev trc ,00000] create_con (con_name=R/3) 116 0.000433
4 ETW000 [dev trc ,00000] Loading DB library '/usr/sap/PC1/SYS/exe/run/dboraslib.so' ...
4 ETW000 64 0.000497
4 ETW000 [dev trc ,00000] load shared library (/usr/sap/PC1/SYS/exe/run/dboraslib.so), hdl 0
4 ETW000 32161 0.032658
4 ETW000 [dev trc ,00000] Library '/usr/sap/PC1/SYS/exe/run/dboraslib.so' loaded
4 ETW000 39 0.032697
4 ETW000 [dev trc ,00000] function DbSlExpFuns loaded from library
/usr/sap/PC1/SYS/exe/run/dboraslib.so
4 ETW000 111 0.032808
4 ETW000 [dev trc ,00000] Version of '/usr/sap/PC1/SYS/exe/run/dboraslib.so' is "700.08",
patchlevel (0.25)
4 ETW000 265 0.033073
4 ETW000 [dev trc ,00000] function dsql_db_init loaded from library
/usr/sap/PC1/SYS/exe/run/dboraslib.so
4 ETW000 41 0.033114
4 ETW000 [dev trc ,00000] function dbdd_exp_funs loaded from library
/usr/sap/PC1/SYS/exe/run/dboraslib.so
4 ETW000 82 0.033196
4 ETW000 [dev trc ,00000] New connection 0 created 52 0.033248
4 ETW000 [dev trc ,00000] 0: name = R/3, con_id = -000000001 state = DISCONNECTED, perm = YES,
reco = NO , timeout = 000, con_max = 255, con_opt = 255, occ = NO
4 ETW000 41 0.033289
4 ETW000 [dev trc ,00000] db_con_connect (con_name=R/3) 84 0.033373
4 ETW000 [dev trc ,00000] find_con_by_name found the following connection for reuse:
4 ETW000 31 0.033404
4 ETW000 [dev trc ,00000] 0: name = R/3, con_id = 000000000 state = DISCONNECTED, perm = YES,
reco = NO , timeout = 000, con_max = 255, con_opt = 255, occ = NO
4 ETW000 37 0.033441
4 ETW000 [dev trc ,00000] Oracle Client Version: '10.2.0.4.0' 601 0.034042
4 ETW000 [dev trc ,00000] -->oci_initialize (con_hdl=0) 25 0.034067
4 ETW000 [dev trc ,00000] Client character set UTF16 -> UTF8 35674 0.069741
4 ETW000 [dev trc ,00000] Client NLS setting (OCINlsGetInfo): 'AMERICAN_AMERICA.UTF8'
4 ETW000 57 0.069798
4 ETW000 [dev trc ,00000] Logon as OPS$-user to get SAPSR3's password 55 0.069853
4 ETW000 [dev trc ,00000] Connecting as /@PC1 on connection 0 (nls_hdl 0) ... (dbsl 700
151208)
4 ETW000 34 0.069887
4 ETW000 [dev trc ,00000] Nls CharacterSet NationalCharSet C
EnvHp ErrHp ErrHpBatch
4 ETW000 52 0.069939
4 ETW000 [dev trc ,00000] 0 UTF8 0
0x6000000001052910 0x600000000105a3c0 0x600000000106ab38
4 ETW000 58 0.069997
4 ETW000 [dev trc ,00000] Allocating service context handle for con_hdl=0 40 0.070037
4 ETW000 [dev trc ,00000] Allocating server context handle 27 0.070064
4 ETW000 [dev trc ,00000] Attaching to DB Server PC1
(con_hdl=0,svchp=0x600000000106aa68,srvhp=0x600000000106de78)
4 ETW000 63 0.070127
4 ETW000 [dev trc ,00000] Assigning server context 0x600000000106de78 to service context
0x600000000106aa68
4 ETW000 60612 0.130739
4 ETW000 [dev trc ,00000] Allocating user session handle 97 0.130836
4 ETW000 [dev trc ,00000] Starting user session: OCISessionBegin(con_hdl=0,
usr='/',svchp=0x600000000106aa68, srvhp=0x600000000106de78, usrhp=0x60000000010fc940)
4 ETW000 64 0.130900
4 ETW000 [dev trc ,00000] Assigning user session 0x60000000010fc940 to service context
0x600000000106aa68
4 ETW000 9302 0.140202
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=53, stmth_p=0x6000000001077608)
4 ETW000 198 0.140400
4 ETW000 [dev trc ,00000] BEGIN DBMS_APPLICATION_INFO.SET_MODULE(:A0,:A1); END;
4 ETW000 38 0.140438
4 ETW000 [dev trc ,00000] CbApplInfoGet() failed! Ignore, but uninstall callback to avoid more
erroneous calls
4 ETW000 291 0.140729
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=54, stmth_p=0x6000000001078660)
4 ETW000 33 0.140762
4 ETW000 [dev trc ,00000] BEGIN DBMS_APPLICATION_INFO.SET_CLIENT_INFO(:A0); END;
4 ETW000 35 0.140797
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001078660)
4 ETW000 937 0.141734
4 ETW000 [dev trc ,00000] SELECT SID FROM V$MYSTAT WHERE ROWNUM<2
4 ETW000 36 0.141770
4 ETW000 [dev trc ,00000] Connected to session 297. 639 0.142409
4 ETW000 [dev trc ,00000] Now '/@PC1' is connected: con_hdl=0, nls_hdl=0, session_id=297.
4 ETW000 38 0.142447
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001078660)
4 ETW000 37 0.142484
4 ETW000 [dev trc ,00000] ALTER SESSION SET NLS_SORT = BINARY
4 ETW000 36 0.142520
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001078660)
4 ETW000 327 0.142847
4 ETW000 [dev trc ,00000] SELECT USERID, PASSWD FROM SAPUSER WHERE USERID IN (:A0, :A1)
4 ETW000 36 0.142883
4 ETW000 [dev trc ,00000] Got SAPSR3's password from OPS$-user 728 0.143611
4 ETW000 [dev trc ,00000] Disconnecting from connection 0 ... 38 0.143649
4 ETW000 [dev trc ,00000] Rolling back transaction ... 31 0.143680
4 ETW000 [dev trc ,00000] Closing user session
(con_hdl=0,svchp=0x600000000106aa68,usrhp=0x60000000010fc940)
4 ETW000 210 0.143890
4 ETW000 [dev trc ,00000] Now I'm disconnected from ORACLE 721 0.144611
4 ETW000 [dev trc ,00000] Connecting as SAPSR3/<pwd>@PC1 on connection 0 (nls_hdl 0) ... (dbsl
700 151208)
4 ETW000 40 0.144651
4 ETW000 [dev trc ,00000] Nls CharacterSet NationalCharSet C
EnvHp ErrHp ErrHpBatch
4 ETW000 37 0.144688
4 ETW000 [dev trc ,00000] 0 UTF8 0
0x6000000001052910 0x600000000105a3c0 0x600000000106ab38
4 ETW000 37 0.144725
4 ETW000 [dev trc ,00000] Assigning username to user session: con_hdl=0,
usrhp=0x60000000010fc940
4 ETW000 35 0.144760
4 ETW000 [dev trc ,00000] Assigning password to user session: con_hdl=0,
usrhp=0x60000000010fc940
4 ETW000 40 0.144800
4 ETW000 [dev trc ,00000] Starting user session: OCISessionBegin(con_hdl=0, usr=SAPSR3/<pwd>,
svchp=0x600000000106aa68, srvhp=0x600000000106de78, usrhp=0x60000000010fc940)
4 ETW000 337 0.145137
4 ETW000 [dev trc ,00000] Assigning user session 0x60000000010fc940 to service context
0x600000000106aa68
4 ETW000 4085 0.149222
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=54, stmth_p=0x6000000001077608)
4 ETW000 63 0.149285
4 ETW000 [dev trc ,00000] BEGIN DBMS_APPLICATION_INFO.SET_CLIENT_INFO(:A0); END;
4 ETW000 37 0.149322
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001077608)
4 ETW000 585 0.149907
4 ETW000 [dev trc ,00000] SELECT SID FROM V$MYSTAT WHERE ROWNUM<2
4 ETW000 36 0.149943
4 ETW000 [dev trc ,00000] Connected to session 297. 350 0.150293
4 ETW000 [dev trc ,00000] Now 'SAPSR3/<pwd>@PC1' is connected: con_hdl=0, nls_hdl=0,
session_id=297.
4 ETW000 38 0.150331
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001077608)
4 ETW000 38 0.150369
4 ETW000 [dev trc ,00000] ALTER SESSION SET NLS_SORT = BINARY
4 ETW000 34 0.150403
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001077608)
4 ETW000 294 0.150697
4 ETW000 [dev trc ,00000] SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER IN
('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET') ORDER BY PARAM
4 ETW000 66 0.150763
4 ETW000 [dev trc ,00000] ETER
4 ETW000 34 0.150797
4 ETW000 [dev trc ,00000] Database NLS settings: AMERICAN_AMERICA.UTF8 329 0.151126
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001077608)
4 ETW000 856 0.151982
4 ETW000 [dev trc ,00000] SELECT UPPER(INSTANCE_NAME),HOST_NAME,VERSION,TO_CHAR
(STARTUP_TIME,'MON DD, YYYY, HH24:MI:SS') FROM V$INSTANCE
4 ETW000 36 0.152018
4 ETW000 [dev trc ,00000] DB instance PC1 is running on scmdb001 with ORACLE version
10.2.0.4.0 since NOV 07, 2010, 03:23:10
4 ETW000 349 0.152367
4 ETW000 [dev trc ,00000] -->oci_prepare_stmt(con_hdl=0, len=0, stmth_p=0x6000000001077608)
4 ETW000 38 0.152405
4 ETW000 [dev trc ,00000] SELECT SUBSTR(NAME,1,3), TO_CHAR(CREATED,'YYYYMMDDHHMMSS')
FROM V$DATABASE -
ORACLE SERVER AND UNIX TP MONITOR-2
제품 : ORACLE SERVER
작성날짜 : 1995-01-24
Subject: Oracle Server and UNIX Transaction Processing Monitors-2
Page(3/4)
This file contains commonly asked questions about Oracle7 Server and UNIX
Transaction Processing Monitors (TPMs). The topics covered in this article are
o Oracle Parallel Server and TP Monitors
o Oracle and DCE-based TP Monitors
o Other commonly asked questions
The questions answered in part 3 provide additional detail to the information
provided in part 1.
Oracle Parallel Server and TP Monitors
======================================
How does Oracle Parallel Server (OPS) work with TP Monitors?
If you are using Oracle-managed transactions, there are no special
considerations. But if you are using TPM-managed transactions, and
thus need to use the XA interface, then Oracle requires release 7.1.3
or later and a special version of the Distributed Lock Manager, called
the session-based lock manager. This version of the DLM is not yet
available for all platforms. To understand this restriction, let's take
a look at one of the technical details of XA.
The XA specification requires that the Resource Manager be able to
move a transaction from one process to another, and even to be
able to commit in a separate process. In Oracle, transactions are
attached to sessions, so that means that we also have to be able to
move sessions. Therefore, the session/transaction can't have any state
which is tied to a particular process. The first generation distributed
lock managers were all built to use the process id as the lock owner,
which doesn't work for locks which need to move with the transaction.
Oracle and DCE-based TP Monitors
================================
How does Oracle interface to the Encina TP monitor? To CICS/6000? I've
heard that they require OSF DCE facilities in order to run?
Oracle interfaces to Encina and CICS/6000 just as it does to any other
TP Monitor. The TP Monitor issues XA commands to control transactions, and
Oracle executes the commands. Encina and CICS/6000 do use DCE features for
their own operation. However, this use is transparent to the Oracle Server.
What DCE facilities can Oracle products take advantage of when working with
a DCE-based TP Monitor?
The two most commonly mentioned DCE features which might be useful
to Oracle users are multi-threading and security. We look at these in
the subsequent questions in this section.
Encina documentation suggests that a Resource Manager such as Oracle can
be either single-threaded or multi-threaded? Which way is Oracle XA
implemented?
The Oracle XA implementation is single-threaded, as is any Oracle client.
Within a single process, at most one thread can access Oracle at a time.
Does that mean that only a single Encina application can access an instance
of Oracle transactionally at any given moment?
No. Oracle XA is only single-threaded within a single application server
process. Multiple applications can access Oracle simultaneously using XA
by using different application processes. Encina allows
(1) serial reuse of a single server by different clients. There are
two options for this. The server can use long term reservation
but be defined to be in shared or concurrent access mode, which
allows the server to be used by another client as soon as an RPC
completes. Alternatively, the server can use default reservation
and exclusive mode, which allows the server to be used by another
client as soon as the current transaction ends.
(2) concurrent execution by multiple servers, even if they are accessing
the same Oracle database. These may be executing the same or different
procedures.
These two features should let you get as much concurrency as you need.
Why isn't the Oracle XA library multi-threaded?
The XA specification specifically states that its use of the phrase
"thread of control" means a process. If an RM were to multi-thread its
XA, it would be in violation of the specification. This restriction
was put place in because at the time the specification was written,
there were numerous thread packages: if the TM used one, the application
another, and perhaps the RM yet a third, there's no way it could work.
As threads standards settle down, the later versions of XA will probably
relax this restriction.
Will Oracle change if the XA specification changes?
Very likely. The exact time frame will of course depend on the priority of
all work items at that time.
Does Oracle use DCE security via the TP Monitors?
The integrity of the connection between a DCE TP Monitor client and DCE
TP Monitor server is protected by the DCE security functionality.
Theoretically, the TP Monitor could make the DCE-protected client security
information available to Oracle. Unfortunately, there's no standard way
for a TP Monitor to pass security information information to a Resource
Manager such as Oracle. Oracle is leading an effort to extend the X/Open
model to allow use of the security information provided by the Monitor.
In the meantime, the basic DCE security features such as encryption are
useful within TP Monitors.
Effective use of DCE security would normally also mean that the security of
the TP Monitor client be passed through the TP Monitor, through the Oracle
client (application server), to the Oracle Server, and possibly on
to other Oracle Servers through database links. The ability to transfer
security information to other processes, called delegation, is missing
in DCE version 1.0. DCE version 1.1, expected to emerge in late 1994,
has some delegation features. Oracle is examining these features to see
how they might be used.
Are there any special considerations for CICS/6000?
There are two:
(1) It is inefficient to run without XA. CICS/6000 is designed to
use XA. It uses XA so that the CICS server can log on to Oracle
when it starts, after which it makes that Oracle connection available
to any transaction it executes. If you don't use XA, the CICS server
does not itself log on to Oracle so each transaction has to log on
and log off - a very expensive mode of operation. Also, it is very
un-cics-like in that the application does the log{on,off} and also
commits - in a mainframe CICS database program CICS would implicitly
do these operations. Oracle does not recommend this mode because of the
performance penalty.
(2) CICS servers are generic and dynamically load application modules.
In order for these modules to access the Oracle connection made by
CICS, the applications must be built with a shared object version of
the Oracle libraries. This is an installation option on platforms which
support CICS/6000 and other products using its architecture such as
CICS 9000.
Other commonly asked questions
==============================
What other Resource Managers can be included in an Oracle XA transaction?
Several other relational database vendors have an XA implementation
available or in progress. There is an XA C-ISAM product from
Gresham Telecomputing. There are also Resource Managers contained
within some of the TP Monitors which can be coordinated in the same
transaction. For example, CICS/6000 has VSAM files and other data
stores, Encina has its RQS queuing system, and Tuxedo has its /Q queuing
system.
What is Recoverable Queuing Service (RQS) and how does it interoperate with
Oracle7 and Encina? What about /Q?
Recoverable Queuing Service is a feature provided by Encina which allows
transactional, distributed queuing (enqueue/dequeue). Tuxedo has a similar
product called /Q. Because these products are themselves coordinated by the
TM component of the TP Monitor, their queue operations are atomically
coordinated with with operations on XA Resource Managers such as Oracle7
Server. That is, they can atomically put something on one of their queues
and commit an Oracle transaction, then at some later time dequeue an
entry atomically with doing some other Oracle transaction. The queue
system guarantees that the message will not be lost or transmitted twice.
Can I mix TP Monitor applications with standard Oracle7 Server applications?
Yes, you can have existing Oracle applications connected to the database
with alongside TPM applications against the same database. The TPM does
not manage the whole database, just those transactions which are started
by the TPM. The Oracle Server will properly handle concurrency control
between the transactions managed by itself and those managed by the TPM.
Is Oracle planning to change its tools to be more suitable for TP Monitors?
With Oracle Procedure Builder 1.5, to be available with CDE2,
Oracle will provide a foreign function interface that allows you to
dynamically set up PL/SQL calls that access C functions. In other
words, you can access C routines in Windows DLLs from within your
PL/SQL procedures. This will allow PL/SQL under Windows easy access to
TP Monitor APIs.
Does Oracle7 Server itself use XA-compliant TPMs as the interface to
foreign RMs?
No, for this purpose Oracle Server uses the SQL*Connect products or the new
Transparent and Procedural Gateway products.
Does Oracle7 Server use XA to coordinate Oracle7-only distributed
transactions?
No, it uses an internal mechanism.
Can database links be used with XA?
If an Oracle7 database is running under XA, it can access other Oracle7
databases through database links, with some restrictions. First, the
access to the other database must use SQL*Net V2 and be running MTS.
Second, it must currently be to another Oracle7 database. Assuming those
restrictions, the Oracle 7 database can do distributed update to another
Oracle 7 database by using a database link, whether it is started by an
Oracle application or a TP Monitor application. The TPM will see Oracle
as only a single RM, but Oracle7 will propagate all the transaction
commands to the other database, including the two-phase commit. If
the transaction is started by a TP Monitor application and is using XA,
it can also update non-Oracle resources managed by the TPM. If it
is started from an Oracle application, it can only include resources
managed by Oracle.
Here's a sample configuration:
| TPM | | TPM |
| client | | client |
| |
| |
| TPM |
| |
| |
| Oracle | Forms, Forms, | Oracle | | non-XA | | XA |
| client | Plus, Plus, | client | | TPM | | TPM |
--------- Pro, Pro, --------- | server | | server |
| Financials, Financials, | |(note 1)| ----------
| etc. etc. | ---------- |
| | | |
| SQL | SQL | SQL | XA
| commit | commit | commit | commit
| | | |
| Oracle | | Oracle | | Oracle | | Oracle |
| server | | server | | server | | server |
| | | |
| | | |
| | | |
| Database 1 | | Database 2 |
| | | |
| A | A
| | dblink to database 1 | |
| ------------------------------------ |
| |
dblink to database 2
Note 1: Oracle will work having both XA and non-XA servers but some TPMs
may have restrictions on this.
Are multiple direct connections possible from a Pro* program?
Using XA, you can not only specify multiple direct connections to Oracle7
databases, you can also update them both in the SAME transaction. The
way to do this is to use a precompiler feature called a named database.
When you use a named database, you qualify the SQL statement with the
database name. For example, you write EXEC SQL AT dbname UPDATE emp ....
We have a complementary feature in the xa open string to let the user
associate the name with a particular RM instance, called the DB clause.
You will also want to use the SqlNet clause in the open string so you
can give the two different SIDs. This clause does not require the use of
the SQL*Net product, it is just a naming convention. For more information,
see Oracle7 Server for UNIX Administrator's Reference Guide.
Some TP Monitors may not support having multiple Resource Mangers in the
same server; check with the TPM vendor.
Is there any collateral available for XA or TP Monitors?
Oracle At Work 52684.0692
Oracle7 Server for UNIX Administrator's #A10324-1
Reference Guide
Guide to Oracle's Products and Services #A10560
Oracle7 Server and CICS/6000 #A14200
Where can I get more information on the DTP model?
X/Open's address is
X/Open company Ltd (Publications)
P O Box 109
Penn
High Wycombe
Bucks HP10 8NP
Tel: +44 (0)494 813844
Fax: +44 (0)494 814989
Request
G307 Distributed Transaction Processing: Reference Model Version 2
X/Open Guide G307 ISBN 1-859120-19-9 28cm.44p.pbk.220g.11/93
Page(4/4)
This file contains commonly asked questions about Oracle Server and UNIX
Transaction Processing Monitors (TPMs). The topics covered in this article are
o Performance with Oracle Server and TP monitors
o Performance using Oracle's XA Library
The questions answered in part 4 provide additional detail to the information
provided in part 1.
Performance with Oracle Server and TP Monitors
==============================================
I have heard that Transaction Processing Monitors (TPMs) will increase
Oracle Server performance. Is this true?
Several hardware and TPM vendors have made the claim that TPMs
will increase RDBMS performance. This claim is based on TPC-A
benchmarks. The key point to understand about TPC-A is that it
requires, for every transaction-per-second, ten times that many
users to be connected. For example, to get 600 TPS, you need 6000
users. The next question will answer in more detail how the the
three-tier architecture addresses this requirement, but first let's
look more generally at what TP Monitors can and can't do to improve
performance.
TP Monitors can provide better performance:
(1) When there are more than several hundred users connected.
This is because of the TP Monitor's role in the three-tier
architecture, described in the next question. In this
architecture, terminal handling is offloaded to one or more
separate machines, freeing up those cycles to do database work.
Note that this does NOT mean that Oracle itself runs faster,
just that we've given it more CPU cycles to use.
(2) When, because of the high potential concurrency of requests,
significant resource contention exists. Use of a TP Monitor can
limit the degree of concurrency and thus reduce contention.
TP Monitors can not provide better performance:
(1) For existing applications. The applications must be designed
to fit the TP Monitor architecture.
(2) For applications which are highly interactive in their use of
the database. These applications put many messages
through the transport system, and the TP Monitor is not as
efficient as SQL*Net for point-to-point communication.
(3) For CPU intensive single-query decision support. When executing
a single large command, Oracle query facilities work efficiently,
especially with the use of Oracle Parallel Query, available in 7.1.
How does the three-tier solution help TPC-A, or other situations with
thousands of on-line users?
The TPC-A test calls for a large number of users to produce a given
result. In the high-end results we produced in June, 1992, for example,
6150 terminals were simulated to produce 618 TPC-A transactions.
Thus, terminal concentration accounts for a large portion of the total
processing time used.
First, let's look at how the Multi Threaded Server would work for
this benchmark. In this case, there are many client processes,
but only a few server processes, which handle client requests on a
first-come first serve basis. When they are done with a request,
they take another client's request.
ORACLE7 CLIENT/SERVER ARCHITECTURE WITH MULTI THREADED SERVER
| Client | | Server |
| __________ |______________|_____ _____________ _____________ |
| | Client | | SQL*Net | |_|Dispatcher | | | |
| | Process| | | ____| Process |___| | |
| |________| | | | __|___________| | | |
|____________| | | | | | | | |
| | | | | | Oracle7 | |
______________ | | | __|__|____ | Server | |
| Client | | | | __|_|_____ | | | |
| __________ | | | | | Shared | |____| | |
| | Client | | SQL*Net | | | | Server |_|____| | |
| | Process|_|______________|__| | | Process|_| | | |
| |________| | | | |________| |___________| |
|____________| | | |
| | |
______________ | | |
| Client | | | |
| __________ | | | |
| | Client | | SQL*Net | | |
| | Process|_|______________|____| |
| |________| | | |
|____________| | |
|_______________________________________|
Client processes = N Dispatcher processes >= 1
Shared server processes >= 1
If there are 500 clients in this environment, there will be one or more
dispatcher processes, dynamically tunable, and one or more shared
server processes, dynamically tunable, on the server. The reduction
in the total number of processes handled by the server system
results in more processing time available for RDBMS activity. Thus
higher RDBMS transaction throughput can be obtained on the
server system.
But the problem for the TPC-A, and for certain large customer
configurations, is not the only ability of the Oracle Server to
process transactions, but also the ability of the operating
system to handle huge numbers of incoming connections.
There is one incoming connection for each client. Most UNIX
operating systems have a limit on how many such connections they can
handle. Even if a particular operating system allows a large number of
connections, each takes some amount of overhead to manage.
In order to service all 6150 terminals, we selected a 3-tier hardware
environment where the middle tier, using a TPM, acted as a terminal
concentrator. The high-end TPC-A architecture looked like the following.
The Application Servers, which contain the Pro*C statements used to
perform the transaction also run on the terminal concentrator machine
in order to offload as much work from the database serve as possible.
They send the compiled SQL over SQL*Net to the Oracle7 Server processes.
ORACLE7 TPS-A CLIENT/SERVER ARCHITECTURE
| Client | | Terminal | | Server |
| ________ | | Concentrator | | |
| | Client | |TPM | | | |
| | Process|_|_____|__ _____ | | |
| |________| |Comm | | | | | | |
|____________| | | | | | | |
| |__| | | | |
____________ | | TPM | | | |
| Client | | ___| | _______ | | ________ _______ |
| ________ | | | | |_| |__|_______|__| Oracle | | | |
| | Client | |TPM | | | | |Appl. | |SQL*Net| | Server |__| | |
| | Process|_|_____|_| |_____| |Server | | | | Process| | | |
| |________| |Comm | |_______| | | |________| | | |
|____________| | | | | | |
|_______________________| | | | |
| | | |
____________ _______________________ | |Oracle7| |
| Client | | Terminal | | |Server | |
| ________ | | Concentrator | | | | |
| | Client | |TPM | | | | | |
| | Process|_|_____|__ _____ | | __________ | | |
| |________| |Comm | | | | _______ |SQL*Net| | Oracle | | | |
|____________| | | | |_| |__|_______|__| Server |__| | |
| |__| | |Appl. | | | | Process| | | |
____________ | | TPM | |Server | | | |________| |_______| |
| Client | | ___| | |_______| | | |
| ________ | | | | | | | |
| | Client | |TPM | | | | | | |
| | Process|_|_____|_| |_____| | | |
| |________| |Comm | | | |
|____________| | | | |
|_______________________| |________________________|
Clients = 6150 Terminal concentrators = 17
TP Monitor instances = 17
Application server processes Oracle Server processes
= 17*8 = 17*8
The TPM is the software component of the terminal concentrator. In this role
it offloads terminal handling from the the machine running Oracle Server.
Since more than one terminal concentrator can be configured, whereas the
database in this case had to run on a single machine, concentrator machines
can be added until the performance of the back-end machine was optimized.
This three-tier solution resulted in the outstanding transaction throughput
announced with Oracle7 Server. Even with Oracle Parallel Server, it may pay
to offload the terminal handling so that the cluster can be exclusively used
for database operations.
Can you summarize the performance discussion for me?
Depending on the number of users required, different architectures may be
used in a client/server environment to maximize performance:
1) For a small number of users, the traditional Oracle two-task
architecture can be used. In this case, there is a one-to-one
correspondence between client processes and server processes. It's
simple, straightforward, and efficient.
2) For a large number of users, Multi Threaded Server might be a better
approach. Although some tuning may be required, Multi Threaded Server
can handle a relatively large number of users for each machine size
compared to the traditional Oracle approach. Using this approach,
customers will be able to handle many hundreds of users on many
platforms. Furthermore, current Oracle applications can move to this
environment without change.
3) For a very large number of users, where transactions are simple and
terminal input concentration is the overriding performance issue, a
3-tier architecture incorporating a TPM may be useful. In this case,
terminal concentration is handled by the TPM in the middle tier. As
you might expect, it is a more complex environment requiring more
system management. For existing Oracle customers, significant Oracle
application modifications will be required.
Oracle provides all of these choices.
Performance using Oracle's XA Library
=====================================
Are there any performance implications to using the XA library (in other
words, to using TPM-managed transactions)?
(1) The XA library imposes some performance penalty. You should use
TPM-managed transactions only if you actually need them. Even if you
are getting the one-phase commit optimization, the code path is
longer because we need to map back and forth between external
formats and internal ones. Also, prior to 7.1, XA requires you
to release all cursors at the end of a transaction, which results
in extra parsing. Even with shared cursors, there is time spent
looking up the one you need and re-validating it. This has been
improved for 7.1.
(2) If you need to use two-phase commit, this will incur additional cost
since extra I/Os are required. If you do need 2PC, you need to account
for that when sizing the application.
(3) Although some TPMs allow parallel execution of services (such as Tuxedo's
"tpacall"), this will not normally enhance performance unless different
resource managers are being used. In fact, Oracle Server must serialize
accesses to the same transaction by the same Oracle instance, and the
block/resume code will in fact degrade performance in that case compared
to running the services sequentially.hello,
the role is the same on all plattforms. the reports server takes requests for running reports, spawns an engine that executes the request. in addition to that, the server also provides scheduling services and security features for the reports environment.
regards,
the oracle reports team -
Hi
in my single server these below service are running:
SharePoint Server Search
User Profile Service
Microsoft SharePoint Foundation Web Application
here how i scale out Microsoft SharePoint Foundation Web Application to another server
and SharePoint Server Search to new index server.
adilCheck here to see how to add servers to the farm:
http://technet.microsoft.com/en-us/library/cc261752(v=office.15).aspx
What Inderjeet meant was that if you chose to install SharePoint as a single server instead of a complete farm, you won't be able to add servers to the farm at a later time. You can check if this is the case by checking the registry key he mentioned. If
that is indeed the case, there's nothing to it but reinstall the farm.
So that is why you never should choose the single server option, it locks you in and limits future options, while choosing to install sharepoint as a complete farm it's still perfectly acceptable to host it on a single server.
Kind regards,
Margriet Bruggeman
Lois & Clark IT Services
web site: http://www.loisandclark.eu
blog: http://www.sharepointdragons.com -
Escrow the recovery key in DB server and not in AD when removable drive is encrypted.
Is there any way to escrow the recovery key in the database server and not in AD when removable drive (USB drive) is encrypted via manage-bde command line? The data recovery agent is not enabled in our organization.
"Choose how bitlocker protected removable Drives can be recovered" for removable drives is disabled in our Group policy also.
Please advise. Thank you.As far as I am concerned, you cannot do that when you are using the command line "Manage-bde".
The reason is because, the manage-bde command line parameters doesn't support saving recovery keys to databases. Also there is not any group policy defined for it.
I you want an option to save recovery keys in a database rather than the AD, I would recommend to use MBAM (Microsoft Bitlocker Administration and Monitoring).
Gaurav Ranjan -
Two Xserves running 10.5 Server and setting up DNS...
Hello.
I have two Xserves (a G5 and a new Intel), both with fresh installs of 10.5 Server on them.
Xserve #1 not going to be hosting any external services (FTP, web, email) and only housing internal, mission critical & confidential data (the server is set up with a mirror RAID on the OS drive as well as mirror RAID on the storage drives + nightly tape backups for offsite storage). Right now there are no plans for enabling iCal on this server as we're trying to keep the server as basic as possible (as we can afford zero downtime on this server), but if the initial setup of 10.5 requires configuration at first run to allow this type of thing, I'd like to deal with it now so as to keep my options open (as I know iCal on 10.5 requires Open Directory enabled).
Xserve #2 is going to host FTP (for external clients) and internal file sharing for the design/production department (basically, for transferring files back and fourth between departments, so no data via this share will be "critical" as it's only temporarily on the server and will always exist in other locations). Even though this server will not host "critical" data, it will share the same backup/RAID scheme as Xserve #1.
So, I'm curious as to how I set up DNS in this situation (so we can associate a domain name to our static IP address). We already have our main domain setup via 3rd-party hosting service (for web & email as we do not want to bring these services in-house), but we're purchasing a second domain that will be associated with company (via a static IP, so we can give a domain name instead of IP address for people needing to connect to the FTP server, make it easier for employees to remember the address for remote connections, etc.).
Because Xserve #2 is going to be hosting FTP, would it make sense to setup DNS on this server and not set it up on Xserve #1? Also, and this could just be me being paranoid, but because Xserve #1 will be housing "critical & confidential" data I want to eliminate as much contact with the outside world as possible with this server, so this is another reason I feel Xserve #2 should have DNS running instead.
Oh, and not sure if this makes any difference, but between the WAN and the LAN is a SonicWALL firewall and currently it deal with port forwarding, etc. depending on what services are being requested from the WAN (ie. remote machine connections, FileMaker remote connections, etc.).
Any advice would be appreciated!
Regards,
Kristin.There's a couple of things in your post I don't understand:
the server is set up with a mirror RAID on the OS drive as well as mirror RAID on the storage drives
How are you doing this? Both XServes support only three internal drives and two mirrors require 4 drives. Where does the fourth drive come into play?
I'm curious as to how I set up DNS in this situation
There are numerous ways of doing this, but with a single static IP address your best bet is to leave DNS where it is - managed by your hosting provider. Just add a record in the domain zone (e.g. ftp.yourdomain.com) that has the IP address of the public interface your SonicWall firewall. You don't need a separate domain for this. You also don't need to setup internal DNS for this (although you may need internal DNS if you're running Open Directory.
Because Xserve #2 is going to be hosting FTP, would it make sense to setup DNS on this server and not set it up on Xserve #1?
Assuming you're referring to setting up a DNS server - use them BOTH. Make one of the servers the primary server (I'd pick the internal-only server for this) and set the other server to be a slave (so it copies all the zone data from the primary server). That way you have a replica of the data to provide additional resilience. -
One Oracle Application Server and multiple OC4J Instances
While we are getting new server (for development) we have to set-up a Development and Production enviroment for our project (dont have previous OAS installation) but on the same machine.
So, is a good option to have One OAS INstallation (Ora Home) and then create multiple OC4J instances, one for each environment (Development, QA and Production)?, is it possible? How to manage deployments between OC4J instances, simulating different contexts if they are in the same server and under the same HTTP Server? Will be there conflicts?Hi,
you can do this and OracleAs will manage the different instances. The deployment can be done with Enterprise Manager in which case you select the OC4J instance first before deploying. If deploying from JDeveloper, you can specify the OC4J instance when creating the named connection
Frank -
How to execute an SSIS package on a scheduled basis from remote server and pass in input files
I have an application server and a db server. My db server has all things SQL Server stored on it (DBMS, SSRS, SSIS, etc.) I have several nightly batch process SSIS packages (dtsx files currently) that will pickup an input file and import them
into the database. I would like to execute all batch processes from my application server as I have quite a few other ones as well that do other stuff outside of SQL Server via powershell. My question is how to do this? Is there away to execute
them remotely via DTexec.exe, should I set them up as Agent jobs and somehow pass in the file names\location (how?), create and SSIS catalog, etc.?
I need to easily be able to see if the packages execute successfully or not and if not capture the detailed information of why they failed from the remote server so I can use that to drive my process flow logic in the batch processes.Hi Jason,
According to your description, you want to execute a package on a schedule and receive notification when package ends with error in the job.
After testing the issue in my environment, we can directly add the package in a step of a job, then add a schedule and set the Alert and Notification property in the job to achieve your requirement. For more details, please see:
Create a Database Mail in the SSMS.
Right-click the SQL Server Agent services to Enable mail profile, then select the appropriate Mail profile.
Under the Operators folder, create an operator with the correct E-mail name.
Right-click the Jobs folder to add a new job.
In the Steps pane, New a step with SQL Server Integration Services Package Type to run the package.
In the Schedules pane, New a schedule for the job.
In the Alerts pane, New an alert with SQL Server event alert, then enable Notify operators option with an operator in the Response pane.
In the Notifications pane, enable Email option with same operator and When the job fails selection.
Then when the package fails, the job would be failed and we can receive the error message in the mailbox.
Besides, please make sure the account that execute the job has correct permissions for the file, for the folder that contains the file, and for the database.
References:
Configure Database Mail – Send Email From SQL Database
How to setup SQL Server alerts and email operator notifications
Thanks,
Katherine Xiong
If you have any feedback on our support, please click
here.
Katherine Xiong
TechNet Community Support -
I have a MacBook Pro and I need to be able to access Internet Explorer in order to login to my remote work server (Microsoft server) and Online Business Banking system (Bank of America Cash Pro). How do I do it if Internet Explorer is not supported on Macs? Is there another option? Please help.
I also feel like such a moron as I am really new to Apple computers and don't even know what operating system I am using. The below is what I have. Sorry to all that are well beyond me in the Mac world. Have been a windows user for my whole life and haven't quite figured out where to find everything I need on my new laptop yet. Thanks!
With the following configuration:
PROCESSOR 065-0154 2.7GHz Dual-core Intel Core i7
MEMORY 065-0156 8GB 1333MHz DDR3 SDRAM - 2x4GB
HARD DRIVE 065-0159 750GB Serial ATA Drive @ 5400
OPTICAL DRIVE 065-0161 8x Double-Layer SuperDrive
DVI Adapter 065-0162 None
VGA Adapter 065-0164 None
REMOTE 065-0166 None
Apple Software - iWork 065-7672 No iWork preinstalled
Apple Software - Final Cut Exp 065-7682 Final Cut Express preinstalled
Apple Software - Aperture 065-0338 Aperture preinstalled
Apple Software - Logic Express 065-7675 No Logic Express Preinstalled
Apple Software - Filemaker 065-8307 No FileMaker Preinstalled
Apple Software - MS Office 065-0278 MSO-HOME & BUSINESS EDITION
KEYBOARD AND DOCUMENTATION 065-0172 Keyboard/Users Guide
COUNTRY KIT 065-0175 Country KitIf you are New to Mac... you may also find these links of Value
Mac 101
http://www.apple.com/support/mac101/
http://www.apple.com/support/switch101/ Switching from PC
MBP Support
http://www.apple.com/support/macbookpro
Cheers, -
ORACLE SERVER AND UNIX TP MONITOR-1
제품 : ORACLE SERVER
작성날짜 : 2002-05-17
====================================================================
Subject: Oracle Server and UNIX Transaction Processing Monitors - 1
=====================================================================
PURPOSE
This file contains commonly asked questions about Oracle Server and UNIX
Transaction Processing Monitors (TPMs). The topics covered in this article are
o What is a Transaction Processing Monitor (TPM)?
o What is the X/Open Distributed Transaction Processing Model?
o How does the Oracle Server works with TPMs?
o How should I position TPMs with my customer?
o What Oracle products must a customer purchase?
o Where can my customer purchase a TPM?
o Availability and packaging
Explanation & Example
What is a Transaction Processing Monitor?
=========================================
Under UNIX, a Transaction Processing Monitor (TPM) is a tool that coordinates
the flow of transaction requests between front-end client processes that issue
requests and back-end servers that process them. A TPM is used as
the "glue" to coordinate transactions that require the services of several
different types of back-end processes, such as application servers and
resource managers, possibly distributed over a network.
In a typical TPM environment, front-end client processes perform screen
handling and ask for services from back-end server processes via calls to the
TPM. The TPM then routes the requests to the appropriate back-end server
process or server processes, wherever they are located on the network. Through
configuration information, the TPM knows what services are available and where
they are located. Generally, the back-end server processes are specialized so
that each one handles one type of requested service. The TPM provides
location transparency as well and can send messages through the network
utilizing lower-level transport services such as TCP/IP or OSF DCE.
The back-end servers process the requests as necessary and
return the results back to the TP monitor. The TP monitor then routes
these results back to the original front-end client process.
A TPM is instrumental in the implementation of truly distributed processing.
Front-end clients and back-end processes have no knowledge of each
other. They operate as separate entities, and it is this concept that provides
flexibility in application development. Front-end and back-end processes are
developed in the UNIX client-server style, with each side optimized for its
particular task. Server functionality can be deployed in stages, which makes
it easy to add functionality as needed later in the product cycle. It also
makes it easy to distribute both the front-end and back-end processes
throughout the network on the most appropriate hardware for the job. In
addition, multiple back-end server processes of the same type might be
activated to handle increasing numbers of users.
What is the X/Open Distributed Transaction Processing Model?
============================================================
The X/Open Transaction Processing working group has been working
for several years to establish a standard architecture to implement
distributed transaction processing on open systems. In late 1991,
X/Open published the initial Distributed Transaction Processing (DTP)
model specification and defined the first of several interfaces that
exist between the components of the model. Subsequently, other publications
and a revised model specification have been published.
An important function of the TPM in the X/Open DTP model is the
synchronization of any commits and rollbacks that are required to complete
a distributed transaction request. The Transaction Manager (TM) portion
of the TPM is the entity responsible for ordering when distributed commits
and rollbacks will take place. Thus, if a distributed application program
is written to take advantage of the TM portion of the TPM, then it,
and not the DBMS, becomes responsible for enabling the two-phase commit
process. Article 2 has more detail on this model.
How does the Oracle Server work with TPMs?
==========================================
When a TPM is used without invoking an X/Open TM component to manage the
transactions, Oracle Server needs no special functionality. The transaction
will be managed by Oracle itself. However, when the TPM X/Open TM component
is used to manage the transaction, the Oracle Server, that is the Oracle DBMS,
acts as a Resource Manager--a type of back-end process. In the case of
TPM-managed transactions, the TM needs a way to tell the RMs about the stages
of the transaction. This is done by a standard, X/Open defined interface
called XA. Article 2 of of this document gives more information about both
the X/Open model and Oracle7's use of XA.
Because the XA interface provides a standard interface between the TM and the
resource manager, it follows that the TM can communicate with any XA-compliant
resource manager (e.g., RDBMS), and, conversely, that a resource manager can
communicate with any XA-compliant TM. Thus, the Oracle Server, beginning with
Oracle7, works with any XA-compliant TM.
How should I position TPMs with my customer?
============================================
There's been a great deal of confusion about the need for TPM technology. Some
software suppliers, most notably IBM, will assert that a TPM like CICS is a
necessary requirement for high volume OLTP. Other vendors will assert that
there is seldom a need for such technology. And yet others promote TPMs as
providers of higher transaction throughput.
From Oracle's standpoint, customers might choose TPM technology under any of
the following conditions:
1. For heterogeneous database access, especially for 2PC capability
This means that a TPM can be used to coordinate 2PC between Oracle
DBMS and any other XA-compliant database, such as Informix. This
does NOT provide SQL heterogeneity - SQL calls to Oracle DBMS may be
different than SQL calls to Informix. The TPM handles the routing,
communication, and two-phase commit portion of the transaction, but
does not translate one type of SQL call into another.
2. For transaction monitoring and workload control
The leading TPMs supply tools to actively manage the flow of
transactions between clients and servers and to load balance the work
load across all available processors on a network, not just on a
single multi-processor system. Some TPMs also have the ability to
dynamically bring up additional back-end services during peak work
hours.
3. For more flexible application development and installation
One of the key features of the DTP model is application modularity.
Modularity, that is, the decomposition of a large program into small,
easily defined, coded and maintained "mini-programs" makes it easy to
add new functionality as needed. Modularity also makes it much easier
to distribute the front-end and back-end processes and the resource
managers across hardware throughout a network.
4. For isolating the client from details of the data model
By using the service oriented programming model, the client program
is unaware of the data model. The service can be recoded to use a
different one with no change to the client. To get this advantage,
the application developer must explicitly code the server and client
to fit the service model.
5. For connection of thousands of users
TP Monitors, because of their three-tier architecture, can be used
to connect users to an intermediate machine or machines, removing
the overhead of handling terminal connections from the machine
actually running the database. See Article 4 for more information.
There are also several cases where TPM technology is not the right answer.
These include:
1. If the customer is simply looking for a performance improvement
The customer may have heard a theory that "higher performance
is possible for large scale applications only if they use a
TP monitor". First, no performance gain can be achieved for
existing applications; in fact, they won't even run under a TP
Monitor without recoding. Second, performance improvements have
only been documented for large numbers of users, and "large"
means many hundreds or thousands. Without a TP Monitor,
Oracle Server can handle several hundred users with its normal
two-task architecture and several times that using the Multi
Threaded Server. For more on performance, see Article 4.
2. If the customer has made large investment in his existing Oracle
applications
TP monitor applications must be designed from the ground up to take
advantage of TP monitor technology. Current Oracle customers will find
it difficult to "retrofit" a TP monitor to their existing applications.
The Multi Threaded Server, on the other hand, allows the use of
existing Oracle applications without change.
3. If the customer is committed to the Oracle tool set
Currently, none of Oracle's front-end tools (Oracle Forms, etc.) is
designed to work with TP monitors. It is possible to invoke a
TP Monitor by using user exits. However, the fact that the TP
Monitor model hides the data model from the client means that only
the screen display parts of Forms can be used, not the automatic
mapping from screen blocks to tables.
4. If the customer does not have a staff of experienced software engineers
This is still very young technology for UNIX. There is not a lot of
knowledge in the industry on how to build TP monitor applications or
what techniques are most useful and which are not. Furthermore,
integrating products from different vendors, even with the support
of standard interfaces, is more complex than deploying an integrated
all-Oracle solution. Because TP monitor technology is fairly
complex, we recommend that you let the TP monitor supplier promote
the virtues of their technology and differentiate themselves from
their competitors.
What Oracle products must a customer purchase?
==============================================
If your customer is only interested in building Oracle-managed TP Monitor
transactions, the only Oracle products required are the Oracle Server
and the appropriate Oracle precompiler for whatever language the
application is being written in--most likely C or Cobol. If TPM-managed
transactions are required, the Oracle7 Server with the distributed option
is also required. SQL*Net is optional because the TPM takes care of the
network services. Article 2 describes when you would choose to have the TP
Monitor manage the transactions.
Where can my customer purchase a TPM?
=====================================
There are many vendors offering the UNIX TPM products. (Oracle does not
relicense TPMs.) Information on the most well known products is provided
below:
The following support XA:
Product & Vendor FCS Known OS/Platform Ports
"TUXEDO System/T" 1986 UNIX SVR4 & SVR3: Amdahl, AT&T,
UNIX System Laboratories Bull, Compaq, Dell, Fujitsu, ICL,
190 River Road Motorola, Olivetti, Pyramid,Sequent,
Summit, NJ 07901 Sun, Toshiba, Unisys, NCR, Stratus
Other: IBM AIX, HP/UX, DEC Ultrix
"TOP END" 1992 UNIX SVR4: NCR
NCR Corporation
1334 S. Patterson Blvd.
Dayton, OH 45479
"ENCINA" 1992 IBM AIX, HP, Sun (SunOS and Solaris)
Transarc Corporation Other: OS/2, DOS, HP-UX, STRATUS
707 Grant Street (Depends on DCE)
Pittsburgh, PA 15219
"CICS/6000" 1993 AIX: IBM
IBM Corporation (Depends on DCE)
"CICS 9000" 1994 HP-UX
HP
The following do not currently support XA:
Product & Vendor FCS Known OS/Platform Ports
"VIS/TP" unknown unknown
VISystems, Inc.
11910 Greenville Avenue
Dallas, TX 75243
"UniKix" 1990 UNIX: ARIX, AT&T, NCR, Pyramid,
UniKix Sequent, Sun, Unisys
"MicroFocus 1993 SCO Unix, AIX
Transaction System"
Micro Focus
26 West Street
Newbury RG13 1JT
UK
There are also several third parties who are reselling the products listed
above.
In addition, Groupe Bull, Digital, Siemens-Nixdorf, and several other hardware
vendors are planning to redesign their proprietary TPMs to be XA-compliant and
suitable for use on UNIX systems.
Availability and Packaging
==========================
On what platforms is the XA Library available?
Oracle provides the XA interface with Oracle7 Server on all platforms that
support an XA-compliant TPM. Support for XA is included as part of the
Oracle7 Server distributed option and has no extra charge in and of itself.
Which version of XA does Oracle Server support?
Oracle7 Server supports the Common Application Environment (CAE) version of
XA, based on the specification published by X/Open in late 1991. It will
require that the TM also be at that level. This means Tuxedo /T version 4.2,
for example.
Oracle Server supports all required XA functions. There are some optional
features Oracle Server does not support, such as asynchronous operation.
None of those options affect application programming.
Page (2/4)
This file contains commonly asked questions about Oracle Server and UNIX
Transaction Processing Monitors (TPMs). The topics covered in this article are
o Oracle Server Working with UNIX TPMs
o TPM Application Architecture
The questions answered in part 2 provide additional detail to the information
provided in part 1.
Oracle Server Working with UNIX TP Monitors
===========================================
Do I need XA to use Oracle Server with TPMs? If I don't use it, what are
the consequences?
There are a number of real applications running today with Oracle Server and
TPMs but not using XA. To use a TPM with Oracle without using XA, the user
would write an "application server" program which could handle one or more
"services". For example, a server program might handle a service called
"debit_credit". The key requirement is that the entire transaction,
including the "commit work", must be executed within a single service. This
is the restriction which XA will remove, as we'll see later. Each
server process can serially handle requests on behalf of different clients.
Because a server process can handle many client processes, this can
reduce the total number of active processes on the server system,
thereby reducing resource requirements and possibly increasing overall
throughput.
When Oracle is used with a TPM in this mode, we call it an Oracle-managed
transaction since the transaction commit or rollback is done with a SQL
statement.
What is XA? How does XA help Oracle7 work with UNIX TPMs?
XA is an industry standard interface between a Transaction Manager and a
Resource Manager. A Resource Manager (RM) is an agent which
controls a shared, recoverable resource; such a resource can be
returned to a consistent state after a failure. For example, Oracle7 Server
is an RM and uses its redo log and undo segments to be able to do this.
A Transaction Manager (TM) manages a transaction including the
commitment protocol and, when necessary, the recovery after a failure.
Normally, Oracle Server acts as its own TM and manages its own commitment
and recovery. However, using a standards-based TM allows Oracle7 to
cooperate with other heterogeneous RMs in a single transaction.
The commonly used TPMs include a TM component for this purpose. In order to
use the TM capability of the TPM rather than Oracle7's own transaction
management, the application uses a transaction demarcation API (called TX)
provided by the TPM rather than the SQL transaction control statements (e.g.
"commit work"). For each TX call, the TM then instructs all RMs, by the
appropriate XA commands, to follow the two-phase commit protocol. We
call this a TPM-managed transaction.
The following picture shows these interfaces within a monolithic application
program model. This is the model most commonly described in the
DTP literature. We'll see later what the picture looks like when we add
Oracle7 and when we switch to a modularized client-server application
program model.
| |
| |
| Application Program (AP) |
| |
| |
| | | |
Resource Manager API | | | |
(e.g. SQL) -----|--|------------- | TX API
| | v | |
--------|------------- | |
| v | | v
---------------------- | | --------------------
| | | | | |
| Resource | | |<----->| Transaction |
| Managers | |--- | Manager |
| (RMs) | |<-------->| (TM) |
| |--- | |
| |<----------->| |
---------------------- XA --------------------
Interface
The XA interface is an interface between two system components, not
an application program interface; the application program does
not write XA calls nor need to know the details of this interface.
The TM cannot do transaction coordination without the assistance of
the RM; the XA interface is used to get that assistance.
How does the DTP Model support client-server?
The above picture was actually simplified to make it easier to explain
the role of XA. In a true distributed transaction architecture, there
are multiple applications, each with an Application Program, a Resource
Manager, and a Transaction Manager. The applications communicate by
using a Communication Resource Manager. The CRM is generally provided
as a component of the TPM. It includes the transaction information when
it sends messages between applications, so that both applications can
act of behalf of the same transaction. The following picture
illustrates this:
Client Application
| AP |
||| | |
SQL ||| | TX | CRM
||V V | API
-||-- ----- |
| |V | | | V
--|-- |<---| | -----
| V || | | | |
----- |<----| TM |<-->| CRM |
| || | |XA+ | |
| RMs |<-----| | -----
| | XA | | A
----- ----- | Server Application
| -----------------------------
| | AP |
| -----------------------------
| ||| | |
| SQL ||| | TX | CRM
| ||V V | API
| -||-- ----- |
| | |V | | | V
| --|-- |<---| | -----
| | V || | | | |
| ----- |<----| TM |<-->| CRM |
| | || | |XA+ | |
| | RMs |<-----| | -----
| | | XA | | A
| ----- ----- |
| |
| |
-------- |
/ |
/ |
/ |
Most TP Monitor products include both a TM and a CRM, and also provide
additional functions such as task scheduling and workload monitoring.
What is XA+? What does Oracle need to do to comply with it?
XA+ is an interface that lets the X/Open model actually be distributed
because it allows a communication resource manager to tell a TM on the
server that a message from a client just came in for a particular
transaction. Oracle is not currently planning to provide an X/Open
communication resource manager, so we don't have any plans right now
to do XA+. Version 2 of the DTP model paper from X/Open describes it.
The status of the current XA+ specification is "snapshot".
When would I choose an Oracle-managed transaction vs a TPM-managed
transaction?
Oracle Server is very efficient at managing its own transactions. If
the TPM manages the transaction, in general some additional overhead
will be incurred.
The two main reasons a customer might prefer to use a TPM-managed
transaction are as follows:
(1) He may need to update RMs from different vendors. Experience so far
has been that the most common case is wanting to update both Oracle and
a TP Monitor managed resource such as a transactional queuing service
in the same transaction (see Article 3).
(2) He may want to use the model of having several different services in
a transaction, even to the same database. For example, the
"debit_credit" service could be split into a "debit" service and a
"credit" service. This is a very attractive model, but this type of
modularity does exact a performance penalty (see Article 4).
Can I get a version of XA to run on Oracle Server version 6?
No, the XA functionality uses two underlying mechanisms in the Oracle
Server which are not available in version 6: two-phase commit and
session switching. The upi calls for these functions do not not exist
in version 6.
When would I use XA vs Oracle7 to coordinate all-Oracle distributed
transactions?
Generally speaking, Oracle Server should be used to coordinate all-Oracle
distributed transactions. The main reason for using XA to coordinate
transactions would be that you want to use the TP Monitor service-oriented
architecture. That is, you would like to construct an application built of
services and service requests in order to benefit from the modularity and
workload control such an environment provides.
TP Monitor Application Architecture
===================================
What might a TP Monitor application look like?
Most TPM applications will consist of two more more programs, where
there are front-end client programs which request services and back-end
server programs which provide services. In this case, the TPM supplies an
additional capability which is transactional communication. The client
describes the boundaries of the transaction, through the use of the TX API,
and the TPM relays that transaction information to each requested service.
The overall application structure generally looks like the following in the
client-server model. The "TP Monitor Services" box is not necessarily a
process. It could be one or more processes, or just libraries coordinating
through shared memory. Each client process and server process could be on
a different machine. Normally, the application server processes would be
connected to their Oracle Server processes using the IPC driver; the TPM
would be used to deliver messages between application client processes on
one machine and application server processes on another. However, the
application server processes could also be connected with the standard
Oracle SQL*Net to shadow processes on different machines. This might be
useful if one of the databases was on a machine which did not support TPMs.
|Application| |Application| |Application|
| Client 1 | | Client 2 | | Client 3 |
| | | | | |
\ TPM API | TPM API / TPM API
| |
| TP Monitor Services |
| |
| --------------------- |
| | Transaction Manager | |
---------------|---------------|---------------------
TPM API | | XA | XA | TPM API
| | inter- | inter- |
| | face | face |
| | | |
----------- | | -----------
|Application| | | |Application|
| Server 1 |--- ---| Server 2 |
| (Pro*C) | | | | (Pro*C) |
| SQL | SQL
| | | |
| Resource ----------- ----------- |
| Manager | | | | |
| | Oracle7 | | Oracle7 | |
| | Server | | Server | |
| | Process | | Process | |
| | | | | |
| ----------- ----------- |
| | | |
| ----------------------------------------------------- |
| | | |
| | SGA | |
| | | |
| ----------------------------------------------------- |
| |
Application client programs might be written in C and be linked with
TPM libraries. Alternatively, they could use a screen painter product.
Application server programs would be written in Pro*C or Pro*COBOL and
be linked with TPM libraries, the normal Oracle7 user-side libraries
and libxa.a. The Oracle7 Server process is the regular Oracle7 executable.
More complicated application architectures can also be constructed. Most of
the TPMs allow a server to become a client of another service, so you can
involve additional servers.
Could I use Oracle7's Multi Threaded Server as the SQL*Net connection in the
previous picture?
Yes, but that will not be needed in many cases. For example, both
application server processes in the previous picture could talk to a
single Oracle7 Server process through the Multi Threaded Server in the
previous picture. However, since the TPM architecture typically reduces
the number of server processes, the reduction in processes using Multi
Threaded Server may be less significant than in an architecture without
TPMs. If the application will use database links, however, then MTS will
be required.
How do I write an Oracle TP Monitor application?
The actual API used to talk to the TPM varies between vendors, so you need
to get the documentation from the vendor. However, all have a way to
indicate where a transaction begins and ends and a way to send a request
and receive a response from a client to a server. Some use an RPC model,
some use a pseudo-RPC model, and some use a send/receive model. The TX API
described earlier is a subset of the TPM API as defined by each of
the TPM providers.
The client program and server program might look something like the
following examples. We h (such as Tuxedo's
"tpacall
Reference Ducumment
---------------------hello,
the role is the same on all plattforms. the reports server takes requests for running reports, spawns an engine that executes the request. in addition to that, the server also provides scheduling services and security features for the reports environment.
regards,
the oracle reports team
Maybe you are looking for
-
Apps per "playlist"? Using multiple devices to one itunes account.
Hi, Perhaps it's a silly question...but I run into a sync issue. we have itunes running on one PC, and have two ipod touches and one ipad, all under the same apple account. When I synced my new ipad, itunes tried to sync all my 100+ ipod apps on my p
-
After iPhoto 9.2.1 update, duplicates in iTunes
Hello - I've just tried to synch my iphone 4 to iTunes and now see that several duplicate events have been created in iTunes for my photos. I can't synch properly and when I go back into iPhoto to see what's happening, it looks like several duplica
-
Need info about bundled soware with Satellite A200-1FJ
Hello all, is Windows Vista preinstalled? Do they provide a copy with the laptop? What about driver disk? I've just received a recovery disk with my laptop. Some one bought the laptop for me from kuwait. Can anyone guide me about the dvd's included w
-
OSB 11g - Apache Webserver - WSDL location redirecting to OSB server
Hi, In our case we have a OSB server running on a dev machine and a Apache server is installed which receives the requests from the vendor and forwards the requests to the OSB. I have a Proxy Service on the OSB which is WSDL based and this is accesse
-
I'm stuck on how to get the sections showing on the Content Viewer for each folio? I've labelled them on the DPS suite, but can't see images for each section on the Content Viewer