Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Some features of Oracle

Re: Some features of Oracle

From: Jurij Modic <jurij.modic_at_mf.sigov.mail.si>
Date: 1997/09/24
Message-ID: <342981b9.7512361@www.sigov.si>

Just a couple of remarks:

On Tue, 23 Sep 1997 10:11:20 +1000, Vsevolod Afanasjev <afanasjev_at_cse.unsw.edu.au> wrote:

>Some funny features of Oracle:
>
>1. RESOURCE and DBA roles carry implicitly the system privilege
>UNLIMITED TABLESPACE. This fact is never mentioned in Concepts or
>Adm. Guide. It is mentioned only once in SQL Reference. This privilege
>does not appear in the list of privileges granted to these roles.

No comments.

>2. User group PUBLIC has nothing to do with PUBLIC rollback segments.

I can't see any reason why it should. Why should such general term not be used in two different contexts? IMHO its meaning in both cases is self evident and doesn't cause any confusion.

>3. User SYSTEM has nothing to do with SYSTEM tablespace or SYSTEM
>rollback segment.

Simmilar remarks as inn 2).

>4. The first command for creating a new database is CONNECT INTERNAL
>even there is nothing to connect to.
>
>5. To reset the High Water Mark, you need to delete all data.

Not just delete rows (as can be understood from your expression "delete all data"), you actualy have to recreate the table (explicitely with DROP-CREATE or implicitely with TRUNCATE) to reset the HWM.

>6. Message "snapshot too old" has nothing to do with snapshots.

Of course it doesn't, but in both cases the term reflects the situation. In replication, the term "snapshot" reflects the point-in-time situation of a table. In error message, it reflects the fact that in rollback segment a point-in-time situation was recorded at the begining of the transaction.

>7. CREATE DATABASE command creates one RBS while you need two.

No, database can exist without the second RBS if you can live with only a system tablespace ;-). It's up to you to decide the storage parameters for the second RB when you need it - Oracle can't predict what you will use it for, maybe you won't drop it after you create the other tablespaces.

>8. SYSTEM rollback segment must be online. At the same time, it must not
>be listed in INIT.ORA.

No comments.

>9. CREATE DATABASE command creates, mounts, and opens the database.
>Similarly, CREATE TABLESPACE command brings newly created tablespace
>online. However, CREATE ROLLBACK SEGMENT command creates offline
>rollback segment which should be brought online separately.

No comments.

>10. Do you want to have fun? Try ALTER DATABASE CLOSE.

You are right, this behavior realy is funny! And the error message explanation describes how the sistem should react and not how it actualy reacts on this command. The other funy thing with this command is that it is not documented under ALTER DATABASE (at least in mine SQL Reference manual for ver.7, however it is in my old ver.6 manual).

>11. You need to apply the last incremental export twice.
>
>12. There is no way to access the current SCN.

No comments on this two.

>13. There is no way to check the extendability status of datafiles.

There is. You can use Enterprise Manager or you can query FILEXT$.

>14. If SELECT a INTO l_a with WHERE condition does not find any rows,
>it raises an exception. At the same time, SELECT count(*) does not
>raise this exception.

This is more than natural behavior! SELECT COUNT(*) allways returns exactly one row - if no records match the condition then COUNT(*) returns the right value (0) in that single result record.

>15. ROWID is both a pseudocolumn and a datatype.

No comments.

>16. Apparently, NUMBER is a variable-length datatype (in the sence
>that a small number, like 5, will occupy less space than
>123456789012345678901234567890). Why isn't it called VARNUMBER?

And NUMBER would then represent fixed-length numbers, or what? And if you would then define a column with such fixed-length number type as NUMBER(2), should it allow only values between 10 and 99 or should it left-pad numbers from 0 to 9 with 0? Should it then also implement some special arithmetics for those 0-padded values ;-) ?

Why aren't you concerned about VARLONG, VARRAW, and VARLONG RAW?

>...[SNIP]....
No comments on the snipped complaints

>22. It is impossible to use overloaded (packaged) functions
>in SQL statements because the pragma RESTRICT_REFERENCES
>applies only to the last function (but they fixed this in
>Oracle8).

This is well documented restriction, so you shouldn't consider it strange or unacceptable. They simply weren't able to implement it the way it is in Oracle8 at that time, that's all. But they at least stress this behavior in the manuals.

>What do you think?

In general, IMHO in some complaints your attitude is somewhat puristic. Besides, some of the peculiarities you mention weren't invented by Oracle, they are defined in SQL standards (at least I belive they are).

Regards,


Jurij Modic                             Republic of Slovenia
jurij.modic_at_mf.sigov.mail.si		Ministry of Finance
============================================================
The above opinions are mine and do not represent any official standpoints of my employer Received on Wed Sep 24 1997 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US