Some funny features of Oracle:
- 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.
- User group PUBLIC has nothing to do with PUBLIC rollback segments.
- User SYSTEM has nothing to do with SYSTEM tablespace or SYSTEM
rollback segment.
- The first command for creating a new database is CONNECT INTERNAL
even there is nothing to connect to.
- To reset the High Water Mark, you need to delete all data.
- Message "snapshot too old" has nothing to do with snapshots.
- CREATE DATABASE command creates one RBS while you need two.
- SYSTEM rollback segment must be online. At the same time, it must not
be listed in INIT.ORA.
- 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.
- Do you want to have fun? Try ALTER DATABASE CLOSE.
- You need to apply the last incremental export twice.
- There is no way to access the current SCN.
- There is no way to check the extendability status of datafiles.
- 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.
- ROWID is both a pseudocolumn and a datatype.
- 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?
- DBMS_OUTPUT.ENABLE does not enable output in SQL*Plus. You need
to use SQL*PLus command SET SERVEROUTPUT ON.
- With SID/Windows Registry set properly, Personal Oracle 7.2 under
Win95 does not ask for password for INTERNAL when connecting from
SQL*DBA but does ask when connecting from SQL*Plus.
- BEFORE INSERT FOR EACH ROW trigger is actually fired AFTER an
attempt of insert. If you don't believe it (I know you don't), then
create table with NOT NULL column and BEFORE INSERT FOR EACH ROW
trigger which checks whether the column is NULL and attempt to insert
NULL in the column. What message do you get, from constraint or from
trigger?
- Oracle SQL Trace is not the same as Oracle TRACE.
- If you have a table with MINEXTENTS >> 1, then EXPORT/IMPORT with
COMPRESS=Y will increase the space allocated for the table by a factor
of two. Indeed, this option will lead to "consolidation" of all
existing extents into one, however, MINEXTENTS will be preserved. For
example, I create table with
STORAGE (INITIAL 10K NEXT 10K MINEXTENTS 5 MAXEXTENTS 10
PCTINCREASE 0),
fill all five initial extents with data,
and export it with COMPRESS=Y, then the export file will contain
STORAGE (INITIAL 50K NEXT 10K MINEXTENTS 5 MAXEXTENTS 10)
- 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).
What do you think?
Received on Tue Sep 23 1997 - 00:00:00 CDT