Archive for the ‘Solaris’ Category

Tar: .file too large to archive. Use E function modifier

April 30th, 2018, posted in Solaris
Share

Tar, .file too large to archive, Use E function modifier,E function modifier,solaris 10,unix,linux,sun solaris 10,solaris administrator,Using TAR for big files

tar: .file too large to archive. Use E function modifier.

Using TAR for big files ( > 8GB)

In Unix environment, If you are trying to “tar” OS files that is bigger than 8 GB of size. Following error is observed.

Regular tar command:

tar -cvf test.dmp.tar test.dmp

Error:

tar: test.dmp too large to archive.  Use E function modifier.

Solution:

tar -cvEf test.dmp.tar test.dmp
Share

Solaris Management in User And Group Management

April 25th, 2018, posted in Solaris
Share

Out Of Memory Not Enough Space Solaris 11,Out Of Memory , Not Enough Space Solaris 11,Solaris 11,Solaris 10,Oracle 12c on Solaris 11.3,Oracle 12c,Solaris 11.3,

User Management:

There are two types of User;

1. Hard User
2. Soft User

  1. Hard User Creation:You must be root (superuser) to add a user. An easy way to remember the syntax of the useradd command in Solaris is to run it with no options. Follow the resulting usage information including the parts that you require. Important options are:

-d home-directory-path

This is the new user’s home directory, typically /export/home/username

-m

Make home directory and copy the default skeleton files (these files are located in /etc/skel directory).

-u uid

The uid (userid) is a number from 0 to 65535 which identifies the user on the system.  uid 0 is reserved for root.  If you don’t specify one, the next available uid will be used automatically.

-c “User Name”

Comment field which usually contains the name of the user. Make sure you enclose the name in quotes if it contains a space.

-s /path/to/shell

The shell to use.  If you don’t specify this, it will default to /bin/sh. Make sure you specify the fully qualified path.

So, putting it together, a typical addition of a user named ‘tushar’ would be:

#useradd -d /export/home/tushar -m -s /bin/ksh -c “tushar” tushar

To set Password: 

Use the following command “passwd tushar”.
To delete Hard User use the below Command;

#userdel -r tushar

  1. Soft User Creation: You must be root (superuser) to add a user. However, you will get limited access to system by using Soft User. Simply use the below command;useradd “User Name”Example:useradd tushar
                Passwd tushar (To set password)To delete Soft User use the below command;

    userdel “User Name”

    Example: userdel tushar

    If you want to change any authorization of any User use the ‘usermod’ command;

    #usermod -s /bin/bash tushar (To change the default shell)

    Configuration files:

  1. i)  /etc/passwd à user details will be shown here.
  2.      ii) /etc/shadowà users password will be kept here in encrypted form.

It’s a smart idea to run pwck (passwd check) whenever you make a change to the /etc/passwd file (as when adding or changing a user). This program will identify any problems with the passwd file. If it doesn’t tell you anything, then you are in good shape.

# vi /etc/passwd
# pwck


Group Management:
There are two types of Group;

  1. Primary Group (one user can assign to maximum one Primary Group)
  2. Secondary Group (one user can assign to maximum fifteen Secondary Group)

Use ‘groupadd’ command to add group called ‘INVAS’:

# groupadd INVAS

Create a group called ‘VAS’ with GID 500:

# groupadd –g 500 VAS

Add a user ‘tushar’ to Primary group ‘INVAS’:

# usermod –g INVAS tushar

Add a user ‘tushar’ to Secondary group ‘VAS’:

# usermod -G VAS tushar

Change the name INVAS to O&M:

# groupmod -n O&M INVAS
Remove the group called INVAS:

# groupdel INVAS

If you manually modified the /etc/group file then you can check any group file inconsistencies with grpck command:

# vi /etc/group
# grpck

Configuration file:

/etc/group

Share

Fixing the ORA-27102: out of memory Error in Oracle on Solaris 10

April 8th, 2018, posted in Oracle Queries, Solaris
Share

Symptom:

As part of a database tuning effort you increase the SGA/PGA sizes; and Oracle greets with anORA-27102: out of memoryerror message. The system had enough free memory to serve the needs of Oracle.

SQL> startup
ORA-27102: out of memory
SVR4 Error: 22: Invalid argument

Diagnosis

$ oerr ORA 27102
27102, 00000, "out of memory"
// \*Cause: Out of memory
// \*Action: Consult the trace file for details

 

Not so helpful. Let’s look the alert log for some clues.

 

% tail -2 alert.log
WARNING: EINVAL creating segment of size 0x000000028a006000
fix shm parameters in /etc/system or equivalent

 

Oracle is trying to create a 10G shared memory segment (depends on SGA/PGA sizes), but operating system (Solaris in this example) responded with an invalid argument (EINVAL) error message. There is a little hint about setting shm parameters in/etc/system.

Prior to Solaris 10,shmsys:shminfo_shmmaxparameter has to be set in/etc/systemwith maximum memory segment value that can be created. 8M is the default value on Solaris 9 and prior versions; where as 1/4th of the physical memory is the default on Solaris 10 and later. On a Solaris 10 (or later) system, it can be verified as shown below:

 

% prtconf | grep Mem
Memory size: 32760 Megabytes
% id -p
uid=59008(oracle) gid=10001(dba) projid=3(default)
% prctl -n project.max-shm-memory -i project 3
project: 3: default
NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
project.max-shm-memory
        privileged      7.84GB      -   deny                                 -
        system          16.0EB    max   deny                                 -

 

Now it is clear that the system is using the default value of 8G in this scenario, where as the application (Oracle) is trying to create a memory segment (10G) larger than 8G. Hence the failure.

So, the solution is to configure the system with a value large enough for the shared segment being created, so Oracle succeeds in starting up the database instance.

On Solaris 9 and prior releases, it can be done by adding the following line to/etc/system, followed by a reboot for the system to pick up the new value.

set shminfo_shmmax = 0x000000028a006000Howevershminfo_shmmaxparameter was obsoleted with the release of Solaris 10; and Sun doesn’t recommend setting this parameter in/etc/systemeven though it works as expected.

On Solaris 10 and later, this value can be changed dynamically on a per project basis with the help of resource control facilities . This is how we do it on Solaris 10 and later:

 

% prctl -n project.max-shm-memory -r -v 10G -i project 3
% prctl -n project.max-shm-memory -i project 3
project: 3: default
NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
project.max-shm-memory
        privileged      10.0GB      -   deny                                 -
        system          16.0EB    max   deny                                 -

 

Note that changes made with theprctlcommand on a running system are temporary, and will be lost when the system is rebooted. To make the changes permanent, create a project withprojaddcommand and associate it with the user account as shown below:

 

% projadd -p 3  -c 'eBS benchmark' -U oracle -G dba  -K 'project.max-shm-memory=(privileged,10G,deny)' OASB
% usermod -K project=OASB oracle

 

Finally make sure the project is created withprojects -lorcat /etc/projectcommands.

 

% projects -l
...
...
OASB
        projid : 3
        comment: "eBS benchmark"
        users  : oracle
        groups : dba
        attribs: project.max-shm-memory=(privileged,10737418240,deny)
% cat /etc/project
...
...
OASB:3:eBS benchmark:oracle:dba:project.max-shm-memory=(privileged,10737418240,deny)

 

With these changes, Oracle would start the database up normally.

 

SQL> startup
ORACLE instance started.
Total System Global Area 1.0905E+10 bytes
Fixed Size                  1316080 bytes
Variable Size            4429966096 bytes
Database Buffers         6442450944 bytes
Redo Buffers               31457280 bytes
Database mounted.
Database opened.

 


 

Addendum : Oracle RAC settings

Anonymous Bob suggested the following settings for Oracle RAC in the form of a comment for the benefit of others who run into similar issue(s) when running Oracle RAC. I’m pasting the comment as is (Disclaimer: I have not verified these settings):

Thanks for a great explanation, I would like to add one comment that will help those with an Oracle RAC installation. Modifying the default project covers oracle processes great and is all that is needed for a single instance DB. In RAC however, the CRS process starts the DB and it is a root owned process and root does not use the default project. To fix ORA-27102 issue for RAC I added the following lines to an init script that runs before the init.crs script fires.

 

# Recommended Oracle RAC system params
ndd -set /dev/udp udp_xmit_hiwat 65536
ndd -set /dev/udp udp_recv_hiwat 65536
# For root processes like crsd
prctl -n project.max-shm-memory -r -v 8G -i project system
prctl -n project.max-shm-ids -r -v 512 -i project system
# For oracle processes like sqlplus
prctl -n project.max-shm-memory -r -v 8G -i project default
prctl -n project.max-shm-ids -r -v 512 -i project default

So simple yet it took me a week working with Oracle and SUN to come up with that answer…Hope that helps someone out.

Share

How to manually mount CD-DVD-ROM in Solaris

March 3rd, 2018, posted in Solaris, Uncategorized
Share

Add A User From The Command Line In Solaris,Add A User From The Command Line In Solaris 10,Add A User From The Command Line, In Solaris10 ,Add A User ,The Command Line In Solaris10,The Command Line In Solaris,solaris 10,

Recently while trying to build a Solaris JumpStart server, I encountered an error in reading the home-burnt DVD-ROM disk of Solaris 10 10/08.  There are many threads out on the internet that talk about the same difficulty and issue.  To circumvent the issue, I needed to manually mount the DVD-ROM.  To do this, you first need to disable the volmgmt software in Solaris.  Since I am running Solaris 10, the command is simple:

 

# svcadm disable volfs
# svcs volfs
STATE          STIME    FMRI
disabled        7:29:01 svc:/system/filesystem/volfs:default
# ps -ef |grep vol
    root 10189   936   0 07:26:10 pts/1       0:00 grep vol

 

Once that is done, you should be able to mount the DVD-ROM using the following command:

 

# mount -F hsfs -o ro /dev/sr0 /cdrom
# cd /cdrom
# ls
Copyright                    License                      boot                         platform
JDS-THIRDPARTYLICENSEREADME  Solaris_10                   installer

Once done, don’t forget to re-enable volume management.  That is done by:

 

# svcadm enable volfs
# svcs volfs
STATE          STIME    FMRI
online          8:33:21 svc:/system/filesystem/volfs:default
Share

adcfgclone.pl dbTechStack – RC-50004 Error occurred in CloneContext Target System Domain Name

February 4th, 2018, posted in Oracle, Solaris
Share

RC-50004: Error occurred in CloneContext – Target System Domain Name in

adcfgclone.pl dbTechStack :

Error:

Target System Domain Name : worths.co.za
RC-50004: Error occurred in CloneContext: 
null
Check Clone Context logfile
/ebsdbprd_app/oracle/product/ebsdbprd/db/tech_st/11.2.0/appsutil/clone/bin/CloneContext_0418120037.log for details.

ERROR: Context creation not completed successfully.
For additional details review the file /tmp/adcfgclone_4849738.err if present.


adcfgclone.pl,oracle apps,oracle dba,oracle apps dba,oracle,dba,oracle error,ora error,oracle errors,adcfgclone.pl dbTechStack RC-50004 Error occurred in CloneContext Target System Domain Name,Target System Domain Name,adcfgclone.pl dbTechStack,RC-50004 Error,RC-50004,Error,clone error,oracle clone error,apps error,database error,oracle database,database oracle error,database,APPS-domain-50004,APPS domain 50004,RC 50004,RC 50004 Error

 

Solution :
Ensure that your hostname is fully populated in the /etc/hosts file

Not like this:

3 $ grep ebsdbprdp7 /etc/hosts
19.36.148.157   ebsdbprdp7
w@ebsdbprdp7:/
4 $

Should look like this

3 $ grep ebsdbprdp7 /etc/hosts
19.36.148.157   ebsdbprdp7.domain.co.za  ebsdbprdp7
w@ebsdbprdp7:/
4 $
Share