RE: granting SELECT privilege on SYS.X$ TABLES

2003-11-15 Thread Wolfgang Breitling
Someone must have created sys.x_$ views on some of the sys.x$ tables. 
Installing statspack does that for example for X$KCBFWAIT, X$KSPPSV, 
X$KSPPI, and X$KSQST. Do you have quest? I believe it does it for some of 
the x$ tables as well. I routinely do it for all x$ tables in my test 
databases and grant select to the select_catalog_role. Then I can access 
the x$tables without having to log on as sys.

In my test databases I always
At 07:14 PM 11/14/2003, you wrote:
P.S. I forgot to mention that in all the databases (including the 8.1.7 
databases) in which I tried this, init parameter 
O7_DICTIONARY_ACCESSIBILITY was set to FALSE.

I always thought that one could not grant SELECT privilege on the SYS.X$ 
tables, and to make them accessible to another user one would have to 
create a view on the table (as mentioned on Steve Adams' ixora website:
http://www.ixora.com.au/scripts/prereq.htm
create_xviews.sql)

However someone told me recently that you could grant SELECT on sys.X_$...

When I tried this, I saw results that confused me.
In Database A, Oracle 8.1.7.4.1, Windows 2000 server, I was able to
1- grant select on SYS.X_$KTFBFE to another_user ;
2- grant select on SYS.X_$KTFBHC to another_user ;
3- grant select on SYS.X_$KTFBUE to another_user ;
BUT

4- grant select on SYS.X_$KDXST to another_user ;
returns ORA-00942 table or view does not exist.
In database B, using the same ORACLE_HOME as database A (i.e. identical 
Oracle version and OS)
even the first three grant statements returned ORA-00942

When I tried it on more recent Oracle databases on Windows / SunOS 
servers, it worked intermittently:
Oracle 9.0 (SunOS): all GRANTS failed
Oracle 9.2 (SunOS): GRANTS 1-3 were successful, GRANT 4 failed
Oracle 10.1 beta (Windows 2000): all GRANTS failed

Does anyone know the reason for this strange behaviour?
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Jacques Kilchoer
  INET: [EMAIL PROTECTED]
Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Wolfgang Breitling
Centrex Consulting Corporation
http://www.centrexcc.com
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Wolfgang Breitling
 INET: [EMAIL PROTECTED]
Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


When / why we resize/clean the temporary tablespace -- was RE:

2003-11-15 Thread Hemant K Chitale
Not exactly correct.  It is 1 single segment, with multiple extents.  The 
extents
are reused.  The segment is never dropped-and-recreated unless you
  (a) Stop and start the database instance [it is then created on the 
first request
for a temporary segment]
  (b) If it is NOT a TEMPORARY Tablespace but a Tablespace .. TEMPORARY,
you issue an ALTER TABLESPACE ... DEFAULT STORAGE ... command

Now why should we worry about the Temporary Segment ?
Of the 60 odd databases I have there are 2 databases [on in 8.1.7 where I am
not using a TEMPORARY TABLESPACE but a TABLESPACE .. TEMPORARY,
and therefore, I can use the ALTER TABLESPACE .. DEFAULT STORAGE ... command
and the other in 9.2 where I am using a TEMPORARY TABLESPACE with TEMPFILEs]
where at least once a month the Tablespace which is usually 2GB [and 400MB 
used] goes to 8GB
[or, as I found in a third 9.2 database this week 24GB], the file system is 
full
and users may start getting errors.  Now, the Unix Administrator does have 
a CRON job
checking all the file systems of his 200+ servers, once-an-hour, I have a 
CRON job checking all
the tablespaces of the 60 databases every hour but it takes much less than an
hour for some user writing a wonderful SQL query to take Temporary 
Tablespace
out from 2GB to 8GB [or 24GB !].
It is in those cases, that I need to know how to bring my Temporary 
Tablespace usage
down.
{Of course, I do know that if that wonderful SQL query user has exited, then
he has released all the 8GB or 24GB of extents but my Unix administrator
asks me why I am using so much space and what he should do about the alerts
that the filesystem is 90+% full.  If I keep the MAXSIZE of the files too low,
it is quite likely that more than one user gets errors trying to allocate 
extents while the
wonderful SQL query user is still around in the database}.

I also issue the ALTER TABLESPACE ... DEFAULT STORAGE .. command in the
daily backup job to drop the Temporary segment when it is not in use.
Yes, there is a cost associated with reallocating extents but this is only 
once a day.
If the NEXT is appropriate sized, few user sessions would be allocating 
more than
one or two new extents the first time round.

Hemant

At 10:09 AM 14-11-03 -0800, you wrote:
[EMAIL PROTECTED]  scribbled on the wall in glitter crayon:

 I got the impression that the poster was thinking segments allocated
 in temp tablespace must be released, cleaned out, blown away, etc.
 before something else can come along and use the space.
i was always under the impression that you didn't need to do anything to the
temp tablespace.  that the segments were just reused as needed.  am i behind
the times here?
--
Bill Shrek Thater ORACLE DBA
I'm going to work my ticket if I can... -- Gilwell song
[EMAIL PROTECTED]

Shift to the left!  Shift to the right!  Pop up, push down, byte, byte,
byte!
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Thater, William
  INET: [EMAIL PROTECTED]
Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Hemant K Chitale
Oracle 9i Database Administrator Certified Professional
My personal web site is :  http://hkchital.tripod.com
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Hemant K Chitale
 INET: [EMAIL PROTECTED]
Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: Re: RE: Re: Stop using SYS, SYSTEM?

2003-11-15 Thread Nuno Souto
Facetious, but correct. What you need
is auditing. Not clipping userids.
Achieves nothing.

Cheers
Nuno Souto
[EMAIL PROTECTED]
- Original Message - 

 What I was saying is that having a different username for each DBA helps you 
 identify the WHOM. Of course a hacker
could always cut knock the DBA unconscious and prop up his head to fool an eye retina 
scan, à la James Bond, but by that
argument any username or IP address or whatever else you use is meaningless.
 -- 

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Nuno Souto
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: When / why we resize/clean the temporary tablespace -- was RE:

2003-11-15 Thread M Rafiq
Hemant

Why don't you get resolve the issue of wonderful SQL query user is still 
around in the database}.
which is occupying that much tempspace? Either the query is resulting in 
cartesian join or tables involved have degree  1 resulting sort type 
'hash'. Check your V$sort_usage when that code runs. It is not that much 
difficult to fix such codes.

Just fixing degree of tables/indexes may reduce the usage of tempspace. I 
have seen this behaviour when one of index was having degree  1 and temp 
usage was passing 4GB and making degree to 1 the temp usage went down to 
less than 100M.

For checking degree
select table/index_name , degree from dba_tables/indexes where degree  1;
HTH

Regards
Rafiq


Reply-To: [EMAIL PROTECTED]
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
Date: Sat, 15 Nov 2003 00:49:24 -0800
Not exactly correct.  It is 1 single segment, with multiple extents.  The 
extents
are reused.  The segment is never dropped-and-recreated unless you
  (a) Stop and start the database instance [it is then created on the first 
request
for a temporary segment]
  (b) If it is NOT a TEMPORARY Tablespace but a Tablespace .. TEMPORARY,
you issue an ALTER TABLESPACE ... DEFAULT STORAGE ... command

Now why should we worry about the Temporary Segment ?
Of the 60 odd databases I have there are 2 databases [on in 8.1.7 where I am
not using a TEMPORARY TABLESPACE but a TABLESPACE .. TEMPORARY,
and therefore, I can use the ALTER TABLESPACE .. DEFAULT STORAGE ... command
and the other in 9.2 where I am using a TEMPORARY TABLESPACE with TEMPFILEs]
where at least once a month the Tablespace which is usually 2GB [and 400MB 
used] goes to 8GB
[or, as I found in a third 9.2 database this week 24GB], the file system is 
full
and users may start getting errors.  Now, the Unix Administrator does have a 
CRON job
checking all the file systems of his 200+ servers, once-an-hour, I have a 
CRON job checking all
the tablespaces of the 60 databases every hour but it takes much less than 
an
hour for some user writing a wonderful SQL query to take Temporary 
Tablespace
out from 2GB to 8GB [or 24GB !].
It is in those cases, that I need to know how to bring my Temporary 
Tablespace usage
down.
{Of course, I do know that if that wonderful SQL query user has exited, 
then
he has released all the 8GB or 24GB of extents but my Unix administrator
asks me why I am using so much space and what he should do about the alerts
that the filesystem is 90+% full.  If I keep the MAXSIZE of the files too 
low,
it is quite likely that more than one user gets errors trying to allocate 
extents while the
wonderful SQL query user is still around in the database}.

I also issue the ALTER TABLESPACE ... DEFAULT STORAGE .. command in the
daily backup job to drop the Temporary segment when it is not in use.
Yes, there is a cost associated with reallocating extents but this is only 
once a day.
If the NEXT is appropriate sized, few user sessions would be allocating more 
than
one or two new extents the first time round.

Hemant

At 10:09 AM 14-11-03 -0800, you wrote:
[EMAIL PROTECTED]  scribbled on the wall in glitter crayon:

 I got the impression that the poster was thinking segments allocated
 in temp tablespace must be released, cleaned out, blown away, etc.
 before something else can come along and use the space.
i was always under the impression that you didn't need to do anything to 
the
temp tablespace.  that the segments were just reused as needed.  am i 
behind
the times here?

--
Bill Shrek Thater ORACLE DBA
I'm going to work my ticket if I can... -- Gilwell song
[EMAIL PROTECTED]

Shift to the left!  Shift to the right!  Pop up, push down, byte, byte,
byte!
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Thater, William
  INET: [EMAIL PROTECTED]
Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Hemant K Chitale
Oracle 9i Database Administrator Certified Professional
My personal web site is :  http://hkchital.tripod.com
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Hemant K Chitale
 INET: [EMAIL PROTECTED]
Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT 

SQL*Loader and rollback segment

2003-11-15 Thread jaysingh1
Dear Gurus,

I have a problem loading data from flat file using SQL*Loader. The problem is unable 
to extend rollbacksegment. Is there a way to assign BIG rollback segment to SQL*Loader 
transaction? If not what is the work around to load huge volume of data without using 
TRUNCATE option?

Thanks
Jay

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: 
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: SQL*Loader and rollback segment

2003-11-15 Thread Stephane Faroult
[EMAIL PROTECTED] wrote:
 
 Dear Gurus,
 
 I have a problem loading data from flat file using SQL*Loader. The problem is unable 
 to extend rollbacksegment. Is there a way to assign BIG rollback segment to 
 SQL*Loader transaction? If not what is the work around to load huge volume of data 
 without using TRUNCATE option?
 
 Thanks
 Jay
 

One work around might be to create a dedicated Oracle account with the
suitable rights (INSERT on the table to load) and to use a login trigger
to assign the rollback segment.
Another, and probably much better, way would be to have several sessions
running and parallel (and hopefully assign to different rollback
segments by Oracle). If your volume of data is really big, chances are
that you are loading into a partitioned table. If your input data had
the good taste of being made of several files, each one destined to a
separate partition, would be great. Perhaps some preprocessing is
required. Otherwise split your data file, be certain to have several
free lists to avoid contention, and there you go.
You may have to play with constraints, this is usually the price to pay
to do things in parallel.

-- 
Regards,

Stephane Faroult
Oriole Software
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: SQL*Loader and rollback segment

2003-11-15 Thread Jeremiah Wilton
How about just committing every n rows, instead of trying to fit the
whole thing into one transaction?  This is why they have the ROWS=
option on the command line and in the parameter file.
--
Jeremiah Wilton
http://www.speakeasy.net/~jwilton

On Sat, 15 Nov 2003, Stephane Faroult wrote:

 [EMAIL PROTECTED] wrote:
 
  I have a problem loading data from flat file using SQL*Loader. The problem is 
  unable to extend rollbacksegment. Is there a way to assign BIG rollback segment to 
  SQL*Loader transaction? If not what is the work around to load huge volume of data 
  without using TRUNCATE option?

 One work around might be to create a dedicated Oracle account with the
 suitable rights (INSERT on the table to load) and to use a login trigger
 to assign the rollback segment.
 Another, and probably much better, way would be to have several sessions
 running and parallel (and hopefully assign to different rollback
 segments by Oracle). If your volume of data is really big, chances are
 that you are loading into a partitioned table. If your input data had
 the good taste of being made of several files, each one destined to a
 separate partition, would be great. Perhaps some preprocessing is
 required. Otherwise split your data file, be certain to have several
 free lists to avoid contention, and there you go.
 You may have to play with constraints, this is usually the price to pay
 to do things in parallel.

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Jeremiah Wilton
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).