Newbie question about Oracle Parallel Server and Real Application Cluster

I am trying to find out what kind of storage system is supported by the 9i Real Applicaton cluster. I have looked at the 8i Oracle Parallel Server which requires raw partitions and therefore NAS (network attached storage) that provides an interface at the file level will not work. Does anyone know if the 9i Real Application cluster has a similar requirement for raw partitions? any suggestions of whether SAN or other technology will be suitable? pointers to more information is appreciated.
Robert

Hi Derik,
I know this is a really broad question. No, it happens all the time! Here is a similar issue:
http://blog.tuningknife.com/2008/09/26/oracle-11g-performance-issue/
+"In the end, nothing I tried could dissuade 11g from emitting the “PARSING IN CURSOR #d+” message for each insert statement. I filed a service request with Oracle Support on this issue and they ultimately referred the issue to development as a bug. Note that Support couldn’t reproduce the slowness I was seeing, but their trace files did reflect the parsing messages I observed."+
I would:
1 - Start by examining historical SQL execution plans (stats$sql_plan or dba_hist_sql_plan). Try to isolate the exact nature of the decreased performance.
Are different indexes being used? Are you geting more full-table scans?
2 - Migrate-in your old 10g CBO statistics
3 - Confirm that all init.ora parms are identical
4 - Drill into each SQL with a different execution plan . . .
Raid 5 Don't believe that crap that all RAID-5 is evil. . . .
http://www.dba-oracle.com/t_raid5_acceptable_oracle.htm
But at the same time, consider using the Oracle standard, RAID-10 . . .
Hope this helps . . .
Donald K. Burleson
Oracle Press author
Author of "Oracle Tuning: The Definitive Reference"
http://www.rampant-books.com/t_oracle_tuning_book.htm
"Time flies like an arrow; Fruit flies like a banana".

Similar Messages

  • What is Oracle 10g Release 2 Real Application Cluster?

    Hello Guys,
    I have been working in Oracle database 9i for last 2 years. Just using the simple features of oracle. Now our data have grown and company wants to enhance the database version and also want to perform load balancing at oracle's end.
    Have heard a lot about Oracle RAC, but i am not sure what actually is oracle rac and its installation.
    What is the difference between Oracle 10g Release 2 Enterprise Installation and Oracle 10g Release 2 Real Application Cluster installation. Are these 2 different softwares available on different CDs or RAC is only a different way to install oracle 10g database in RAC mode.
    Please clerify and explain. Sorry this is a very beginner level question but i want to learn it and implement it.
    Regards,
    Imran Baig

    What is the difference between Oracle 10g Release 2
    Enterprise Installation and Oracle 10g Release 2 Real
    Application Cluster installation. Are these 2Enterprise Edition is the database management software provided byu Oracle.
    RAC is an extension to the Standard and Enterprise Edition to permit the same database to be managed from two or more computers. (Withe Enterprise Edition, it is an extra cost option. With Standard Edition, it is included in the price, since SE has other limitations.)
    Conceptually, RAC is simple - IF you understand the difference between Instance and Database. RAC = 1 database managed by many instances
    Physically, RAC requires a healthy investment in infrastructure - the infrastructure and the RAC software addresses the question: how do you get several computers able to read and write to the same disk and the same block without data corruption?
    If you are serious about RAC, take a course. If you are in the US, consider http://www.psoug.org as an 'Intro to RAC' course provider.

  • Question about Oracle Shared Server Performance

    Is it true that the performance of the Oracle Shared Server on Windows plataformns, like 2003 server is poor. ?
    And so that, I cant see any advantages to change its configuraton, on a 200 users configuration, where I can have at most 2.000 session.
    Tks for help and some tips if you guys have them.
    Fernando

    Hi Fernando,
    Is it true that the performance of the Oracle Shared Server on Windows plataformns, like 2003 server is poor. ? In general (not just Windows), shared servers (the MTS) should only be used if you have an acute RAM shortage.
    Tom Kytes notes:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:5269794407347
    "Unless you have a real reason to use MTS -- don't."
    "a shared server connection is by design "slower" than a dedicated server (more stuff goes on, more complex) it is most likely only getting in the way."
    Also, remember that you can use AWE to take the data buffer above the line and free-up more low-memory RAM for connections. Here are my notes:
    http://www.dba-oracle.com/oracle_tips_ram_waste.htm
    http://www.dba-oracle.com/t_mts_multithreaded_servers_shared.htm
    My experience concurs that Oracle shared servers should not be used without a compelling reasons (i.e. super high connect/disconnect rates on an instance with limited resources) and that the vast majority of Oracle databases will run more efficiently without shared servers.
    Dedicated server connects are far faster than multi-threaded server connections, and 64-bit Oracle combined with the low cost of RAM has driven-down the rare cases where shared servers are justified.
    Hope this helps. . .
    Donald K. Burleson
    Oracle Press author

  • Question about HP MediaSmart Server and Time Machine

    I just got an EX490 MediaSmart server to use for backups and as a media server. I set up the server to serve as a Time Machine backup device, and it seems to work fine. However, when the server is connected and appears as a Share in the Finder, if I use the Finder to navigate to the "Mac" folder on the server, I don't see any files inside. Actually I searched through all visible files on the server and didn't see any files that might be a backup file. I tried turning on Invisible file viewing but that didn't make any difference. I'm assuming that the Time Machine backup file on the server is somehow hidden from viewing.
    Does anyone know why the backup file isn't appearing?
    Thanks.

    I have been looking at similiar HP NAS model, which now appears to have beome a prior model -
    HP EX485 MediaSmart Home Server
    http://www.amazon.com/gp/product/B001OI2ZG4/
    The prices have gone up slightly, too. The reviews on the above EX485 were almost like a mini review and informative. I assume you've created accounts and perhaps have (need?) a PC to configure Windows Home Server R2 fully? I was waiting for full Windows 7 support which is still in beta.
    From what I read, one of the "Missing Bible" for WHS or something helps to get the most out of it and help with setup (though generally that just takes 15 minutes if you know how).

  • ORA-02049  and Real Application Cluster

    I have 2 site
    first one with a single Oracle Server
    and
    the second one with 2 server with the RAC technology (Real Application Server)
    In the second one (RAC environement) I have the ORA-02049 timeout: distributed transaction waiting for lock when I run my custom software.
    All its ok in the first one.
    do you have some hints about that for me ?
    thanks

    ORA-02049 timeout: distributed transaction waiting for lock
    Cause: Exceeded INIT.ORA DISTRIBUTED_LOCK_TIMEOUT seconds waiting for lock.
    Action: Treat as a deadlock.
    Perhaps you RAC is not handling the transactions with the same speed. I recommend you to increase that value.
    That kind of error comes generally when the transactions consumes more time than specified by that parameter. The network can be one of the causes of it. As I told you, I recommend you highly to increase that parameter.
    Joel Pérez
    http://www.oracle.com/technology/experts

  • Newbie question about Oracle 11G performance

    I have a situation where a newer better faster server running Oracle 11gR1 is running considerably slower than an older slower server running Oracle 10gR2.
    Both of these servers have the same web applications and same dumpfiles loaded into them.
    I personally installed the Oracle 11g on the new server, however, I didn't install the 10gR2 on the older server, some one else did...
    I have checked what I think are the basics: the tables are not missing constraints, the automatic memory management is enabled.
    I know this is a really broad question.
    Newer server:
    Quad-Core AMD Opteron Processor 2352 2.10 GHz (2 processors)
    16 GB memory
    Windows Server 2008, 64 bit
    Raid 5
    Older Server:
    Intel Xeon 1.8 GHz (2 processors)
    4 GB memory
    Windows Server 2003, 32 bit
    Raid 5

    Hi Derik,
    I know this is a really broad question. No, it happens all the time! Here is a similar issue:
    http://blog.tuningknife.com/2008/09/26/oracle-11g-performance-issue/
    +"In the end, nothing I tried could dissuade 11g from emitting the “PARSING IN CURSOR #d+” message for each insert statement. I filed a service request with Oracle Support on this issue and they ultimately referred the issue to development as a bug. Note that Support couldn’t reproduce the slowness I was seeing, but their trace files did reflect the parsing messages I observed."+
    I would:
    1 - Start by examining historical SQL execution plans (stats$sql_plan or dba_hist_sql_plan). Try to isolate the exact nature of the decreased performance.
    Are different indexes being used? Are you geting more full-table scans?
    2 - Migrate-in your old 10g CBO statistics
    3 - Confirm that all init.ora parms are identical
    4 - Drill into each SQL with a different execution plan . . .
    Raid 5 Don't believe that crap that all RAID-5 is evil. . . .
    http://www.dba-oracle.com/t_raid5_acceptable_oracle.htm
    But at the same time, consider using the Oracle standard, RAID-10 . . .
    Hope this helps . . .
    Donald K. Burleson
    Oracle Press author
    Author of "Oracle Tuning: The Definitive Reference"
    http://www.rampant-books.com/t_oracle_tuning_book.htm
    "Time flies like an arrow; Fruit flies like a banana".

  • (newbie) Question about replacing .class files and web.xml file

    I'm new to servlets and I have two quick questions...
    Do I absolutely need a web.xml file to define all my servlets, or can I simply place .class files into the WEB-INF directory and expect them to run?
    If my application server (for example Tomcat) is running and I replace a servlet .class file, do I need to restart the server for the new .class file to take effect?
    ...or are both of these questions specific to the application server I'm using?

    Hi,
    From an article I read:
    With Tomcat 3.x, by default servlet container was set up to allow invoking a servet through a common mapping under the /servlet/ directory.
    A servlet could be accessed by simply using an url like this one:
    http://[domain]:[port]/[context]/servlet/[servlet full qualified name].
    The mapping was set inside the web application descriptor (web.xml), located under $TOMCAT_HOME/conf.
    With Tomcat 4.x the Jakarta developers have decided to stop allowing this by default. The <servlet-mapping> tag that sets this mapping up, has been commented inside the default web application descriptor (web.xml), located under $CATALINA_HOME/conf:
    <!-- The mapping for the invoker servlet -->
    <!--
    <servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
    -->
    A developer can simply map all the servlet inside the web application descriptor of its own web application (that is highly suggested), or simply uncomment that mapping (that is highly discouraged).
    It is important to notice that the /servlet/ isn't part of Servlet 2.3 specifications so there are no guarantee that the container will support that. So, if the developer decides to uncomment that mapping, the application will loose portabiliy.
    And declangallagher, I will use caution in future :-)

  • A silly question about oracle.sql.timestamp and java.sql.timestamp

    Hi,
    I'm looking at a method that takes objects of type Object and does stuff if the object is really a java.sql.timestamp. If it is not then an error is flagged. In my case it flags an error when an object of type oracle.sql.timestamp is passed to it. Not really entirely comfortable with java (i'm still learning it), here's my stupid question :- why isn't oracle.sql.timestamp a subclass of java.sql.timestamp? Also in various books it indicates that java.sql.timestamp maps to oracle.sql.timestamp. Does that mean you have to physically do the mapping:
    i.e.
    java.sql.Timestamp t = new Timestamp( new oracle.sql.Timestamp( CURRENTTIMESTAMP ).timestampValue() );
    or is there something else to it.
    Thanks.
    Harold.

    The best forum for this is probably Forum Home » Java » SQLJ/JDBC
    Presumably you are refering to oracle.sql.TIMESTAMP. While this is intended to (and does) correspond to java.sql.Timestamp it can't be a subclass because it needs to be a subclass of oracle.sql.Datum.

  • Newbie questions about Database replication, "backups", and sql version

    Just created my first Sql Database using the "SQL Database Management Portal". A blast but three questions come to mind:
    1. Is this DB automatically
    "replicated"? (In other words,  is DB "failover" or clustering,  a feature of all newly created Azure databases?) 
    2. Our on-premise model is to make a daily DB backup which is saved to a nightly tape. If needed, we can restore a two-month old database backup under a new name to compare it with the current one. Does Sql Azure support this capability
    or not? Can it be requested?
    3.  Which on-premise version of sql is "Sql Azure" closest to? (2014?)
    TIA,
    edm2
    P.S. My database was created using the "web" edition.

    Hi edm,
    According to your description, you create a SQL Azure database in Azure platform. The replication feature is not supported by Microsoft Azure SQL database. If you want to sync the SQL Azure database and local database, you can use SQL Azure Data Sync service.
    For more information, see:
    http://blogs.technet.com/b/the_cloud_pilot/archive/2011/10/24/your-first-sql-azure-data-sync-step-by-step.aspx
    In addition, if you have Web or Business Edition databases, you must create your own backup strategy. You can use database copy or Import and Export services to create copies of the data and export the file to an Microsoft Azure storage account. Meanwile,
    Windows Azure SQL Database provides a mechanism for automating the process for exporting a database to BACPAC files on a set interval and frequency. For more information, see:
    Schedule an Automated Export:
    http://msdn.microsoft.com/en-us/library/hh335292.aspx#automate
    Windows Azure SQL Database Backup and Restore strategy:
    http://www.mssqltips.com/sqlservertip/3057/windows-azure-sql-database-backup-and-restore-strategy/
    Currently, Azure uses a special version of Microsoft SQL Server as its backend. It provides high availability by storing multiple copies of databases, elastic scale and rapid provisioning, when we check the version of SQL Server, it shows as follows.
    Microsoft SQL Azure (RTM) - 11.0.9216.62
    Regards,
    Sofiya Li
    If you have any feedback on our support, please click
    here.
    Sofiya Li
    TechNet Community Support

  • Another NewB question about Cubase LE / monitoring and click

    I am using Tascam 1804 and Cubase LE on windows XP.
    I want to record analog signal on Cubase LE, but hear monitoring from Tascam. That goes well as long I want to hear CLICK as well through Tascam. Is this possible? How?
    I have tried to utilize ASIO, no result. I can see that Tascam received click by MIDI (green light blinks according to click), but no click sound from headphones.
    Please advice, how to make clicking to Tascam in a simple way.
    Thanks,
    Jani

    What you need to do to monitor VST effects in Cubase in real time whilst recording.
    This is Applicable to all EMU patchmix soundcards eg. EMU 0404, 1212.
    1. Switch off Direct monitoring in Cubase.
    2. Switch off Direct monitoring in patchmix: Mute the input channel(s) you are using in patchmix.
    Q. Why does this work?
    A. You currently can not hear the effects whilst recording because Cubase is using the unprocessed signal as the monitor signal. What you want it to do is to hear the processed signal. Therefore Switch Off Direct Monitoring.
    HOW-TO
    = Switch off Direct Monitoring in Cubase =
    1. On the toolbar Click on Devices=>Device Setup
    2. In Device Setup Click on VST multitrack
    3. Untick Direct Monitoring
    4. Click on Control Panel Button
    5. Set ASIO Buffer Latency to a low figure. Say 5ms
    (The lower the Buffer Latency the more the 'responsive' the computer.)
    6. Press OK (Your Back in Device Setup)
    7. Press OK
    HOW-TO
    = Mute Input channel(s) you are using in patchmix =
    1. Run the patchmix software
    2. Click on the M button@ bottem of fader to mute the input channels.
    Done :-)
    dG

  • Two network adapters and Real Application Cluster

    Hello
    I have got one problem. I have got 2 computers and each of them has got only 1 network adapter. Is it possible to make Cluster having only 1 network adapter on each node?
    Do 2 adapters are needed (they must be)? I know that I can add two different IP addresses to one network adapter. Another question is: is it possible to make two networks (private and public in Oracle 10g )on one adapter to create cluster? If it is ,please expalin how to do it or give a link,please . I will be happy then :)
    user502165

    You need two network adapter which is separate from creating two VIPs for the same adapter

  • About Oracle Heterogeneous Services and Oracle Gateway

    Hi All,
    I am very new at this topic, I want to know:
    1)Oracle Heterogeneous Services and Oracle Gateway same or not?Need license or not?
    2)If want Creating Database Link from Oracle 11g to Sybase AS 15.5 Using Oracle Heterogeneous Services what drivers should I install from my pc(windows 7) and from my server(Linux red hat 5)?please give me link for this
    3)Is there any link Step by step to configure odbc until creating dblink?
    4)what more convenient, connect sybase from Oracle Heterogeneous Services or Oracle Gateway?
    Thank you so much for your help
    Regards
    JOE

    Joe,
    let copy/paste your questions and comment inline:
    1)Oracle Heterogeneous Services and Oracle Gateway same or not?Need license or not?
    Let me first clarify one thing, heterogeneous services is the generic mechanism in the Oracle database used by all gateways. The product you are talking about is the Database Gateway for ODBC or the Database Gateway for Sybase.
    The Database Gateway for ODBC is available for Linux and Windows. It is the free product which does not require an Oracle license. The license is included in your database license. It is a generic gateway which allows you to connect with any suitable 3rd party ODBC driver to a matching foreign database. As it is a generic connectivity which aloows you to connect to real databases but also to MS Excel or even Text files as long as you have a suitable ODBC driver, its capability is very limited.
    The more powerful gateway is the Database Gateway for Sybase. It covers the same functionality as DG4ODBC but it allows you also to work with distributed transactions, it allows you to call remote Sybase stored procedures etc. This gateway is design for Sybase ASE connections, so it is also able to map certain Oracle functions to Sybase equivalents. This Database Gateway for Sybase is NOT for free, it requires an additional license.
    2)If want Creating Database Link from Oracle 11g to Sybase AS 15.5 Using Oracle Heterogeneous Services what drivers should I install from my pc(windows 7) and from my server(Linux red hat 5)?please give me link for this
    That depends on your preferences. Both gateways are available for Linux and for Windows. When using DG4ODBC you only need to pay attention that you get a suitable 3rd party ODBC driver for this platform with the matching word size (64bit for 64bit DG4ODBC and 32bit ODBC driver for installations of DG4ODBC on 32bit platforms).
    The latest software release is currently 11.2.0.3 and it can be downloaded (and installed from scratch) from "My Oracle Support". Just open the Patches & Updates section, look for Patch 10404530: 11.2.0.3.0 PATCH SET FOR ORACLE DATABASE SERVER and make sure to choose the platform you want to use. Then check out the readme as it lists which of these download CD's contains the gateway software.
    BTW, the CD contains DG4ODBC and DG4SYBS and it is up to you to decide during the installation which product you want to use.
    3)Is there any link Step by step to configure odbc until creating dblink?
    The ODBC driver installation differs from vendor to vendor and platform to platform - so we don't have a specific note how to configure the ODBC driver. This kind of question is better handled by the ODBC driver vendor.
    Regarding the set up of DG4ODBC on Windows you find suitable information in the knowledge base on My Oracle Support. Just look for:
    How to Configure DG4ODBC (Oracle Database Gateway for ODBC) on Windows 32bit to Connect to Non-Oracle Databases Post Install          [Document 466225.1]     
    and for DG4SYBS:
    How to Configure DG4SYBS (Oracle Database Gateway for Sybase) on 64bit Unix (Linux, AIX, HP-UX Itanium and Solaris) Post Install          [Document 437696.1]     
    How to Setup DG4SYBS (Database Gateway for Sybase) on a 64bit Windows          [Document 1319852.1]     
    4)what more convenient, connect sybase from Oracle Heterogeneous Services or Oracle Gateway?
    It really depends on your needs. DG4SYBS is surly easier to install as this gateway comes with everything you need and you do not have to find a suitable ODBC driver nor get the ODBC driver working. It is also more powerful as you can for example use triggers that replicate data changes in an Oracle database to the Sybase database within the same transaction. When you want to call Sybase stored procedures you can also do that with DG4SYBS. So it really depends on your needs.
    - Klaus

  • Oracle Parallel Server

    This is a question about availability of
    Oracle Parallel Server on linux. I tried to
    ask OTN but their answer was really strange :
    they adviced me to go to discussion board!
    I suppose that Parallel was not realized
    for linux oficially yet but this is a possibility
    to use server compiled for another OS as
    it was with Informix on SCO. Please, could you clarify this question for me?

    This is a lie on behalf of Oracle.
    What they mean to say is they supply some of the underlying sub-systems such as Parallel server manager.
    If you mean parallel server and not Oracle Failsafe, you need an OSD layer. This is a certified layer tested by Oracle for parallel operation. The guidelines for the exact kit will will run on are strick and it comes from your hardware suppliers. Compaq's is around 4k for example.
    Hope this helps,
    Pete

  • ORACLE PARALLEL SERVER (OPS)

    제품 : ORACLE SERVER
    작성날짜 : 2004-08-13
    ORACLE PARALLEL SERVER (OPS)
    ==============================
    PURPOSE
    다음은 OPS(ORACLE PARALLEL SERVER) 의 구조에 대해서 알아본다.
    SCOPE
    Standard Edition 에서는 Real Application Clusters 기능이 10g(10.1.0) 이상 부터 지원이 됩니다.
    Explanation
    1. Parallel Server Architecture
    OPS는 다수의 Loosely Coupled System들 간의 원활한 Resource
    Sharing을 위해 제공하는 DLM(PCM)을 이용하여 동시에 다수의
    사용자가 각 Node를 통해 한 Database를 Access함으로써 System의
    가용성과 전체적인 성능을 극대화시키기 위한 다중처리 System
    구성이다.
    (1) Loosely Coupled System
    SMP Machine과 같이 Tightly Coupled System들 간에 Data Files,
    Print Queue 같은 Resource를 공유하기 위한 Shared Disk
    Architecture로 Node간의 정보전송은 Common High-Speed Bus를
    이용한다.
    (2) Distributed Lock Manager(DLM)
    Loosely Coupled System에서 Resource Sharing을 조정,관리하는
    Software로 Application들이 같은 Resource에 대해 동시에 Access를
    요구할 때 서로간의 Synchronization을 유지하며 Conflict가
    발생하지 않도록 하는 기능을 담당한다.
    다음은 DLM의 주요 Service이다
    - Resource에 대한 Current "ownership" 유지 관리
    - Application Process들의 Resource Request Accept
    - 요구한 Resource가 가용할 경우 해당 Process에 공지
    - Resource에 대한 Exclusive Access 허용
    (3) Parallel Cache Management(PCM)
    Data File내의 하나 이상의 Data Block을 관리하기 위해
    할당되는 Distributed Lock을 PCM Lock이라 하며 어떤 Instance가
    특정 Resource를 Access하기 위해서는 반드시 그 Resource의 Master
    Copy의 "owner"가 되어야 한다.
    이는 곧 그 Resource를 Cover하는 Distributed Lock의 "owner"가
    됨을 의미한다. 이러한 "owner ship"은 다른 Instance가 동일
    Data Block 또는 그 PCM Lock에 의해 Cover되고 있는 다른 Data
    Block에 대한 Update 요구가 있을때까지 계속 유지된다.
    "owner ship"이 한 Instance에 다른 Instance로 전이 되기 전에
    변경된 Data Block은 반드시 Disk로 "write"하므로 각 Node의
    Instance간 Cache Coherency는 철저하게 보장된다.
    2. Parallel Server의 특성
    - Network상의 각 Node에서 Oracle Instance 기동 가능
    - 각 Instance는 SGA + Background Processes로 구성
    - 모든 Instance는 Control File과 Datafile들을 공유
    - 각 Instance는 자신의 Redo Log를 보유
    - Control File, Datafiles, Redo Log Files는 하나 이상의
    Disk에 위치
    - 다수의 사용자가 각 Instance를 통해 Transaction 실행 가능
    - Row Locking Mode 유지
    3. Tuning Focus
    서로 다른 Node를 통해서 하나의 Database 구성하의 Resource를
    동시에 사용하는 OPS 환경에서 Data의 일관성과 연속성을 위한
    Instance간의 Lock Managing은 불가피한 현실이다. 즉, 위에서
    언급한 Instance간의 Resource "owner ship"의 전이(pinging 현상)
    와 같은 Overhead를 최소화하기 위해선 효율적인 Application
    Partition(Job의 분산)이 가장 중요한 현실 Factor이다.
    다시 말해 서로 다른 Node를 통한 동일 Resource에의 Cross-Access
    상황을 최소화해야 함을 의미한다.
    다음은 OPS 환경에서 Database Structure 차원의 Tuning Point로서
    PCM Lock 관련 GC(Global Constant) Parameters와 Storage에 적용할
    Options 및 기타 필요한 사항이다.
    (1) Initial Parameters
    OPS 환경에서 PCM Locks를 의해 주는 GC(Global Constant)
    Parameters는 Lock Managing에 절대적인 영향을 미치며 각 Node마다
    반드시 동일한 Value로 설정(gc_lck_procs 제외)되어야 한다.
    일반적인 UNIX System에서 GC Parameters로 정의하는 PCM Locks의
    총합은 System에서 제공하는 DLM Configuration 중 "Number of
    Resources"의 범위 내에서 설정 가능하다.
    - gc_db_locks
    PCM Locks(DistributedLocks)의 총합을 정의하는 Parameter로
    gc_file_to_locks Parameter에 정의한 Locks의 합보다 반드시
    커야 한다.
    너무 작게 설정될 경우 하나의 PCM Lock이 관리하는 Data Blocks가
    상대적으로 많아지므로 Pinging(False Pinging) 현상의 발생
    가능성도 그만큼 커지게 되며 그에 따른 Overhead로 인해 System
    Performance도 현격히 저하될 가능성이 크다. 따라서 가능한
    최대의 값으로 설정해야 한다.
    - False Pinging
    하나의 PCM Lock이 다수의 Data Blocks를 관리하므로 자신의
    Block이 아닌 같은 PCM 관할하의 다른 Block의 영향으로 인해
    Pining현상이 발생할 수 있는 데 이를 "False Pinging"이라 한다.
    Database Object별 발생한 Pinging Count는 다음과 같이 확인할 수
    있으며 sum(xnc) > 5(V$PING) 인 경우에 더욱 유의해야 한다.
    - gc_file_to_locks
    결국 gc_db_locks에 정의된 전체 PCM Locks는 각 Datafile 당
    적절히 안배가 되는데 전체 Locks를 운용자의 분석 결과에 의거
    각 Datafile에 적절히 할당하기 위한 Parameter이다.
    운용자의 분석 내용은 각 Datafile 내에 존재하는 Objects의 성격,
    Transaction Type, Access 빈도 등의 세부 사항을 포함하되 전체
    PCM Locks 대비 Data Blocks의 적절하고도 효율적인 안배가
    절대적이다.
    이 Parameter로 각 Datafile당 PCM Locks를 안배한 후 Status를
    다음의 Fixed Table로 확인할 수 있다.
    Sample : gc_db_locks = 1000
    gc_file_to_locks = "1=500:5=200"
    X$KCLFI ----> 정의된 Bucket 확인
    Fileno      Bucket     
    1     1     
    2      0      
    3     0     
    4      0     
    5     2     
    X$KCLFH ----> Bucket별 할당된 Locks 확인
    Bucket     Locks     Grouping     Start     
    0     300     1     0     
    1     500     1     300     
    2     200     1     800     
    gc_files_to_locks에 정의한 각 Datafile당 PCM Locks의 총합은 물론
    gc_db_locks의 범위를 초과할 수 없다.
    다음은 각 Datafile에 할당된 Data Blocks의 수를 알아보는 문장이다.
    select e.file_id id,f.file_name name,sum(e.blocks) allocated,
    f.blocks "file size"
    from dba_extents e,dba_data_files f
    where e.file_id = f.file_id
    group by e.file_id,f.file_name,f.blocks
    order by e.file_id;
    - gc_rollback_segments
    OPS로 구성된 각 Node의 Instance에 만들어진 Rollback Segment
    (Init.ora의 rollback_segments에 정의한)의 총합을 정의한다.
    다수의 Instance가 Rollback Segment를 공용으로 사용할 수는 있으나
    OPS 환경에서는 그로 인한 Contention Overhead가 엄청나므로 반드시
    Instance당 독자적인 Rollback Segment를 만들어야 하며 Instance간
    동일한 이름의 부여는 불가하다.
    select count(*) from dba_rollback_segs
    where status='ONLINE';
    위의 결과치 이상의 값으로 정해야 한다.
    - gc_rollback_locks
    하나의 Rollback Segment에서 동시에 변경되는 Rollback Segment
    Blocks에 부여하는 Distributed Lock의 수를 정의한다.
    Total# of RBS Locks = gc_rollback_locks * (gc_rollback_segments+1)
    위에서 "1"을 더한 것은 System Rollback Segment를 고려한 것이다.
    전체 Rollback Segment Blocks 대비 적절한 Locks를 정의해야 한다.
    다음은 Rollback Segment에 할당된 Blocks의 수를 알아보는 문장이다.
    select s.segment_name name,sum(r.blocks) blocks
    from dba_segments s,dba_extents r
    where s.segment_name = r.segment_name
    and s.segment_type = 'ROLLBACK'
    group by s.segment_name;
    - gc_save_rollback_locks
    특정 시점에서 어떤 Tablespace 내의 Object를 Access하고 있는
    Transaction이 있어도 그 Tablespace를 Offline하는 것은 가능하다.
    Offline 이후에 발생된 Undo는 System Tablespace내의 "Differred
    Rollback Segment"에 기록, 보관 됨으로써 Read Consistency를
    유지한다. 이 때 생성되는 Differred Rollback Segment에 할당하는
    Locks를 정의하는 Parameter이다.
    일반적으로 gc_rollback_locks의 값과 같은 정도로 정의하면 된다.
    - gc_segments
    모든 Segment Header Blocks를 Cover하는 Locks를 정의한다. 이 값이
    작을 경우에도 Pinging 발생 가능성은 그 만큼 커지므로 해당
    Database에 정의된 Segments 이상으로 설정해야 한다.
    select count(*) from dba_segments
    where segment_type in ('INDEX','TABLE','CLUSTER');
    - gc_tablespaces
    OPS 환경에서 동시에 Offline에서 Online으로 또는 Online에서
    Offline으로 전환 가능한 Tablespace의 최대값을 정의하는 것으로
    안전하게 설정하기 위해서 Database에 정의된 Tablespace의 수만큼
    설정한다.
    select count(*) from dba_tablespaces;
    - gc_lck_procs
    Background Lock Process의 수를 정하는 것으로 최대 10개까지
    설정(LCK0-LCK9)할 수 있다. 기본적으로 하나가 설정되지만 필요에
    따라 수를 늘려야 한다.
    (2) Storage Options
    - Free Lists
    Free List는 사용 가능한 Free Blocks에 대한 List를 의미한다.
    Database에서 새롭게 가용한 Space를 필요로 하는 Insert나
    Update시엔 반드시 Free Space List와 관련 정보를 가지고 있는
    Blocks Common Pool을 검색한 후 필요한 만큼의 충분한 Blocks가
    확보되지 않으면 Oracle은 새로운 Extent를 할당하게 된다.
    특정 Object에 동시에 다수의 Transaction이 발생한 경우 다수의
    Free Lists는 그만큼 Free Space에 대한 Contention을 감소시킨다.
    결국 Free List의 개수는 Object의 성격과 Access Type에 따라
    적절히 늘림으로써 커다란 효과를 거둘 수 있다.
    예를 들면 Insert나 크기가 늘어나는 Update가 빈번한 Object인
    경우엔 Access 빈도에 따라 3 - 5 정도로 늘려줘야 한다.
    - freelist groups
    Freelist group의 수를 정의하며 전형적으로 OPS 환경에서
    Instance의 수만큼 설정한다. 특정 Object의 Extent를 특정
    Instance에 할당하여 그 Instance에 대한 Freelist Groups를
    유지하므로 Instance별 Free List 관리도 가능하다.
    (3) 기타
    - Initrans
    동시에 Data Block을 Access할 때 필요한 Transaction Entries에
    대한 초기치를 의미하며 Entry당 23Byte의 Space를 미리 할당한다.
    기본값은 Table이 "1" 이고 Index와 Cluster는 "2" 이다. Access가
    아주 빈번한 Object인 경우 Concurrent Transactions를 고려하여
    적절히 설정한다.
    4. Application Partition
    OPS Application Design의 가장 중요한 부분으로 Partitioning의
    기본 원리는 다음과 같다.
    . Read Intensive Data는 Write Intensive Data로부터 다른
    Tablespaces로 분리한다.
    . 가능한 한 하나의 Application은 한 Node에서만 실행되도록
    한다. 이는 곧 다른 Application들에 의해 Access되는 Data에
    대한 Partition을 의미한다.
    . 각 Node마다 Temporary Tablespaces를 할당한다.
    . 각 Node마다 Rollback Segments를 독립적으로 유지한다.
    5. Backup & Recovery
    일반적으로 OPS 환경의 Sites는 대부분 24 * 365 Online 상황이므로
    전체적인 Database 운영은 Archive Log Mode & Hot Backup으로 갈
    수에 없으며 Failure 발생시 얼마나 빠른 시간 안에 Database를
    완벽하게 복구 할 수 있는 지가 최대 관건이라 하겠다.
    모든 Backup & Recovery에 관한 일반적인 내용은 Exclusive Mode
    Database 운영 환경에서와 동일하다.
    (1) Backup
    - Hot Backup Internal
    Archive Mode로 DB를 정상적으로 운영하며 Online Data Files를
    Backup하는 방법으로 Tablespace 단위로 행해진다.
    alter tablespace - begin backup이 실행되면 해당 Tablespace를
    구성하는 Datafiles에 Checkpoint가 발생되어 Memory상의 Dirty
    Buffers를 해당 Datafiles(Disk)에 "Write"함과 동시에 Hot Backup
    Mode에 있는 모든 Datafiles의 Header에 Checkpoint SCN을 Update
    하는데 이는 Recovery시에 중요한 Point가 된다.
    또한 alter tablespace - end backup이 실행되기 전까지 즉,
    Hot Backup이 행해지는 동안 해당 Datafiles는 "fuzzy" Backup
    Data가 생성되며 특정 Record의 변형 시에도 해당 Block이 Redo
    Log에 기록 되므로 다수의 Archive File이 더 생성되는 것을 볼 수
    있다. 따라서 Admin이 해당 Datafiles를 모두 Backup하고도 end
    backup을 실행하지 않으면 전체 인 System 성능에 심각한 영향을
    미치게 되므로 특히 주의해야 한다.
    Hot Backup 중인지의 여부는 다음 문장을 통해 확인할 수 있다.
    select * from v$backup; -> status 확인
    - Hot Backup Step (Recommended)
    ① alter system archive log current
    ② alter tablespace tablespacename begin backup
    ③ backup the datafiles,control files,redo log files
    ④ alter tablespace tablespacename end backup
    ⑤ alter database backup controlfile to 'filespec'
    ⑥ alter database backup controlfile to trace noresetlogs(safety)
    ⑦ alter system archive log current
    (2) Recovery
    - Instance Failure시
    OPS 환경에서 한 Instance의 Failure시 다른 Instance의 SMON이
    즉시 감지하여 Failed Instance에 대한 Recovery를 자동으로
    수행한다. 이 때 운영중인 Instance는 Failed Instance가 생성한
    Redo Log Entries와 Rollback Images를 이용하여 Recovery한다.
    Multi-Node Failure시엔 바로 다음에 Open 된 Instance가 그 역할을
    담당하게 된다. 아울러 Failed Instance가 Access하던 모든 Online
    Datafiles에 대한 Recovery도 병행되는 데 이런 과정의 일부로
    Datafiles에 관한 Verification이 실패하여 Instance Recovery가 되지
    않을 경우엔 다음 SQL Statement를 실행시키면 된다.
    alter system check datafiles global;
    - Media Failure시
    다양한 형태로 발생하는 Media Failure시엔 Backup Copy를
    Restore한 후 Complete 또는 Incomplete Media Recovery를 행해야
    하며 이는 Exclusive Mode로 Database를 운영할 때와 전혀 다르지
    않다.
    Node별 생성된 즉, Thread마다 생성된 모든 Archived Log Files는
    당연히 필요하며 많은 OPS Node 중 어디에서든지 Recovery 작업을
    수행할 수 있다.
    - Parallel Recovery
    Instance 또는 Media Failure시 ORACLE 7.1 이상에서는 Instance
    Level(init.ora) 또는 Command Level(Recover--)에서 Parallel
    Recovery가 가능하다. 여러 개의 Recovery Processes를 이용하여
    Redo Log Files를 동시에 읽어 해당 After Image를 Datafiles에
    반영시킬 수 있다. Recovery_Parallelism Parameter는 Concurrent
    Recovery Processes의 수를 정하며 Parallel_Max_Servers Parameter의
    값을 초과할 수는 없다.
    (3) 운영 시 발생 가능한 Error
    - ORA-1187 발생
    ORA-1187 : can not read from file name because it
    failed verification tests.
    (상황) 하나의 Node에서 create tablespace ... 한 상태에
    정상적으로 운영하던 중 다른 Node를 통해 특정 Object를
    Access하는데 ORA-1187 발생.
    (원인) 다른 Node에서 raw disk의 owner, group, mode 등을
    Tablespace가 생성된 후 뒤늦게 전환.
    (Admin의 Fault)
    (조치) SQL> alter system check datafiles global;
    Reference Documents
    --------------------

    hal lavender wrote:
    Hi,
    I am trying to achieve Load Balancing & Failover of Database requests to two of the nodes in 8i OPS.
    Both the nodes are located in the same data center.
    Here comes the config of one of the connection pools.
    <JDBCConnectionPool CapacityIncrement="5" ConnLeakProfilingEnabled="true"
    DriverName="oracle.jdbc.driver.OracleDriver" InactiveConnectionTimeoutSeconds="0"
    InitialCapacity="10" MaxCapacity="25" Name="db1Connection598011" PasswordEncrypted="{3DES}ARaEjYZ58HfKOKk41unCdQ=="
    Properties="user=ts2user" Targets="ngusCluster12,ngusCluster34" TestConnectionsOnCreate="false"
    TestConnectionsOnRelease="false" TestConnectionsOnReserve="true" TestFrequencySeconds="0"
    TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@192.22.11.160:1421:dbinst01" />
    <JDBCConnectionPool CapacityIncrement="5" ConnLeakProfilingEnabled="true"
    DriverName="oracle.jdbc.driver.OracleDriver" InactiveConnectionTimeoutSeconds="0"
    InitialCapacity="10" MaxCapacity="25" Name="db2Connection598011" PasswordEncrypted="{3DES}ARaEjYZ58HfKOKk41unCdQ=="
    Properties="user=ts2user" Targets="ngusCluster12,ngusCluster34" TestConnectionsOnCreate="false"
    TestConnectionsOnRelease="false" TestConnectionsOnReserve="true" TestFrequencySeconds="0"
    TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@192.22.11.161:1421:dbinst01" />
    <JDBCMultiPool AlgorithmType="Load-Balancing" Name="pooledConnection598011"
    PoolList="db1Connection598011,db2Connection598011" Targets="ngusCluster12,ngusCluster34" />
    Please let me know , if you need further information
    HalHi Hal. All that seems fine, as it should be. Tell me how you
    enact a failure so that you'd expect one pool to still be good
    when the other is bad.
    thanks,
    Joe

  • Question about AUTOTRACE, SP2-0618 and SP2-0611

    Good morning,
    I wanted to look at the execution plan(s) for some sample queries. I did a little research using Google, found out about autotrace, plan_table, plustrace role and utlxplan. I followed the instructions I found but the result isn't quite as expected.
    Here is an output of a freshly started session:
    0 01:50 [SS1TB Attic-Z] [5G] [750M] Z:\Documentation\Oracle\
    Oracle Concepts\Scripts>sqlplus hr/abc123
    SQL*Plus: Release 11.2.0.1.0 Production on Sun Aug 8 01:50:16 2010
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> select count(*) from plan_table;
      COUNT(*)
             2
    SQL> set autotrace on
    SP2-0618: Cannot find the Session Identifier.  Check PLUSTRACE role is enabled
    SP2-0611: Error enabling STATISTICS report
    SQL> select count(*) from plan_table;
      COUNT(*)
             2
    Execution Plan
    Plan hash value: 3662021055
    | Id  | Operation          | Name       | Rows  | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |            |     1 |     3   (0)| 00:00:01 |
    |   1 |  SORT AGGREGATE    |            |     1 |            |          |
    |   2 |   TABLE ACCESS FULL| PLAN_TABLE |     2 |     3   (0)| 00:00:01 |
    Note
       - dynamic sampling used for this statement (level=2)
    SQL>1. the first select is there to ensure I have a plan_table, that checks.
    2. When I set autotrace on, I get SP2-0618 and SP2-0611 for reasons that I cannot figure out.
    3. the second select is there to find out if the autotrace in step 2 had any effect. It did since now the explain plan is displayed.
    The question is: if it is working (as step 3 demonstrates) then why I am getting those errors in step 2 ? and what do I have to do to not get those errors anymore ?
    Thank you (again!) for your help,
    John.
    Note: I created the plustrace role, granted it select on v_$sesstat, v_$statname, v_$session, then I granted plustrace to hr. Was there something else needed ?

    Hi John,
    It looks like that, for PLUSTRACE it is important for the user to be logged out when the role is granted otherwise, it looks like there is a part of the process that doesn't "stick".That's not just with the PLustrace role. Any role would be working when the next time the user is going to log in. Please see below where using two sessions, I shall grant a user some privs and would see whether its working for the user or not.
    *Session1BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> create user john identified by john;
    User created.
    SQL> grant connect to john;
    Grant succeeded.
    SQL> create role dangerous ;
    Role created.
    SQL> grant drop any table,create any index to dangerous;
    Grant succeeded.
    SQL> conn john/john
    Connected.
    SQL> select * from session_privs;
    PRIVILEGE
    CREATE SESSIONSo far, what I did that I created a user John, granted him a direct priviledge. There is a role also that's prepared and would be granted to the user while still he being connected. See below, this is the second session,
    SQL*Plus: Release 11.2.0.1.0 Production on Sun Aug 8 15:33:09 2010
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> grant dangerous to john;
    Grant succeeded.I would check the available permissions for the user in the session. This command was entered in the first session where the user john was already connected.
    SQL> /
    PRIVILEGE
    CREATE SESSIONYou can see that there is no change in the session privs. Now, let's disconnect and connect again,
    SQL> disconn
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> conn john/john
    Connected.
    SQL> select * from session_privs;
    PRIVILEGE
    CREATE SESSION
    DROP ANY TABLE
    CREATE ANY INDEXAll he privs are active now for the user.
    Now, the privs in the role, if would be updated, would be reflecting right away in the user's currently connected session. I added one more priv to the role in the 2nd session and it was coming in the 1st session, see below please,
    session-2
    SQL> grant alter any table to dangerous;
    Grant succeeded.
    SQL>
    session-1
    SQL> /
    PRIVILEGE
    CREATE SESSION
    ALTER ANY TABLE
    DROP ANY TABLE
    CREATE ANY INDEX
    SQL>I copied extra lines I guess, deleted them now.
    Aman....
    Edited by: Aman.... on Aug 8, 2010 3:56 PM

Maybe you are looking for

  • New Mountain Lion Notes.app Keeps Crashing

    Hi everyone, So I am running into serious problems with the brand new Notes App. Everything worked fine with the new notes.app in terms of iCloud syncing and everything, but then all of a sudden the app crashes every time I either try to edit the nam

  • How to access my iCloud account on another iPhone?

    This is my situation: i forgot my iPhone at home and wanted to access my contacts through my iCloud with my boyfriend's iPhone. But the iCloud.com site wont let me. How can I do it? And let's say I lost my phone and wanted to know where it is right n

  • Detuning is not equal to blocking and attenuation

    Steve talked alot about holding the phone and blocking the signal, thus causing attenuation, and how it exists in other phones. fine. Why did he not talk about the OTHER issue, which is the detuning that results when human contact bridges WiFi antenn

  • Login.jspx page refreshing in infinite loop in adf security

    HI, I have applied adf security to my application. If i create page def for login.jspx page it is refreshing in infinite loop. Thanks, Nitesh

  • OIM 11g R1 - Reset Password Settings

    Hello, if i reset a user password the default settings are: - Auto-generate the Password (randomly generated) - E-mail the new password to the user. Is it possible to remove these field or set "Manually change the password" as default?