Itanium Architecture 시스템에서만 나타나는 오류로 /var/adm/messages 에 다음과 같은 오류메세지가 기록된다면 아래와 같이 처리하면 됨.

oracle(9581): floating-point assist fault at ip 40000000068c22c2
...
oracle(13763): floating-point assist fault at ip 40000000072b8081

Solution

It is possible to completely turn off the floating-point assist messages from the console (they are still written to /var/log/messages)
To do this, simply issue the command as "root":

$ dmesg -n4

To eliminate them also from /var/log/messages :

1. edit /etc/syslog.conf changing line:
*.info;mail.none;authpriv.none;cron.none               /var/log/messages
 to
*.error;mail.none;authpriv.none;cron.none               /var/log/messages

This means any facility logging messages below error level will be suppressed

2. restart syslog
service syslog restart


 

Posted by pat98

32bit <-> 64bit 변환에 대한 문서

=========================================================================

SCOPE & APPLICATION
-------------------

This document is created to provide all the details for changing word size from
32bit to 64bit. This document is a "cut/paste" of applicable sections from the
Oracle9i Database Migration guide (A96530-02), to quickly provide the needed
details and steps to change the word-size.

This note is applicable to Oracle 8.0.x, Oracle8i, Oracle9i and Oracle10g.

LIMITATIONS OF USE
------------------
This note is not applicable for:

- databases having JVM installed in an Oracle8i, Oracle9i or Oracle10g environment, or
- Oracle Applications installed in an Oracle8i, Oracle9i or Oracle10g environment
 
To migrate these types of database, please check Note 183649.1

CHANGING WORD-SIZE
------------------
You can change the word-size of your Oracle database server during a migration,
upgrade, or downgrade operation. A change in word-size includes the following
scenarios:

You have 32-bit Oracle software installed on 64-bit hardware and want to
change to 64-bit Oracle software.

You have 64-bit Oracle software installed on 64-bit hardware and want to
change to 32-bit Oracle software.

If you are changing word-size during a migration, upgrade, or downgrade
operation then no additional action is required. The word-size is changed
automatically during any of these operations. However, if you want to change
the word-size within the same release, then follow the instructions in
"Changing the Word-Size of Your Current Release" below. For example, if you
have the 32-bit version of Oracle release 9.0.1 and you want to switch to the
64-bit version of Oracle release 9.0.1, then you must complete this procedure.
The following information applies if you are upgrading or downgrading your
hardware from 32-bit to 64-bit or from 64-bit to 32-bit:

If you want to upgrade your hardware, then you should be able to switch
from 32-bit hardware to 64-bit hardware and still use your existing
32-bit Oracle software without encountering any problems.

If you want to downgrade your hardware from 64-bit to 32-bit, then you
must first downgrade your Oracle software to 32-bit software before
downgrading your hardware.

The on-disk format for database data, redo, and undo is identical for the
32-bit and 64-bit installations of Oracle. The only internal structural
differences between the 32-bit and 64-bit Oracle installations are the
following:

The compiled format of PL/SQL is different. The instructions for how and
when to recompile PL/SQL are provided in the appropriate chapters of
the Migration book. The storage format of user-defined types is based on the
release of Oracle that created the database. The existing storage format will
be converted to the correct format transparently when necessary. User-defined
types include object types, REFs, varrays, and nested tables.

Note: For Oracle 9.2

In the first release of the migration guide it is said that changing the
wordsize during upgrade or migration is not supported.  This is incorrect
a documentation bug has been logged for this.  Bug 2590998 explains the
error in the documentation.  This has been fixed in the second release of
Oracle 9I release 2 (9.2) Migration guide where it is correctly written
that changing wordsize during the migration or the upgrade is supported.

It is recomended to apply the latest patchset BEFORE the wordsize conversion.
This would avoid some bugs and also some steps in this note during the wordsize
conversion, like Bug 1867501 and Bug 1926809.

CHANGING THE WORD-SIZE OF YOUR CURRENT RELEASE
----------------------------------------------

The instructions in this section guide you through changing the word-size of
your current release (switching from 32-bit software to 64-bit software or
vice versa).

Complete the following steps to change the word-size of your current release:

1. Start SQL*Plus.

2. Connect to the database instance AS SYSDBA.

3. Run SHUTDOWN IMMEDIATE on the database:

   SQL> SHUTDOWN IMMEDIATE

   Issue the command for all instances if you are running Oracle Parallel
   Server.

=============================================================================
   Note:

   NCHAR columns in user tables are not changed during the upgrade.
   To change NCHAR columns in user tables, see "Upgrade User NCHAR
   Columns" in the Migration guide. 

=============================================================================

4. Perform a full offline backup of the database (optional, but highly
   recommended)

   See Also:

   Oracle9i User-Managed Backup and Recovery Guide for more information. 

5. If you are using the same Oracle home for your current release and the
   release to which you are switching, then deinstall your current release
   using the Oracle Installer. You do not need to deinstall your current
   release if you are using separate Oracle home directories.

6. If you currently have a 32-bit installation, then install the 64-bit
   version of the same release. Or, if you currently have a 64-bit
   installation, then install the 32-bit version of the same release.

=============================================================================
   Note:

   Installation and deinstallation are operating system-specific. For
   installation and deinstallation instructions, see your
   Oracle9i operating system-specific installation documentation and
   the Oracle9i README for your operating system.

   Installation documentation can also be found at technet.oracle.com
 
=============================================================================

7. Copy configuration files to a location outside of the old Oracle home:

   a. If your initialization parameter file resides within the old
      environment's Oracle home, then copy it to a location outside of the
      old environment's Oracle home. The initialization parameter file can
      reside anywhere you wish, but it should not reside in the old
      environment's Oracle home after you switch to the new release.

   b. If your initialization parameter file has an IFILE (include file)
      entry and the file specified in the IFILE entry resides within the
      old environment's Oracle home, then copy the file specified by the
      IFILE entry to a location outside of the old environment's Oracle
      home.  The file specified in the IFILE entry has additional
      initialization parameters. After you copy this file, edit the IFILE
      entry in the initialization parameter file to point to its new
      location.

   c. If you have a password file that resides within the old Oracle home,
      then move or copy the password file to the Oracle9i Oracle home.
      The name and location of the password file are operating
      system-specific; for example, on UNIX operating systems, the default
      password file is ORACLE_HOME/dbs/orapwsid, but on Windows platforms,
      the default password file is ORACLE_HOME\database\pwdsid.ora.
      In both cases, sid is your Oracle instance ID.

=============================================================================
      Note:

      For Oracle9i Real Application Clusters, perform this step on
      all nodes. Also, if your initdb_name.ora file resides within
      the old environment's Oracle home, then move or copy the
      initdb_name.ora file to a location outside of the old
      environment's Oracle home. 

=============================================================================

8. Change your environment to point at the new 64Bit ORACLE_HOME.

     Note: Check with platform specific documentation if other env variables
           need to be changed e.g. LD_LIBRARY_PATH

9. If you are migrating an Oracle 8.0, Oracle8i or Oracle9i 9.0.x database
   then please make the following changes in the 64-bit ORACLE_HOME/dbs
   init$ORACLE_SID.ora file to prepare for migration:

    aq_tm_processes=0   
    job_queue_processes=0
    _system_trig_enabled= false

    Changing the first two parameters will avoid the problems detailed in
    Bug 1421476 and Bug 1816609

    The last parameter should be set to FALSE for scripts which perform
    dictionary operations as the objects on which the triggers depend may
    become invalid or be dropped, causing the triggers to fail and thus
    preventing the scripts from running successfully.

    See Note 149948.1 'IMPORTANT: Set "_SYSTEM_TRIG_ENABLED=FALSE" When
    Upgrading / Downgrading / Applying Patch Sets' for more info.

   If you are migrating an Oracle9i 9.2.0.x or Oracle10g database, go to
   step 10.

10. When migrating from a 32-bit Oracle version to a 64-bit Oracle version,
    Oracle recommends doubling the size of parameters such as:

    SHARED_POOL_SIZE
    SHARED_POOL_RESERVED_SIZE
    LARGE_POOL_SIZE

    This is mainly due to an increase in the size of internal data structures.
    For an in-depth explanation of this, please see Note 209766.1
    'Memory Requirements of Databases Migrated from 32-bit to 64-bit'

11. At a system prompt, change to the ORACLE_HOME/rdbms/admin directory.

12. Start SQL*Plus.

13. Connect to the database instance AS SYSDBA.

14. If you are migrating an Oracle 8.0, Oracle8i or Oracle9i 9.0.x database,
    run STARTUP RESTRICT:

    SQL> STARTUP RESTRICT

    You may need to use the PFILE option to specify the location of your
    initialization parameter file.

    If you are migrating an Oracle9i 9.2.0.x database, run STARTUP MIGRATE:

    SQL> STARTUP MIGRATE

    If you are migrating an Oracle10g database, run STARTUP UPGRADE:

    SQL> STARTUP UPGRADE

15. Run the following script:

    SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql

16. Check the validity of the DBMS_STANDARD package:

    SQL> select status from dba_objects
    where object_name='DBMS_STANDARD'
    and object_type='PACKAGE'
    and owner='SYS';

17. If the package is invalid, recompile it:

    SQL> alter package dbms_standard compile;

18. Run the following script:

    SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql

    After running this script, check for invalid objects:

    SQL> select owner, object_name, object_type from dba_objects
    where status <> 'VALID';

    Recompile any invalid objects to avoid problems while running the
    utlirp.sql script (in step 20)

19. Set the system to spool results to a log file for later verification of
    success:

    SQL> SPOOL catoutw.log

    If you want to see the output of the script you will run on your screen,
    then you can also issue a SET ECHO ON statement:

    SQL> SET ECHO ON

20. Run utlirp.sql:

    SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql

    The utlirp.sql script recompiles existing PL/SQL modules in the format
    required by the new database. This script first alters certain
    dictionary tables. Then, it reloads package STANDARD and DBMS_STANDARD,
    which are necessary for using PL/SQL. Finally, it triggers a
    recompile of all PL/SQL modules, such as packages, procedures, types,
    and so on.

21. Turn off the spooling of script results to the log file:

    SQL> SPOOL OFF

    Then, check the spool file and verify that the packages and procedures
    compiled successfully. You named the spool file in Step 12; the suggested
    name was catoutw.log. Correct any problems you find in this file.

    If you specified SET ECHO ON, then you may want to SET ECHO OFF now:

    SQL> SET ECHO OFF

22. If you are migrating an Oracle 8.0, Oracle8i or Oracle9i 9.0.x database,
    disable the restriction on sessions:

    SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;

23. Shutdown the database. If you are migrating an Oracle 8.0, Oracle8i or
    Oracle9i 9.0.x database, remove the following parameter from init.ora

    aq_tm_processes=0
    job_queue_processes=0
    _system_trig_enabled=false


The word-size of your database is now changed.

You can open the database for normal use.

RELATED DOCUMENTS
-----------------

Note 214242.1 ORA-600 [17069] while running utlirp.sql converting to
           8.1.7.4 64-Bit

Oracle 9i Database Migration Release 2 (9.2) Part Number A96530-01 (HTML) -
   http://download.oracle.com/docs/cd/B10501_01/server.920/a96530/toc.htm

Oracle 9i Datbase Migraiton Release 1 (9.0.1) Part Number A90191-02 (HTML) -
   http://download.oracle.com/docs/cd/A91202_01/901_doc/server.901/a90191/toc.htm

Oracle8i Migration Release 3 (8.1.7) Part Number A86632-01 (HTML) -
   http://download.oracle.com/docs/cd/A87860_01/doc/server.817/a86632/toc.htm

Oracle8 Migration Release 8.0 Part Number A58243-01 (HTML) -
   http://download.oracle.com/docs/cd/A64702_01/doc/server.805/a58243/toc.htm

Oracle Documentation Master Index -
   http://www.oracle.com/technology/documentation/index.html

Posted by pat98

Applies to:

Oracle Net Services - Version: 10.2.0.1.0
This problem can occur on any platform.

Symptoms

The Oracle Net 10g parameters SQLNET.INBOUND_CONNECT_TIMEOUT and INBOUND_CONNECT_TIMEOUT_listenername default to 0 (indefinite) in 10.1.  To address Denial of Service (DOS) issues,  the parameters were set to have a default of 60 (seconds) in Oracle 10.2.

If applications are longer than 60 secs to authenticate with the Oracle database, the errors occur.

The following may be seen in the alert log: WARNING: inbound connection timed out (ORA-3136)

SQLNET.INBOUND_CONNECT_TIMEOUT is set to a value in seconds and determines how long a client has to provide the necessary authentication information to a database.

INBOUND_CONNECT_TIMEOUT_listenername is set to a value in seconds and determines how long a client has to complete its connect request to the listener after the network connection has been established.

To protect both the listener and the database server, Oracle Corporation recommends setting INBOUND_CONNECT_TIMEOUT_listenername in combination with the SQLNET.INBOUND_CONNECT_TIMEOUT parameter.

Cause

Whenever default timeouts are assigned to a parameter, there may be cases where this default does not work well with a particular application. However, some type of timeout on the connection establishment is necessary to combat Denial of Service attacks on the database.  In this case, SQLNET.INBOUND_CONNECT__TIMEOUT and INBOUND_CONNECT_TIMEOUT_listenername were given default values of 60 seconds in Oracle 10.2.  It is these timeout values that can cause the errors described in this note.


Also note that it is possilbe the reason the database is slow to authenticate, may be due to an overloaded Oracle database or node.

Solution

Set the parameters SQLNET.INBOUND_CONNECT_TIMEOUT and INBOUND_CONNECT_TIMEOUT_listenername to 0 (indefinite) or to an approprate value for the application yet still combat DOS attacks (120 for example). 

These parameters are set on the SERVER side:
listener.ora: INBOUND_CONNECT_TIMEOUT_listenername
sqlnet.ora:   SQLNET.INBOUND_CONNECT_TIMEOUT

Further tuning of these parameters may be needed is the problem persists.

Posted by pat98

8i ->9i 로 업그레이드 후 아래와 같은 에러 발생시 check 사항
==========================================================
8i 에서 쓰던 드라이버를 쓰다가 9i로 올리고 9i버전으로 업데이트 안해 주면 나는거 같은데.

udump 화일에 이런 에러메세지가 막 떨어질 것임.

*** SESSION ID:(119.40422) 2007-02-13 10:53:10.517
*** 2007-02-13 10:53:10.517
ksedmp: internal or fatal error
ORA-00600: 내부 오류 코드, 인수 : [ttcgcshnd-1], [0], [], [], [], [], [], []
Current SQL statement for this session:
SELECT VALUE FROM NLS_INSTANCE_PARAMETERS WHERE PARAMETER ='NLS_DATE_FORMAT'
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
ksedmp()+328         CALL     ksedst()             00000000B ? 000000000 ?
                                                   000000000 ? 102FFB548 ?
                                                   00000003E ?
                                                   FFFFFFFF7FFF6658 ?

조치 방법
1. 아래와 같이 조치해 볼것
SQL> alter system set events '10841 trace name context forever';

요게 안되면 2번

2. 버전에 맞는 JDBC driver 로의 교체
ojdbc14.jar
Java classes when using the JDBC Thin and OCI client-side driver - with Java 1.4 or 5.0 VM. With Java 5.0 VM, you can use this library if the JDBC version is 10.2.

classes12.jar
Same as ojdbc14.jar except for use with with Java 1.2 or 1.3 VM.

classes12.zip
Same as classes12.jar except in zip format. This file will almost certainly not be available in future releases. You should use classes12.jar instead.

classes111.jar, classes111.zip
Classes for the Thin and OCI drivers when using a Java 1.1 VM.

- $ORACLE_HOME/jdbc/lib 밑에 최신 화일 업로드
- CLASSPATH에 추가 시켜줄것. (ex) export CLASSPATH=$ORACLE_HOME/jdbc/lib/ojdbc14.jar

3. OS 에 설치된 JDK 버전의 down or upgrade 확인

Posted by pat98

주로 10g에서 발생한다고 하는데..아무 로그도 없고 , 이유없이 listener 가 Hang 이 걸릴때 조치방법입니다. listener 를 하나 띄워도 OS에서 계속 spawn 시켜서 listener가 4개가 생성되는 증상이 있을때 해보면 됨.
 
10.2.0.3 에서 fix 되었다고 나와있네요.

==================================================================================


Oracle Net Services - Version: 10.1.0.2.0 to 10.2.0.3.0
This problem can occur on any platform.
All new connections via TNS listener hang, no errors reported

Symptoms

Intermittently the TNS listener hangs and new connections to the database are not possible.

Listener process can also consume high amount of CPU

Child TNS listener process is seen when doing a ps on the listener process, eg.:

$ ps -ef | grep tnslsnr

ora10g  8909     1  0   Sep 15 ?       902:44  /u05/10GHOME/DBHOME/bin/tnslsnr sales -inherit
ora10g 22685  8909  0 14:19:23 ?        0:00 /u05/10GHOME/DBHOME/bin/tnslsnr sales –inherit

Killing the child process allows new connections to work until the problem reoccurs

Cause

This is a known problem addressed via non-published bug:4518443 (Abstract: Listener Gets Hung Up)

The issue is that the TNS listener can hang under load while spawning a process

Solution

Bug 4518443 is fixed in 10.2.0.3

 - OR -

Apply Patch 4518443  for the problem (if a patch is available)

 - OR -

As a workaround, the following parameter can be added to listener.ora

SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF

Where <listener_name> should be replaced with the actual listener name configured in the LISTENER.ORA file.

For example, if the listener name is LISTENER (default), the parameter would be:

SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

This will prevent the listener from registering against ONS (Oracle Notification Services), which is the area affected by bug:4518443. For more information on ONS, please refer to eg. the Oracle10g Release 2 documentation ("Oracle Clusterware and Oracle Real Application Clusters Administration and Deployment Guide").

Please note, adding SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name> to listener.ora file on RAC, will mean that FAN (fast application notification) will not be possible. See Note 220970.1 RAC: Frequently Asked Questions for further information on FAN

Posted by pat98

2007. 2. 8. 09:01 오라클

ORA-12540 check list


PURPOSE
-------

The purpose of this article is to explain why the 12500 error is raised
and mainly how the tuning of resource in the platform is very important
to solve this issue.
This a short and quick checklist to understand and solve this error.
An ORA/TNS-12540 could be related to 12500 error.

SCOPE & APPLICATION
-------------------

Microsoft platforms ( windows machines)


Understanding and Diagnostics for 12500 error on Windows Platform
-----------------------------------------------------------------
TNS-12500: TNS:listener failed to start a dedicated server process
TNS-12540: TNS:internal limit restriction exceeded

These errors are related to physical usage of Oracle and OS resources :
Memory, Swap, Open files, Open sockets ...ect

The client receive this message error from the listener

The following actions may help to solve the problem when the error appear
after a longtime running:
- Increase memory and swap in the system
- Configure MTS and DCD
- Tune SGA / shared_pool_size parameter
Reduce the SGA size to a reasonable figure which allows the user
process to have enough memory to run.
- Increase processes parameter in the init.ora file
- Restart Listener/DB
- Check for any memory leak
- Tune microsoft TCP parameters in :
HKEY_LOCAL_MACHINE\System\CurrectControlSet\services\Tcpip\Parameters
TcpTimedWaitDelay, MaxUserPortData and TcpMaxDataRetransmissions
- Try to set the /3GB switch in the BOOT.INI file to enable the 4GB feature.
Allowing a process to address 3GB and reserving 1GB for the kernel.
- Install the latest Windows Service Pack

If the error is persistent :
- Check the user who start the listener privileges.
- Check Oracle_Home and Oracle_SID
- The Oracle Service may be corrupt : Recreate The Oracle service by oradim command


RELATED DOCUMENTS
-----------------
Note 46001.1 Oracle Database and the Windows NT memory architecture
Note 171636.1 TNS-12500 TNS-12540 TNS-12560 TNS 510 Windows Error 8: Exec Format Error
Note 108180.1 Intermitent TNS-12540 Errors When Trying to Connect to oracle
Note 2064864.102 Troubleshooting TNS-12500 On Microsoft Windows NT
Note 118322.1 Basic MTS setup
Note 151972.1 Dead Connection Detection (DCD)
Posted by pat98

Oracle Server - Enterprise Edition - Version: 10.2.0.2 to 10.2.0.2
This problem can occur on any platform.
SymptomsThe following error is consistently appearing in the alert.log:


ORA-00600: internal error code, arguments: [kkqcby: qbcfkkc not zero], [], [], [], [], [], [], []

The Call Stack trace will include:  kkqcbyCountJoinKeys kkqcbydrv qksqbApplyToQbcLoc
ChangesPatchset 10.2.0.2 has been applied.

Cause
This problem is due to unpublished Bug 4639977.

Solution
This bug fixed in 10.2.0.3 and 11i.
1. A one off patch exists for some 10.2.0.2 platforms on MetaLink:
   Patch 4639977

-or-

2. The Workaround is to set the following parameter:
  _optimizer_connect_by_cost_based = false

Posted by pat98

이미 패치셋이 적용되었는데, 뒤늦게 Partitoning 기능을 추가해서 사용해야 한다면?

다음과 같이 하면 된다. runInstaller 를 띄워서 custum option 에서 Partitioning 기능을 추가해주고 9.2.0.7 patchset 띄워서 다시 patch 를 New install 해주면 된다. 당연히 catproc.sql, catalog.sql은 한번씩 돌려줘야 겠지.

Goal
When the software in ORACLE_HOME was installed partition option was not included.
The 9.2.0.6 patchset has been installed to this ORACLE_HOME.
Now you would lilke to install the partition option at this time

Solution
You can install the Oracle Partitioning option by invoking the runInstaller from the 9.2.0.1
software kit and then select the existing Oracle Home to which you have applied the 9.2.0.7
patchset and then go for the 'Custom Install' option. In the custom install option you will be
able to select the Oracle Partitioning option and then proceed to install the partitioning option.
After installing the partitioning option from the 9.2.0.1 base software kit, invoke the installer from the 9207 patchset and then select the same Oracle Home as before and if you scroll down and see the list of components that will be installed, you will see "installed" for all the components that are already installed and patched to 9207. Whereas if you expand 'Oracle Partitioning' you will see "installed" for 9201 and "new install" for 9207 patch, just proceed and click on install and wait for the installation to complete.

The same procedure holds good for 10gR1 and 10gR2 also.

 

Posted by pat98

2007. 1. 4. 11:08 오라클

oracle relink하기


OS patch를 했거나, oracle engine 을 다른 서버로 통째로 copy 했을 경우 등에
relink 명령을 해주는데 이에 대한 설명이다.
============================================================

Relinking occurs automatically under these circumstances

  • An Oracle product has been installed with an Oracle provided installer.
  • An Oracle patch set has been applied via an Oracle provided installer.

Relinking Oracle manually is suggested under these circumstances

  • An OS upgrade has occurred.
  • A change has been made to the OS system libraries. This can occur during the application of an OS patch.
  • A new install failed during the relinking phase.
  • Individual Oracle executables core dump during initial startup.
  • An individual Oracle patch has been applied with explicit relink instructions or the relink is integrated into the patch install script.

Steps to manually relink Oracle

  1. Logon and set environment variables:
    as oracle:
    source $csetsid
    env | grep ORA
  2. Verify and/or Configure the Unix Environment for Proper Relinking:
    Sun Solaris Oracle 7.3.x, 8.0.x, 8.1.x or 9.0.x:
    • Ensure that /usr/ccs/bin is before /usr/ucb in $PATH:
      which ld
      ( should return "/usr/ccs/bin/ld" )
    • Set LD_LIBRARY_PATH to include $ORACLE_HOME/lib
    • If using 64bit Oracle, LD_LIBRARY_PATH should also include $ORACLE_HOME/lib64.
  3. Verify the correct absolute path for $ORACLE_HOME
    env | grep ORACLE_HOME
  4. Before relinking Oracle, shutdown all the databases and the listener.
  5. Run the OS Commands to Relink Oracle:
    • Oracle 7.3.x
      • For executables: oracle, exp, imp, sqlldr, tkprof
        cd $ORACLE_HOME/rdbms/lib
        make -f ins_rdbms.mk install
      • For executables: svrmgrl, svrmgrm
        cd $ORACLE_HOME/svrmgr/lib
        make -f ins_svrmgr.mk linstall minstall
        linstall is for svrmgrl, minstall is for svrmgrm
      • For executables: sqlplus
        cd $ORACLE_HOME/sqlplus/lib
        make -f ins_sqlplus.mk install
      • For executables: dbsnmp, oemevent, oratclsh
        cd $ORACLE_HOME/network/lib
        make -f ins_agent.mk install
      • For executables: names, namesctl
        cd $ORACLE_HOME/network/lib
        make -f ins_names.mk install
      • For executables: tnslsnr, lsnrctl, tnsping, csmnl, trceval, trcroute
        cd $ORACLE_HOME/network/lib
        make -f ins_network.mk install
    • Oracle 8.0.x
      • For executables: oracle, exp, imp, sqlldr, tkprof, mig, dbv, orapwd, rman, svrmgrl, ogms, ogmsctl
        cd $ORACLE_HOME/rdbms/lib
        make -f ins_rdbms.mk install
      • For executables: sqlplus
        cd $ORACLE_HOME/sqlplus/lib
        make -f ins_sqlplus.mk install
      • For executables: dbsnmp, oemevent, oratclsh, libosm.so
        cd $ORACLE_HOME/network/lib
        make -f ins_oemagent.mk install
      • For executables: tnslsnr, lsnrctl, namesctl, names, osslogin, trcasst, trcroute
        cd $ORACLE_HOME/network/lib
        make -f ins_network.mk install
    • Oracle 8.1.x or 9.0.xA "relink" script ( 8i new feature ) is provided in the $ORACLE_HOME/bin directory:-or-
      • For executables: oracle, exp, imp, sqlldr, tkprof, mig, dbv, orapwd, rman, svrmgrl, ogms, ogmsctl
        cd $ORACLE_HOME/rdbms/lib
        make -f ins_rdbms.mk install
      • For executables: sqlplus
        cd $ORACLE_HOME/sqlplus/lib
        make -f ins_sqlplus.mk install
      • For executables: dbsnmp, oemevent, oratclsh
        cd $ORACLE_HOME/network/lib
        make -f ins_oemagent.mk install
      • For executables: names, namesctl
        cd $ORACLE_HOME/network/lib
        make -f ins_names.mk install
      • For executables: osslogin, trcasst, trcroute, onrsd, tnsping
        cd $ORACLE_HOME/network/lib
        make -f ins_net_client.mk install
      • For executables: tnslsnr, lsnrctl
        cd $ORACLE_HOME/network/lib
        make -f ins_net_server.mk install
    • You still have the option of running the "make" commands independently:
    • cd $ORACLE_HOME/bin
      relink

      usage: relink >parameter<
      accepted values for parameter: all, oracle, network, client, client_sharedlib,
              interMedia, precomp, utilities, oemagent

      i.e. You can relink ALL executables with the following command: relink all
      bug 1337908 : on Solaris with Oracle 8.1.6, also do: relink utilities
  6. How to tell if relinking was successful:
    If relinking was successful, the make command will eventually return to the OS prompt without an error. There will not be a "Relinking Successful" type message.

If you receive an error message during relinking:

Relinking errors usually terminate the relinking process and contain verbage similar to the following:
Fatal error', 'Ld: fatal', 'Exit Code 1
Posted by pat98

controlfile 재생성하기

PURPOSE
  This article describes how you can recreate your controlfile.

SCOPE & APPLICATION
  For DBAs who need to recreate the controlfile.

WARNING:
--------

You should only need to recreate your control file under very special
circumstances:

- All current copies of the control file have been lost or are corrupted.

- You need to change a "hard" database parameter that was set when the        
  database was first created, such as MAXDATAFILES, MAXLOGFILES,               
  MAXLOGHISTORY, etc.

- You are restoring a backup in which the control file is corrupted or        
  missing.

- Oracle Customer Support advises you to do so.

- If you are moving your database to another machine which is
  running the same operating system but the location of the datafiles,
  logfiles is not the same.


Instructions: 
============= 

I. CREATING A NEW CONTROL FILE FROM THE EXISTING CONTROL FILE:  
--------------------------------------------------------------  
 
1.  If you are running Oracle7 or higher you can get Oracle to generate
    a script for you that enables you to recreate the controlfile.  Run the
    following command while the database is mounted or open and connected
    as a user with DBA privileges: 

       % svrmgrl 
       SVRMGR> connect internal
       SVRMGR> startup mount
       SVRMGR> alter database backup controlfile to trace;  
 
   If you are running Oracle9i or higher you need to use sqlplus instead of
   svrmgrl.

   Oracle6 does not have this feature and therefore you will need to build
   the CREATE CONTROLFILE statement yourself.  The syntax is discussed in
   detail in the Oracle SQL Reference Guide.

2. The trace file will be stored in the USER_DUMP_DEST destination,
   which is set to "$ORACLE_HOME/rdbms/log" by default on Unix platforms.  
 
   To find out what USER_DUMP_DEST is set to, follow one of the following:

   a) Look in the parameter file (init<SID>.ora on UNIX and Windows NT,
      <node>_<ora_sid>_init.ora on VMS) for the parameter:

       USER_DUMP_DEST = d:/oradata/orcl/trce/udump

   b) Using SQL*PLus you can issue the following command:

      SQL> SELECT   value
        2> FROM     v$parameter
        3> WHERE    name = 'user_dump_dest';

      VALUE
      ------------------------------------------------
      d:/oradata/orcl/trace/udump

   c)  Using Server Manager you can issue the following command:  
 
       SVRMGR> show parameter <string>
       SVRMGR> show parameter user_dump_dest; 
                                      
   The easiest way to locate the correct trace is to look at its date.
   A file will exist with the current date and time.  The naming
   convention for these files is operating system specific.  
 
   Example: 
   --------

   % cd $ORACLE_HOME/rdbms/log 
   % ls -l 
   -rw-r--r--   1 osupport dba 2315 Oct  3 16:39 alert_p716.log 
   -rw-r--r--   1 osupport dba 1827 Oct3 16:39 p716_ora_26220.trc  
 
   In this example, the file "p716_ora_26220.trc" is the trace file
   produced that contains a script to create the control file.

   NOTE:  The trace file is handled a bit differently when issuing this
   command from a connection to the database using shared server.  The
   shared server connection is created by PMON and the connection inherits
   its environment, meaning the trace file will be created in the directory
   referenced by the initialization parameter BACKGROUND_DUMP_DEST
   instead of the USER_DUMP_DEST.

   Use similar commands as given above to locate the directory
   referenced in the BACKGROUND_DUMP_DEST.
 
3. Modify the trace file and use it as a script to create the control
   file.  Copy the trace file to a script file, such as "new_control.sql",
   delete the header information prior to the words STARTUP NOMOUNT,
   and make any other desired changes, such as increasing MAXDATAFILES,
   MAXLOGFILES, etc. 
 
   Sample: 
   -------------------------- <start trace> ----------------------------- 
   Dump file /u01/oracle/7.1.6/rdbms/log/p716_ora_26220.trc 
   Oracle7 Server Release 7.1.6.2.0 - Production Release 
   With the distributed and replication options 
   PL/SQL Release 2.1.6.2.0 - Production 
   ORACLE_HOME = /u01/oracle/7.1.6 
   ORACLE_SID = p716 
   Oracle process number: 9         Unix process id: 26220 
   System name:    SunOS 
   Node name:      tcsun2 
   Release:        5.4 
   Version:        Generic_101945-27 
   Machine:   sun4m 
 
   Tue Oct  3 16:39:13 1995 
   *** SESSION ID:(6.61) 
   # The following commands will create a new control file and use it 
   # to open the database. 
   # No data other than log history will be lost. Additional logs may 
   # be required for media recovery of offline data files. Use this 
   # only if the current version of all online logs are available. 
   STARTUP NOMOUNT 
 
   CREATE CONTROLFILE REUSE DATABASE "P716" NORESETLOGS NOARCHIVELOG 
       MAXLOGFILES 32 
       MAXLOGMEMBERS 2 
       MAXDATAFILES 30 
       MAXINSTANCES 8 
       MAXLOGHISTORY 800 
   LOGFILE 
     GROUP 1 '/u01/oracle/7.1.6/dbs/log1p716.dbf'  SIZE 500K, 
     GROUP 2 '/u01/oracle/7.1.6/dbs/log2p716.dbf'  SIZE 500K, 
     GROUP 3 '/u01/oracle/7.1.6/dbs/log3p716.dbf'  SIZE 500K 
   DATAFILE 
     '/u01/oracle/7.1.6/dbs/systp716.dbf' SIZE 40M, 
     '/u01/oracle/7.1.6/dbs/tempp716.dbf' SIZE 550K, 
     '/u01/oracle/7.1.6/dbs/toolp716.dbf' SIZE 15M 
   ; 
   # Recovery is required if any of the datafiles are restored backups, 
   # or if the last shutdown was not normal or immediate. 
   RECOVER DATABASE 
   # Database can now be opened normally. 
   ALTER DATABASE OPEN; 
 
   ---------------------- <end trace> ---------------------------------- 
 

4. Shutdown the database (NORMAL, IMMEDIATE, TRANSACTIONAL (Oracle8 only)
   but not ABORT).

       SVRMGR> shutdown immediate

   If you are running Oracle9i or higher you need to use sqlplus instead of
   svrmgrl.
 
5. Take a full database backup.
 
6. Rename/move the existing database controlfiles to a backup (The REUSE
   option will overwrite the original files). The size of the controlfile
   will be increased    by increasing the value of    MAXDATAFILES,
   MAXLOGMEMBERS, etc.
 
   Example: 
   --------

   % cd $ORACLE_HOME/dbs 
   % mv ctrlV716.ctl ctrlV716.bak 
  
7. Create the controlfile within Server Manager                   
             
SVRMGR> connect internal                    
SVRMGR> @new_control.sql 
 
   If you get the "Statement processed" message, the database will
   be opened with a brand new control file.

   If you are running Oracle9i or higher you need to use sqlplus instead of
   svrmgrl.

8. At the first opportunity, shut the database down (normal, immediate or
   transactional oracle8 only) and take a full backup.

       
II. CREATING A NEW CONTROL FILE WITHOUT AN EXISTING CONTROL FILE:   
----------------------------------------------------------------- 
 
CREATE CONTROLFILE SYNTAX:           
The following is information on the create control file syntax.  This 
information is fully documented in the Oracle SQL Reference Manual. 
 
CREATE CONTROLFILE [REUSE] 
   DATABASE name  
   [LOGFILE filespec [, filespec] ...]   
    RESETLOGS | NORESETLOGS    
   [MAXLOGFILES integer]     
   [DATAFILE filespec [, filespec] ...]      
   [MAXDATAFILES integer]       
   [MAXINSTANCES integer]        
   [ARCHIVELOG | NOARCHIVELOG]         
   [SHARED | EXCLUSIVE]          

The complete procedure follows:

1. Take a full backup of the database, including all datafiles and redo
   log files.

2. Go into SQL*DBA or Server Manager and do a STARTUP NOMOUNT.

3. Issue the CREATE CONTROLFILE statement.

   Example:
   --------

       CREATE CONTROLFILE REUSE DATABASE "P716" NORESETLOGS NOARCHIVELOG
       MAXLOGFILES 50
       MAXLOGMEMBERS 3
       MAXDATAFILES 300
       MAXINSTANCES 8
       MAXLOGHISTORY 500
       LOGFILE
               GROUP 1 '/u01/oracle/7.1.6/dbs/log1p716.dbf'  SIZE 1M,
               GROUP 2 '/u01/oracle/7.1.6/dbs/log2p716.dbf'  SIZE 1M,
               GROUP 3 '/u01/oracle/7.1.6/dbs/log3p716.dbf'  SIZE 1M
       DATAFILE
               '/u01/oracle/7.1.6/dbs/systp716.dbf' SIZE 40M,
               '/u01/oracle/7.1.6/dbs/tempp716.dbf' SIZE 1M,
               '/u01/oracle/7.1.6/dbs/toolp716.dbf' SIZE 15M ;

4. Perform media recovery on the database.

       SVRMGR> recover database;

   If you are running Oracle9i or higher you need to use sqlplus instead of
   svrmgrl.

5. Open the database.

       SVRMGR> alter database open;

   If you are running Oracle9i or higher you need to use sqlplus instead of
   svrmgrl.

6. At the first opportunity, shut the database down and take a full cold
   backup.


Additional Errors:
------------------
ORA-205 ORA-7360 ORA-376 ORA-1110 ORA-1111
Posted by pat98

01-30 02:56
Flag Counter
Yesterday
Today
Total

글 보관함

최근에 올라온 글

달력

 « |  » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 달린 댓글