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

Thread: Can not login to database as local connetion as not oracle user

  1. #1
    Join Date
    Oct 2002
    Posts
    14

    Exclamation

    I login as "oracle" user in unix machine. I am able to login as another user
    in
    sqlplus.
    But when another unix user tries to use sqlplus he gets following
    error:SQL*Plus: Release 8.1.7.0.0 - Production on Mon Oct 7 10:50:21 2002
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    Enter user-name: hra
    Enter password:
    ERROR:
    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.

    Thx
    Vivek

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

  3. #3
    Join Date
    Oct 2002
    Posts
    5
    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
    Posts
    14
    I have set all the variables correct. I am sure thats not the problem.

    Vivek

  5. #5
    Join Date
    Sep 2001
    Location
    NJ, USA
    Posts
    1,287
    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 :
    ERROR:
    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
    Posts
    23

    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 -

    Michellea
    "Live Life to the Fullest"

  7. #7
    Join Date
    Oct 2000
    Location
    Saskatoon, SK, Canada
    Posts
    3,925
    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.

    Sam
    Thanx
    Sam



    Life is a journey, not a destination!


  8. #8
    Join Date
    Oct 2002
    Posts
    14
    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.
    Vivek

  9. #9
    Join Date
    Oct 2002
    Posts
    23

    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:

    shmsys:shminfo_shmmni
    shmsys:shminfo_shmseg
    shmsys:shminfo_shmmax
    shmsys:shminfo_semmni
    shmsys:shminfo_semmsl
    shmsys:shminfo_semmns
    shmsys:shminfo_semmnu

    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.


    Responses:
    -------------------



    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
    effect.

    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
    again.
    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
    shminfo_shmmni/D
    symbol not found
    ^D
    #

    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"

    Hi,
    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
    Michellea
    "Live Life to the Fullest"

  10. #10
    Join Date
    Oct 2002
    Posts
    23

    What type of OS??

    What type of OS are you using?
    Michellea
    "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