DBAsupport.com Forums - Powered by vBulletin
Page 1 of 3 123 LastLast
Results 1 to 10 of 28

Hybrid View

  1. #1
    Join Date
    Oct 2002


    I login as "oracle" user in unix machine. I am able to login as another user
    But when another unix user tries to use sqlplus he gets following
    error:SQL*Plus: Release - Production on Mon Oct 7 10:50:21 2002
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    Enter user-name: hra
    Enter password:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    SVR4 Error: 2: No such file or directory
    But if use /userid/passwd@service_name then it log in correctly. Also if I set

    TWO_TASK sqlplus does not give error. But I am logging to directly server,
    therfore without servicename I should be able to login to sqlplus.
    Puzzle is that I am able to work fine when I login as unix user "ORACLE" but
    get errors when try to login as another unix user. I also checked that
    ORACLE_SID is in proper case. (ps -ef | grep SMON)
    I want to login without using vNet8.


  2. #2
    Join Date
    Sep 2001
    NJ, USA
    Do all linux users have .profile (.login) with oracle environment variables?
    I gess this is ur problem.

  3. #3
    Join Date
    Oct 2002
    check out the permissions.
    go to $ORACLE_HOME/bin
    oracle executable in unix should be SHARED to different users.
    Typing in 'ls -l oracle' should yield

    -rwsr-xr-x oracle dba
    Mahesh Rajendran

  4. #4
    Join Date
    Oct 2002
    I have set all the variables correct. I am sure thats not the problem.


  5. #5
    Join Date
    Sep 2001
    NJ, USA
    Originally posted by magvivek
    check out the permissions.
    go to $ORACLE_HOME/bin
    oracle executable in unix should be SHARED to different users.
    Typing in 'ls -l oracle' should yield

    -rwsr-xr-x oracle dba
    because users have messages like :
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    and can use db via sqlnet then they have all needed permitions
    on oracle-home/bin

    Another thing:
    check linux kernel parameters, maybe # of os processes/semaphores are few,
    and when addition user try to create new unix process (oracle dedicated server) u have problem.

  6. #6
    Join Date
    Oct 2002

    Must put semephores in /etc/system

    When you receive this error: make sure that you have the following variables set in /etc/system. If not, copy /etc/system to /etc/system.old then make your changes to /etc/system. The variable amounts change depending on your server.

    This is from Solaris 2.8, Ultra 10, with 4 G of memory.
    * For ORACLE:
    * 1 meg = 1048576
    * 200 meg = 209715200
    * 4 gig = 4294967295
    set shmsys:shminfo_shmmax=209715200
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=100
    set shmsys:shminfo_shmseg=10
    set semsys:seminfo_semmni=100
    set semsys:seminfo_semmsl=256
    set semsys:seminfo_semmns=256
    set semsys:seminfo_semopm=100
    set semsys:seminfo_semvmx=32767

    To check the shared memory use the command (in Solaris)
    ipcs -A

    (in AIX) ipcs -pmb

    Good luck -

    "Live Life to the Fullest"

  7. #7
    Join Date
    Oct 2000
    Saskatoon, SK, Canada
    You are running out of the shared memeory or the semaphores. Increase them appropriately and bounce the server. Things should be fine.

    I notice that every one were talking of Linux where the problem seems to be on Unix.

    Provide us the server type solaris/HP/... then we will be able to let you know where to look for the file.


    Life is a journey, not a destination!

  8. #8
    Join Date
    Oct 2002
    I have correctly set /etc/system for sepashore.

    Oracle executable has correct permission with sticky bit.

    If semasphore are less then how come i am able to login using oracle account.

  9. #9
    Join Date
    Oct 2002

    Shared Memory: How do I?

    This was taken from another forum on Shared Memory: Just an FYI.....

    Thanks to all. I was trying to determine the current shared memory status, and
    how to change their values.

    Original question:

    Do you know how to determine what the current value settings are for
    the following:


    I have checked the /etc/system file and there are no entries for the
    above, I assume that means the system is runing the defaults. What are
    the defaults? I used the command sysdef and some of the above are listed
    but, with the value 0. Does that mean the default is 0 or 0 represents
    some default? How do I find out what the actual default values are?
    Any help on this would be appreciated.


    Response #1 -- Deepak_D_Wilson@notes.seagate.com
    Hope this article helps you:-

    The solaris 2.X kernel comes configured with defaults for shared memory
    parameters which may not be enough for large applications, such as databases.
    Many database manufacturers, such as Oracle, Sybase and Informix
    require that shared memory parameters be increased to handle their
    system. In general, any program which makes shared memory system
    service calls will be affected.

    Here are the shared memory parameters, what they are, what their default
    values are, and what they represent. Please note that the maxima listed
    here are based on values which will fit into their datatype, which is a
    (4-byte) integer, and are not realistic. Realistic maxima are not easily
    figured, as they must account for many factors, including the amount of
    kernel memory required by everything else on the system, and the
    amount of memory the system has.

    shmmax 1048576 (1Meg) 2147482647

    This is the maximum size of a shared memory segment, or the largest
    value which can be requested of shmget(2). Setting this value high
    does not hurt anything as the resource it controls is not
    preallocated, but rather is allocated on demand.

    shmmin 1 2147482647

    This is the minimum size of a shared memory segment. There is no need
    to change this from the default, as doing so will only break code
    which allocates less than the new shmmin value allows.

    shmseg 6 2147482647

    This is the maximum number of shared memory segments per process. It
    is used as a high limit, which is checked before another segment is
    allocated. No resources are preallocated based on its value.

    shmmni 100 2147482647

    This is the maximum number of shared memory identifiers that can exist
    systemwide. Every shared memory segment has an associated identifier,
    returned from shmget(). Resources are preallocated based on this
    value, (112 bytes of kernel memory per identifer) so don't set it too high.

    Shared memory parameters are changed by editing the /etc/system file with
    lines of the form:

    set shmsys:shminfo_variable = value

    For example:

    set shmsys:shminfo_shmmni = 150

    to change shmmni to 150.

    After changing the /etc/system file, reboot the system to have it take

    All InterProcess Communication (IPC) parameters, including those for shared
    memory, are checked by doing the following:

    $ sysdef -i

    Look toward the bottom of the output, for something like:

    * IPC Shared Memory
    1048576 max shared memory segment size (SHMMAX)
    1 min shared memory segment size (SHMMIN)
    100 shared memory identifiers (SHMMNI)
    6 max attached shm segments per process (SHMSEG)

    The values at the left will reflect the values set in the /etc/system file.
    If the values are zeros, load the shared memory module and try sysdef -i
    Do the following to load the shared memory module:

    # modload /kernel/sys/shmsys

    Response #2 -- Carlo Cosolo

    Carlo suggested I call SecurID tech support, as he had problems with their
    parameters and Sol 2.5.

    Response #3 -- Ju-Lien Lim

    man sysdef

    Response #4 -- jyoung@educate.com

    man ipcs

    Response #5 -- Glenn Satchell - Uniq Professional Services

    You can inspect the current value in th ekernel using adb:

    # adb -k
    physmem 3e40
    symbol not found

    This means that this system is not using _any_ shared memory stuff as
    the modules haven't even been loaded.

    If you already have these values configured then just use the larger of
    the two values (securid recommendation or current).

    Response #6 -- "K.Ravi"

    In Solaris, the shared memory module (or any other driver/module for that
    matter) is not loaded into memory unless some process needs it. To know the
    defaults, run 'modload /kernel/sys/shmsys' as root and then run 'sysdef'. If
    sysdef doesn't report all the values, try this:
    # adb -k /dev/ksyms /dev/mem
    "Live Life to the Fullest"

  10. #10
    Join Date
    Oct 2002

    What type of OS??

    What type of OS are you using?
    "Live Life to the Fullest"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Click Here to Expand Forum to Full Width

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.