Superuser in Solaris 10
Hi,
I need to create a user in Solaris 10 which will be able to execute the command chroot and nothing else. Do you know maybe if there is a possibility to do that in Solaris 10? If you have any ideas how this can be done, please let me know. I'd be very thankful.
Thanks in advance.
Regards,
Przemek
If you install sudo, then it can do this.
You will probably be able to find a copy on sunfreeware.
Similar Messages
-
Problem occured with installation Solaris 10 on x86!
Hello all!
I am a newbie with Solaris, please help me to resolve this problem following:
I setup successfully Solaris 10 on my PC, during the processing, I did not choose value option for DHCP (Option No), then, the host name was unknown
I set the name for NFS as Ora9i. But when my Solaris operating system startup, it request login console. I tried to test with host name "unknown", password correctly, but I did not log in console or XWindows.
How do I do now?
Thank you!(I am not sure that the install process has been the correct one)
anyway:
at the console login prompt you have to write the superuser name and its password... not the name of the host.
login: root
password: rootpassword
Regards -
New to Solaris...need help with netra T1
I want to learn a form of Unix and thought Solaris would be a good place to start. I purchased a netra T1 in a package deal with some other equipment and am having a learning experience. The box came with Solaris 9, currently running 5.8. I can get the LOM interface up...I can get to the lom> prompt and the $ prompt but can't get any commands suggested by the install manual to work. The Netra T1 has a CDROM so I am trying the boot cdrom command...following is the sequence of events:
$boot cdrom
boot: not found
Any suggestions or links to documentation is appreciated.
BrittanOn the Netra you have three levels - lom (Lights out managment) is the 'bottom' level. From here you can control power to the box, etc
The next level is the OBP (Open Boot Prom) - This is the one you need to be at in order to do your boot cdrom
The top level is the OS running - if you've got a $ prompt, then chances are you're logged in as someone other than root on the server with the OS running.
To get to the OBP you'll want to be root. Assuming you know the root password type su -
supply the root password when prompted. Your $ will now change to a # this indicates you are now the superuser (root).
Now you can issue commands such as shutdown, halt, etc
shutdown -g0 -y -i0 (those are both zero) will tidy shutdown the box to the OBP
alternatively, if you're going to reinstall the OS anyway, you don't really care about a tidy shutdown and halt will do the trick
you're now at the OBP prompt ( ok> )
from here you can type boot cdrom
cdrom is an alias setup on the system and should be set to point to the CDROM device on your Netra -
Help Required - Need to add current user as superuser
Is there a way to add my user account to the superuser group in Solaris 10? I need to install some pretty heavy software which involves unpacking and repacking war files so would like to be superuser throughout. I am using a VM and am not concerned with security as it has no network connections and is host only.
Any advice appreciated as I am a complete newbie - lol!While it is truly a bad idea to do this, it is possible. The safest way is to use sudo. The easiest (and worst, most dangerous way) is to change the UID and GID in /etc/passwd to 0 (same as root) for your account. If you do this, and I urge you not to do it, don't forget to change them back to the original values when you are done. It is too easy to be in the wrong directory as root and do a rm -rf *. That simple mistake cost me most of a Sunday fixing the damage years ago. And I'll bet I'm not the only one to screw up like that.
In deference of this response, its a learning thing. The OP should know what UID and GID can do so as not to spend a day off in the office fixing mistakes. I blew out the entire /etc directory tree when I was a young pup who thought he knew it all.
--ron -
Solaris 10 update 6 keeps generating core file (/core)
I wonder if somebody has encountered the following issue.
I did a fresh install of Solaris 10 update 6 on two servers (T5140 and T524) from DVD.
I noticed that a core file was in the root filesystem (/core).
So, I deleted it.
As soon as I delete the core file, another one is generated.
This is happening on both servers where I installed Solaris 10 update 6 from the DVD.
This is not a live update install. Solaris was installed from scratch. When prompted to preserve previous data, I replied with 'do not preserve data'
Does anybody know where the core file is coming from and how to stop it being generated?
Found out that is coming from vold
SunOS b1osdtsun02 5.10 Generic_137137-09 sun4v sparc SUNW,T5240
# more /etc/release
Solaris 10 10/08 s10s_u6wos_07b SPARC
Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 27 October 2008
# mdb /core
Loading modules: [ libsysevent.so.1 libnvpair.so.1 libc.so.1 ld.so.1 ]
::statusdebugging core file of vold (32-bit) from b1osdtsun02
file: /usr/sbin/vold
initial argv: /usr/sbin/vold -f /etc/vold.conf
threading model: multi-threaded
status: process terminated by SIGSEGV (Segmentation Fault)
::stacklibc.so.1`strlen+0x18(408450a5, 0, 0, 88b70, 600, 180)
read_slices+0x114(874a0, b, 889a0, feeafd34, 1, 5)
read_hsfs_partition+0x88(b, 46c00, 6d0000, 2c, 34400, 1010101)
read_partition+0x30(874a0, 341a4, 3, 34000, 34400, 9)
create_top_partition+0x140(7cbe0, 7cc24, 7cbe0, 874a0, ffffffff, b)
0x265e0(800012, feeaff9c, c, 598e0, 7cbe0, ffffffff)
create_medium+0x74(800012, feeaff9c, 20, 12, 47800, c)
0x2232c(5d278, 0, 0, 800012, 20, 33000)
libc.so.1`_lwp_start(0, 0, 0, 0, 0, 0)
>
#It seems that vold is failing to mount the DVD on both servers after Solaris was installed.
Is this a Solaris 10 update 6 bug?
Edited by: shen on Jan 29, 2009 8:45 PMNever mind.
It is a known bug documented on manual " [Solaris 10 10/08 Release Notes, Chapter 2 Solaris Runtime Issues|http://docs.sun.com/app/docs/doc/820-5245/chapter2-1000?a=view] " as shown below.
The solution is to apply vold patch [138130-01|http://sunsolve.sun.com/search/document.do?assetkey=1-21-138130-01-1].
Solaris 10 10/08 DVD Media Might Not be Automatically Mounted by vold (6712352)
The Solaris 10 10/08 DVD does not mount by default during runtime. No error message is displayed.
Workaround: Perform the following steps:
1. Become superuser.
2. Disable vold:
* On Solaris 10 Systems:
# svcadm disable -t volfs
* On Solaris 8 and Solaris 9 systems:
/etc/init.d/volmgt stop
3. Mount the media manually by using the # mount -F hsfs path to block device path to mount point command. For example:
# mount -F hsfs /dev/rdsk/c0t2d0s2 /mnt -
Help only displays the frame in Solaris 10, update 6
I have a help application that has been running fine since Solaris 8. It works in Solaris 10, update 1, but not in update 6. Only an empty help frame is displayed. My JRE is 1.6.0_05-b13, and I am using help 1.1.13. I suspect that replacing the default HelpUI with my own subclass has stopped working. My application has this line of code which is used to replace the default HelpUI:
UIManager.getDefaults().put("HelpUI", "HelpUIWithClose");
The users wanted a close button, so HelpUIWithClose is subclassed from BasicHelpUI, and a big close button is added on the toolbar. This has been working for years. Before and after this line of code are two print statements that get the toString value of the UIDefaults HelpUI object. The results are:
(before)
javax.help.plaf.basic.BasicHelpUI
(after)
HelpUIWithClose
I am only guessing at the problem because of all of the "Unknown Source" values in the trace below. If I comment out the UIManager line above that replaces HelpUI with HelpUIWithClose, the help functions normally, but of course it is missing the close button added by HelpUIWithClose.
An alternate question might be how to add a close button to the toolbar of help?
I get a very long trace when this fails. I will post it at the end of this email. Any ideas on what is wrong?
Thanks,
Herb Miller
UIDefaults.getUI() failed: no ComponentUI class for: javax.help.JHelp[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=]
java.lang.Error
at javax.swing.UIDefaults.getUIError(Unknown Source)
at javax.swing.MultiUIDefaults.getUIError(Unknown Source)
at javax.swing.UIDefaults.getUI(Unknown Source)
at javax.swing.UIManager.getUI(Unknown Source)
at javax.help.JHelp.updateUI(JHelp.java:299)
at javax.help.JHelp.<init>(JHelp.java:121)
at javax.help.WindowPresentation.createJHelp(WindowPresentation.java:843)
at javax.help.WindowPresentation.createHelpWindow(WindowPresentation.java:879)
at javax.help.WindowPresentation.setDisplayed(WindowPresentation.java:346)
at javax.help.DefaultHelpBroker.setDisplayed(DefaultHelpBroker.java:178)
at javax.help.CSH.displayHelp(CSH.java:749)
at javax.help.CSH.access$200(CSH.java:80)
at javax.help.CSH$DisplayHelpFromSource.actionPerformed(CSH.java:1668)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)Never mind.
It is a known bug documented on manual " [Solaris 10 10/08 Release Notes, Chapter 2 Solaris Runtime Issues|http://docs.sun.com/app/docs/doc/820-5245/chapter2-1000?a=view] " as shown below.
The solution is to apply vold patch [138130-01|http://sunsolve.sun.com/search/document.do?assetkey=1-21-138130-01-1].
Solaris 10 10/08 DVD Media Might Not be Automatically Mounted by vold (6712352)
The Solaris 10 10/08 DVD does not mount by default during runtime. No error message is displayed.
Workaround: Perform the following steps:
1. Become superuser.
2. Disable vold:
* On Solaris 10 Systems:
# svcadm disable -t volfs
* On Solaris 8 and Solaris 9 systems:
/etc/init.d/volmgt stop
3. Mount the media manually by using the # mount -F hsfs path to block device path to mount point command. For example:
# mount -F hsfs /dev/rdsk/c0t2d0s2 /mnt -
Intalling Postgresql in solaris 10
I have downloaded the postgresql package from
www.postgresql.org/download/bittorent
i have unziped the files. i dont know how to continue with the installation.Here is some documentation to get you started......It available online.
Author : Chris Drawater
Date
: May 2005
Version : 1.2
PostgreSQL 8.0.02 for J2EE applications on Solaris 10
Abstract
Advance planning enables PostgreSQL 8 and its associated JDBC driver to be quickly deployed in a
basic but resilient and IO efficient manner.
Minimal change is required to switch JDBC applications from Oracle to PostgreSQL.
Document Status
This document is Copyright � 2005 by Chris Drawater.
This document is freely distributable under the license terms of the GNU Free Documentation License
(http://www.gnu.org/copyleft/fdl.html). It is provided for educational purposes only and is NOT
supported.
Introduction
This paper documents how to deploy PostgreSQL 8 and its associated JDBC driver in a basic but both
resilient and IO efficient manner. Guidance for switching from Oracle to PostgreSQL is also provided.
It is based upon experience with the following configurations =>
PostgreSQL 8.0.2 on Solaris 10
PostgreSQL JDBC driver on Windows 2000
using the PostgreSQL distributions =>
postgresql-base-8.0.2.tar.gz
postgresql-8.0-311.jdbc3.jar
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p1/10
Page 2
Background for Oracle DBAs
For DBAs coming from an Oracle background, PostgreSQL has a number of familiar concepts including
Checkpoints
Tablespaces
MVCC concurrency model
Write ahead log (WAL)+ PITR
Background DB writer
Statistics based optimizer
Recovery = Backup + archived WALs + current WALs
However , whereas 1 Oracle instance (set of processes) services 1 physical database, PostgreSQL differs in
that
1 PostgreSQL �cluster� services n * physical DBs
1 cluster has tablespaces (accessible to all DBs)
1 cluster = 1 PostgreSQL instance = set of server processes etc ( for all DBs) + 1 tuning config +
1 WAL
User accts are cluster wide by default
There is no undo or BI file � so to support MVCC, the �consistent read� data is held in the tables
themselves and once obsolete needs to be cleansed out using the �vacuum� utility.
The basic PostgreSQL deployment guidelines for Oracle aware DBAs are to =>
Create only 1 DB per cluster
Have 1 superuser per cluster
Let only the superuser create the database
Have one user to create/own the DB objects + n* endusers with appropriate read/write access
Use only ANSI SQL datatypes and DDL.
Wherever possible avoid DB specific SQL extensions to ensure cross-database portability
IO distribution & disc layouts
It is far better to start out with good disc layouts rather than reto-fix for a production database.
As with any DBMS, for resilience, the recovery components ( eg. backups , WAL, archived WAL logs)
should kept on devices separate from the actual data.
So the basic rules for resilience are as follows.
For non disc array or JBOD systems =>
keep recovery components separate from data on dedicated discs etc
keep WAL and data on separate disc controllers
mirror WAL across discs ( preferably across controllers) for protection against WAL spindle loss
For SAN based disc arrays (eg HP XP12000) =>
keep recovery components separate from data on dedicated LUNs etc
use Host Adapter Multipathing drivers (such as mpxio) with 2 or more HBAs for access to SAN .
Deploy application data on mirrored/striped (ie RAID 1+0) or write-cache fronted RAID 5 storage.
The WAL log IO should be configured to be osync for resilience (see basic tuning in later section).
Ensure that every PostgreSQL component on disc is resilient (duplexed) !
Recovery can be very stressful�
Moving onto IO performance, it is worth noting that WAL IO and general data IO access have different IO
characteristics.
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p2/10
Page 3
WAL sequential access (write mostly)
Data sequential scan, random access write/read
The basic rules for good IO performance �.
use tablespaces to distribute data and thus IO across spindles or disc array LUNs
keep WAL on dedicated spindles/LUNs (mirror/stripe in preference to RAID 5)
keep WAL and arch WAL on separate spindles to reduce IO on WAL spindles.
RAID or stripe data across discs/LUNs in 1 Mb chunks/units if unsure as what chunk size to use.
For manageability, keep the software distr and binaries separate from the database objects.
Likewise, keep the system catalogs and non-application data separate from the application specific data.
5 distinct storage requirements can be identified =>
Software tree (Binaries, Source, distr)
Shared PG sys data
WAL logs
Arch WAL logs
Application data
For the purposes of this document , the following minimal set of FS are suggested =>
/opt/postgresql/8.0.2
# default 4 Gb for software tree
/var/opt/postgresql
# default 100 Mb
/var/opt/postgresql/CLUST/sys
# default size 1Gb for shared sys data
/var/opt/postgresql/CLUST/wal
# WAL location # mirrored/striped
/var/opt/postgresql/CLUST/archwal
# archived WALs
/var/opt/postgresql/CLUST/data
# application data + DB sys catalogs # RAID 5
where CLUST is your chosen name for the Postgres DB cluster
For enhanced IO distribution , a number of �/data FS (eg data01, data02 etc) could be deployed.
Pre-requisites !
The GNU compiler and make software utilities (available on the Solaris 10 installation CDs) =>
gcc (compiler) ( $ gcc --version => 3.4.3 )
gmake (GNU make)
are required and should be found in
/usr/sfw/bin
Create the Unix acct
postgres
in group dba
with a home directory of say /export/home/postgresql
using
$ useradd utility
or hack
/etc/group then /etc/passwd then run pwconv and then passwd postgres
Assuming the following FS have been created =>
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p3/10
Page 4
/opt/postgresql/8.0.2
# default 4 Gb for the PostgreSQL software tree
/var/opt/postgresql
# default 100 Mb
create directories
/opt/postgresql/8.0.2/source
# source code
/opt/postgresql/8.0.2/distr
# downloaded distribution
all owned by user postgres:dba with 700 permissions
To ensure, there are enough IPC resources to use PostgreSQL, edit /etc/system and add the following lines
=>
set shmsys:shminfo_shmmax=1300000000
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=200
set shmsys:shminfo_shmseg=20
set semsys:seminfo_semmns=800
set semsys:seminfo_semmni=70
set semsys:seminfo_semmsl=270 # defaults to 25
set rlim_fd_cur=1024
# per process file descriptor soft limit
set rlim_fd_max=4096
# per process file descriptor hard limit
Thenn on the console (log in as root) =>
$ init 0
{a} ok boot -r
Download Source
Download the source codes from http://www.postgresql.org (and if downloaded via Windows, remember
to ftp in binary mode) =>
Distributions often available include =>
postgresql-XXX.tar.gz => full source distribution.
postgresql-base-XXX.tar.gz => Server and the essential client interfaces
postgresql-opt-XXX.tar.gz => C++, JDBC, ODBC, Perl, Python, and Tcl interfaces, as well as multibyte
support
postgresql-docs-XXX.tar.gz => html docs
postgresql-test-XXX.tar.gz => regression test
For a working, basic PostgreSQL installation supporting JDBC applications, simply use the �base�
distribution.
Create Binaries
Unpack Source =>
$ cd /opt/postgresql/8.0.2/distr
$ gunzip postgresql-base-8.0.2.tar.gz
$ cd /opt/postgresql/8.0.2/source
$ tar -xvof /opt/postgresql/8.0.2/distr/postgresql-base-8.0.2.tar
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p4/10
Page 5
Set Unix environment =>
TMPDIR=/tmp
PATH=/usr/bin:/usr/ucb:/etc:.:/usr/sfw/bin:usr/local/bin:n:/usr/ccs/bin:$PATH
export PATH TMPDIR
Configure the build options =>
$ cd /opt/postgresql/8.0.2/source/postgresql-8.0.2
$ ./configure prefix=/opt/postgresql/8.0.2 with-pgport=5432 --without-readline
CC=/usr/sfw/bin/gcc
Note => --enable-thread-safety option failed
And build =>
$ gmake
$ gmake install
On an Ultra 5 workstation, this gives 32 bit executables
Setup Unix environment
Add to environment =>
LD_LIBRARY_PATH=/opt/postgresql/8.0.2/lib
PATH=/opt/postgresql/8.0.2/bin:$PATH
export PATH LD_LIBRARY_PATH
Create Database(Catalog) Cluster
Add to Unix environment =>
PGDATA=/var/opt/postgresql/CLUST/sys
# PG sys data , used by all DBs
export PGDATA
Assuming the following FS has been created =>
/var/opt/postgresql/CLUST/sys
# default size 1Gb
where CLUST is your chosen name for the Postgres DB cluster,
initialize database storage area, create shared catalogs and template database template1 =>
$ initdb -E UNICODE -A password
-W
# DBs have default Unicode char set, user basic passwords, prompt for super user password
Startup, Shutdown and basic tuning of servers
Check servers start/shutdown =>
$ pg_ctl start -l /tmp/logfile
$ pg_ctl stop
Next, tune the PostgreSQL instance by editing the configuration file $PGDATA/postgresql.conf .
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p5/10
Page 6
First take a safety copy =>
$ cd $PGDATA
$ cp postgresql.conf postgresql.conf.orig
then make the following (or similar changes) to postgresql.conf =>
# listener
listen_addresses = 'localhost'
port = 5432
# data buffer cache
shared_buffers = 10000
# each 8Kb so depends upon memory available
#checkpoints
checkpoint_segments = 3
# default
checkpoint_timeout = 300
# default
checkpoint_warning = 30
# default � logs warning if ckpt interval < 30s
# log related
fsync = true
# resilience
wal_sync_method = open_sync
# resilience
commit_delay = 10
# group commit if works
archive_command = 'cp "%p" /var/opt/postgresql/CLUST/archwal/"%f"'
# server error log
log_line_prefix = '%t :'
# timestamp
log_min_duration_statement = 1000
# log any SQL taking more than 1000ms
log_min_messages = info
#transaction/locks
default_transaction_isolation = 'read committed'
Restart the servers =>
$ pg_ctl start -l /tmp/logfile
Create the Database
This requires the FS =>
/var/opt/postgresql/CLUST/wal
# WAL location
/var/opt/postgresql/CLUST/archwal
# archived WALs
/var/opt/postgresql/CLUST/data
# application data + DB sys catalogs
plus maybe also =>
/var/opt/postgresql/CLUST/backup
# optional for data and config files etc as staging
area for tape
Create the clusterwide tablespaces (in this example, a single tablespace named �appdata�) =>
$ psql template1
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p6/10
Page 7
template1=# CREATE TABLESPACE appdata LOCATION '/var/opt/postgresql/CLUST/data';
template1=# SELECT spcname FROM pg_tablespace;
spcname
pg_default
pg_global
appdata
(3 rows)
and add to the server config =>
default_tablespace = 'appdata'
Next, create the database itself (eg name = db9, unicode char set) =>
$ createdb -D appdata -E UNICODE -e db9
# appdata = default TABLESPACE
$ createlang -d db9 plpgsql
# install 'Oracle PL/SQL like' language
WAL logs are stored in the directory pg_xlog under the data directory. Shut the server down & move the
directory pg_xlog to /var/opt/postgresql/CLUST/wal and create a symbolic link from the original location in
the main data directory to the new path.
$ pg_ctl stop
$ cd $PGDATA
$ mv pg_xlog /var/opt/postgresql/CLUST/wal
$ ls /var/opt/postgresql/CLUST/wal
$ ln -s /var/opt/postgresql/CLUST/wal/pg_xlog $PGDATA/pg_xlog
# soft link as across FS
$ pg_ctl start -l /tmp/logfile
Assuming all is now working OK, shutdown PostgreSQL & backup up all the PostgreSQL related FS
above� just in case�!
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p7/10
Page 8
User Accounts
Create 1 * power user to create/own/control the tables (using psql) =>
$ pgsql template1
create user cxd with password 'abc';
grant create on tablespace appdata to cxd;
Do not create any more superusers or users that can create databases!
Now create n* enduser accts to work against the data =>
$pgsql template1
CREATE GROUP endusers;
create user enduser1 with password 'xyz';
ALTER GROUP endusers ADD USER enduser1;
$ psql db9 cxd
grant select. on <table>. to group endusers;
JDBC driver
A pure Java (Type 4) JDBC driver implementation can be downloaded from
http://jdbc.postgresql.org/
Assuming the use of the SDK 1.4 or 1.5, download
postgresql-8.0-311.jdbc3.jar
and include this in your application CLASSPATH.
(If moving JAR files between different hardware types, always ftp in BIN mode).
Configure PostgreSQL to accept JDBC Connections
To allow the postmaster listener to accept TCP/IP connections from client nodes running the JDBC
applications, edit the server configuration file and change
listen_addresses = '*'
# * = any IP interface
Alternatively, this parameter can specify only selected IP interfaces ( see documentation).
In addition, the client authetication file will need to edited to allow access to our database server.
First take a backup of the file =>
$ cp pg_hba.conf pg_hba.conf.orig
Add the following line =>
host db9
cxd
0.0.0.0/0
password
where , for this example, database db9, user cxd, auth password
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p8/10
Page 9
Switching JDBC applications from Oracle to PostgreSQL
The URL used to connect to the PostgreSQL server should be of the form
jdbc:postgresql://host:port/database
If used, replace the line (used to load the JDBC driver)
Class.forName ("oracle.jdbc.driver.OracleDriver");
with
Class.forName("org.postgresql.Driver");
Remove any Oracle JDBC extensions, such as
((OracleConnection)con2).setDefaultRowPrefetch(50);
Instead, the row pre-fetch must be specified at an individual Statement level =>
eg.
PreparedStatement pi = con1.prepareStatement(�select�.�);
pi.setFetchSize(50);
If not set, the default fetch size = 0;
Likewise, any non ANSI SQL extensions will need changing.
For example sequence numbers
Oracle => online_id.nextval
should be replaced by
PostgreSQL => nextval('online_id')
Oracle �hints� embedded within SQL statements are ignored by PostgreSQL.
Now test your application!
Concluding Remarks
At this stage, you should now have a working PostgreSQL database fronted by a JDBC based application,
and the foundations will have been laid for :
A reasonably level of resilience (recoverability)
A good starting IO distribution
The next step is to tune the system under load� and that�s another doc�
Chris Drawater has been working with RDBMSs since 1987 and the JDBC API since late 1996, and can
be contacted at [email protected] or [email protected] .
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p9/10
Page 10
Appendix 1 � Example .profile
TMPDIR=/tmp
export TMPDIR
PATH=/usr/bin:/usr/ucb:/etc:.:/usr/sfw/bin:usr/local/bin:n:/usr/ccs/bin:$PATH
export PATH
# PostgreSQL 802 runtime
LD_LIBRARY_PATH=/opt/postgresql/8.0.2/lib
PATH=/opt/postgresql/8.0.2/bin:$PATH
export PATH LD_LIBRARY_PATH
PGDATA=/var/opt/postgresql/CLUST/sys
export PGDATA
� Chris Drawater, 2005
PostgreSQL 8.0.2 on Solaris, v1.2
p10/10 -
So, noone at all is running SJS Web Server on Solaris 10 Update 6??
Trying to get some feedback on running SJS Web Server under Solaris 10 Update 6.
problems?
"Boy, That was a Mistake"
"Works Great"
"No Problems"
What?? Anything at all...
ThanksNever mind.
It is a known bug documented on manual " [Solaris 10 10/08 Release Notes, Chapter 2 Solaris Runtime Issues|http://docs.sun.com/app/docs/doc/820-5245/chapter2-1000?a=view] " as shown below.
The solution is to apply vold patch [138130-01|http://sunsolve.sun.com/search/document.do?assetkey=1-21-138130-01-1].
Solaris 10 10/08 DVD Media Might Not be Automatically Mounted by vold (6712352)
The Solaris 10 10/08 DVD does not mount by default during runtime. No error message is displayed.
Workaround: Perform the following steps:
1. Become superuser.
2. Disable vold:
* On Solaris 10 Systems:
# svcadm disable -t volfs
* On Solaris 8 and Solaris 9 systems:
/etc/init.d/volmgt stop
3. Mount the media manually by using the # mount -F hsfs path to block device path to mount point command. For example:
# mount -F hsfs /dev/rdsk/c0t2d0s2 /mnt -
Liveupgrade on Mixed FS - Solaris 10 update 6 to Solaris 10 update 8.
Hi Experts,
I need help from you .My requirement is, I need to upgrade my exisiting solaris 10 u6 to solaris 10 u8 from a mixed filesystem enviornment. My current enviornment details are below.
We are having UFS and ZFS filesystem in one of the solaris 10 u6 Box.OS is configured with UFS and User data is configured in ZFS ( /opt and /export/home ). while using lucreate command how can i include for the zfs filesystem.Below you can see we normaly used to use lucreate for UFS, here how can i use for ZFS filesystem.
*# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -m /usr/opt:merged:ufs*
Here is my df -h output.You can see here UFS and ZFS file systems which i was talking above.
bash-3.00# df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c4t600A0B8000500C86000003BA487C731Fd0s0
1.9G 133M 1.8G 7% /
/dev/dsk/c4t600A0B8000500C86000003BA487C731Fd0s1
3.9G 2.8G 1.1G 72% /usr
/dev/dsk/c4t600A0B8000500C86000003BA487C731Fd0s4
2.0G 1.8G 140M 93% /var
data/home 20G 717M 15G 5% /home
data/opt 20G 3.8G 15G 20% /opt
How can use live upgrade on the mixed FS enviornment, can you please guide me with the commands.I saw lots of oracle doc, every where it says migration from UFS to ZFS ( root mirroring ).
Thanks
RKNever mind.
It is a known bug documented on manual " [Solaris 10 10/08 Release Notes, Chapter 2 Solaris Runtime Issues|http://docs.sun.com/app/docs/doc/820-5245/chapter2-1000?a=view] " as shown below.
The solution is to apply vold patch [138130-01|http://sunsolve.sun.com/search/document.do?assetkey=1-21-138130-01-1].
Solaris 10 10/08 DVD Media Might Not be Automatically Mounted by vold (6712352)
The Solaris 10 10/08 DVD does not mount by default during runtime. No error message is displayed.
Workaround: Perform the following steps:
1. Become superuser.
2. Disable vold:
* On Solaris 10 Systems:
# svcadm disable -t volfs
* On Solaris 8 and Solaris 9 systems:
/etc/init.d/volmgt stop
3. Mount the media manually by using the # mount -F hsfs path to block device path to mount point command. For example:
# mount -F hsfs /dev/rdsk/c0t2d0s2 /mnt -
Unclear on branded solaris 9 zones and ipfilter
I just managed to install my first solaris 9 zone on a solaris 10 system (v490). It has gone fairly well so far but I
am definitely "unclear on the concept" with respect to ipfilter and the zone. This is a shared ip zone.
On solaris 9 we use ipfilter 3.4.32.
I used a flar from one of these systems to install the zone. On boot, I see that our ipfboot file in /etc/rc2.d fails with
modload failures etc
You must be superuser to load a module
open device: No such file or directory
open device: No such file or directory
constructing minimal name resolution rules...
open device: No such file or directory
open device: No such file or directory
open device: No such file or directory
open device: No such file or directory
/etc/rc2.d/S65ipfboot: load of /etc/opt/ipf/ipf.conf into alternate set failed
Not switching config due to load error.
/dev/ipf: open: No such file or directory
This makes sense but as I said what do I do instead. I found this in the solaris container system admin manual
"Solaris IP Filter can be enabled in non-global zones by turning on loopback filtering as described in Chapter 26, Solaris IP Filter (Tasks), in System Administration Guide: IP Services. "
Yes, but that doesn't help me much since the IP Filter tasks simply tell me to do this in ipf.conf in the global zone.
set intercept_loopback true;
Isn't there more to it than this? A real example some place would be most helpful. And how can I make sure it is working?
Not a real ipf guru :-(First thing to check is if your zone can access the global zone (try pinging). If this isn't the case you probably need to setup a routing entry allowing the non-global zone some access.
For example, say the global is 10.0.0.1 and the non-global 192.168.0.1 on eri0 you'd use something like:
route add 10.0.0.1 192.168.0.1 -iface
This tells your non-global zone that it can reach the global zone through the eri0 interface. Ofcourse you can also expand this to networks and such.
Another very important factor to keep in mind when dealing with internet is trying to access it from the non-global zone (as a test). Your ipnat.conf entry should be enough, my guess for to the reason for not routing the data is a non-static arp entry of your internet gateway. Now, this is a mere guess but if you have a default route in your routing table setup for Internet access (netstat -rn) make sure that the host to which the default route is pointing also has a static arp entry (man arp). If this is indeed the case you may also need to setup a routing entry as mentioned above to allow your zone access to this remote gateway.
After that things should work as usual. Hope this helps. -
Automatically start db/listener on solaris startup
I'm sure this is a simple one but I've very little experience of on Solaris. I've installed 10g on my Solaris box. When I reboot I've to manually start the db and the listener. How can I get the OS to automatically start both on start up?
Thanks
PaulYou don't need to create a shell script.
1- modify the oratab. In fact you have to add an entry line for your instance name.
2- create a symbolic link to /etc/rc0 like S99dbora and K10dbora
"2" will make a soft link from dbstart and dbshut to /rc0 and /rc3 directories.
Make sure you don't have multiple S??dbora or k??dbora links in the directories.
Insrtruction on how to create a symbolic link:
connect as superuser:
#ln -s /etc/init.d/dbora etc/rc0.d/K10dbora
#ln -s /etc/init.d/dbora etc/rc3.d/S99dbora
Amir -
Solaris Studio 12.2 on Ubuntu
How about someone write a guide to install Solaris Studio 12.2 on Ubuntu? I have found a couple of 12.1 guides but their directions don't quite match up what is needed for 12.2.
Respectfully,
AndreMajor lose.
"Working JRE" needs more discussion.
Another source on Oracle Bboard states:
"To install RPM distribution, you need to have Oracle Java SE installed. If you have OpenJDK installed, the installation cannot be done.
If you are not sure what Java distribution you've got, please, type the following command:
+java -version+
I do in fact have OpenJDK 64-bit installed on my Ubuntu Maverick system, so perhaps this is one problem. I've already installed package sun-java6-jre, which includes "Sun Java(TM) Runtime Environment (JRE) 6 (architecture independent files)", so it's curious why it's not coming up on the version request. So these simplistic instructions are inadequate. How else to verify? How to debug if it's there but not being used? How else to install?
Unpacking the tar file was done with
tar -xjvf SolarisStudio12.2-linux-x86-rpm-ML.tar.bz2
this resulted in a shell script.
The command to become superuser by typing su doesn't work on my new system, it's necessary for some reason to type
sudo su -
Someone suggested "alien -i" was required for running the shell script properly, but I couldn't get this to work. I did get the script to execute by typing
sudo bash SolarisStudio12.2-linux-x86-rpm-ML.sh in the directory, abbreviated to
sudo bash *.sh
This gave me a popup installer window.
The popup installer immediately threw up its hands and quit:
System analysis:
Operating System: Ubuntu 10.10 ERROR
( ! ) Fatal errors were found. Installation is not possible.
The Oracle Solaris Studio Installer supports only RPM-based versions of Linux.
Your distribution is not supported. Please download and install the tarfile.
I thought that's what I was doing. "the tarfile" must mean something else.
Pretty clear message from Oracle that they don't want to support Ubuntu, at this moment (Apr '11), at least.
Since there is little else out there on the web for this, looks like I will take their advice and be using g++ this year.
I would like to see the Solaris C/C++ compiler be made an official package that can be downloaded and maintained by the Synaptic Package Manager. That way, it could actually work, instead of having to go through numerous steps with various possibilities of success. I had hoped to get a nice, tight compiler with a usage profiler.
Instructions do need to be step-by-step in order to be workable. Simply saying "take care of it, and then change this" does not help, unless one already knows what one is doing.
I look forward to the happy potential of being able to use Solaris C++ on Ubuntu in the future.
hope this helps. -
PCI I/O Port, IRQ, DMA problem in Solaris 9 x86
H, I am writing a PCI RADI card driver. I have a problem about the PCI resource.
After Solaris system call my driver's attach routine, and my driver map the PCI resource
(I/O port, DMA, PCI) success. How do I to verify that the mapping is correct?
Is there any superuser command to show the mapping resource?
Or I can write code to display these resource in my driver?
Do anyone have sample code?
Regards,
RogerYour update_drv command looks ok.
AFAIR, update_drv was a new feature for one of the S9 update
releases. I'm not sure if it was present in the first S9 release, and if
it supports all of the update_drv features from S10.
Maybe the S9-x86 patch 118462-01 helps.
If it still doesn't work with that patch applied, just add the new
driver binding to the /etc/driver_aliases file and reboot:
skge "pci1558,700" -
Logical interface in solaris 10
Hi there,
I need to configure logical interface in a solaris 10 3/05 server. After reading the Solaris 10 IP services manual, I am not quite sure what to do. All the examples and explanation are about using the new subcommand addif of ifconfig. It was not clear in the documentation if the setting logical interfaces via addif will persist across boot.
Can one still configure logical interface in Solaris 10 in a more traditional way like in Solaris 8? In an Solaris 8 server I will do the following.
Let's assume I want to configure in a solaris 8 server a logical interface named hme0:1 with IP address 192.168.20.28 with netmask 255.255.255.0 for hostname host001
# cat /etc/hostname.hme0:1
host001
^D
# echo "192.168.20.28 host001" >> /etc/inet/hosts
# echo "192.168.20.0 255.255.255.0" >> /etc/inet/netmasks
# reboot -- -r
Can one still do that in solaris 10 3/05 server?Hi there,
I need to configure logical interface in a solaris 10
3/05 server. After reading the Solaris 10 IP services
manual, I am not quite sure what to do. All the
examples and explanation are about using the new
subcommand addif of ifconfig. It was not clear in the
documentation if the setting logical interfaces via
addif will persist across boot.No. No 'ifconfig' command is persistent.
Can one still configure logical interface in Solaris
10 in a more traditional way like in Solaris 8? In an
Solaris 8 server I will do the following.
Let's assume I want to configure in a solaris 8
server a logical interface named hme0:1 with IP
address 192.168.20.28 with netmask 255.255.255.0 for
hostname host001
# cat /etc/hostname.hme0:1
host001
^D
# echo "192.168.20.28 host001" >> /etc/inet/hosts
# echo "192.168.20.0 255.255.255.0" >>
/etc/inet/netmasks
# reboot -- -r
Can one still do that in solaris 10 3/05 server?Absolutely.
You don't need to reboot (you can run ifconfig for this boot and let the files do the work next time) and the -r doesn't do anything with interfaces (expecially virtual interfaces) anyway.
Darren -
Installation problem on Solaris
I am trying to install sun one 7.0 on Solaris 8. The install is failing with this error:
ERROR - library load failed with following error: Can't load library: /opt/SUNWappserver7/lib/libinstallCore.so
INFO - End core server uninstallation
anyone know what causes this??
cheersLooks like Solaris package installation failed and installer reverted to uninstallation sequence. For low level pkgadd log please check /var/sadm/install/logs/Sun_ONE_Application_Server_install.B<timestamp> file (timestamp is date and time of your installation attempt in mmddHHMM format).
Look for any errors in this file. Most likely thing that could have happened is that the installation of Java Help (SUNWjhrt) package failed because you didn't have existing package based J2SE installation on the system. If that's the case, workaround is to either preinstall package based J2SE installation or to selected option to install bundled J2SE that comes with application server.
Maybe you are looking for
-
How to automatically crop images in Image Capture for import into iPhoto?
On my PowerBook G4 / Mac OS X 10.4.2, I'm using the Image Capture 3.0.3 application to capture images coming from scanning photographs with a CanoScan 8400F. Can I get the Image Capture application to automatically set the crop frame on the overview?
-
Need Content Conversion parameter help
Hi, I need help regarding the Content conversion parameters.I have sent a IDOC and i could receive it as an XML file in my receiver end. My XML files looks like this <?xml version="1.0" encoding="UTF-8"?> <ns0:MT_IDoc2FILE xmlns:ns0="http://ffven
-
How do I copy my photo gallery from android phone?
I just purchased an Iphone 6 to replace my Samsung Android phone. How do I copy my photo gallery from the Android to the Iphone?
-
Hello, i found my lost iPhone and after a while it got automatically erased from find my iPhone. How can i use it again?
-
Errors and unsupported properties in css.
Going thru the HTML and CSS3 -Building the web page by David Powers. Great tutorial, but I am having issues with the nav. I am getting all sorts of unsupported properties in my CSS. It is within all of the nav style rules (i.e. -webkit) I downloaded