Re: [Q] V7.0 vs. V7.1?
Date: 23 Dec 1994 16:37:32 GMT
Message-ID: <3deucc$2co_at_aggedor.rmit.EDU.AU>
singerap_at_powergrid.electriciti.com (Paul Singer) writes:
>>From: bpearc1_at_abacus.tis.tandy.com (Byron Pearce) >>Subject: [Q] V7.0 vs. V7.1? >>V7.1 RDBMS? As I understand it, the only difference is the the >>parallel server option and all of the internals, structures, et al. >>remain the same.
>>I would appreciate any information that The following taken from the FAQ I maintain available from
http://www.bf.rmit.edu.au/~dtb/orafaq/v7_1.html See the general FAQ announcement I made earlier
ORACLE VERSION 7.1 $Date: 1994/12/15 10:43:00 $
$Revision: 1.5 $
$State: Exp $
Revision Log
This section covers some of the features announced for version 7.1 of the Oracle RDBMS.
- Back To Oracle FAQ Contents
- ANSI SQL + FIPS ANSI-SQL Compliance Levels + FIPS Compliance Checking + Column AS Alias
- DBA Issues + New Server Manager + Read-Only Tablespaces + Support for CONNECT INTERNAL + Oracle Names + Parallel Processing + Blank Trimming initialization parameter
- General Issues
+ Package for Dynamic SQL
+ Multiple triggers
+ Order by column alias
+ PL/SQL Functions in SQL
FIPS ANSI-SQL Compliance Levels
Oracle RDBMS 7.1 permits FULL compliance with FIPS SQL-89 and ENTRY-level compliance with FIPS SQL-92. Some aspects are pushing into TRANSITION-level compliance.
Top of File
FIPS Compliance Checking
A parameter called FIPS is available as a precompiler construct that when turned on for a particular Pro*C file will bitch about any non-ANSI construct.
This will permit you to validate your applications for standards, for example example if you want to migrate an Oracle application to a non-Oracle RDBMS. (But why would you want to do something that stupid).
As some of the best parts of Oracle (such as DECODE) are non-ANSI, this is usually going to be annoying when turned on.
Top of File
Column AS Alias
From 7.1 (and later versions of 7.0) you can use the ANSI method of
declaring column aliases, which you will be familiar with if you are
using products such as Sybase or MS-Access. The "old" Oracle method
was as follows:
select ENAME, SAL / 12 MONTHLY_SALARY from EMP;
The ANSI method, which I actually prefer because it makes the parser in my head work better is as follows: select ENAME, SAL / 12 as MONTHLY_SALARY from EMP;
New Server Manager
A new all-singing all-dancing GUI replacement for sqldba is being introduced. Support for sqldba (especially lmode=y is gradually being withdrawn. However a line mode database administration tool will remain available, whether or not it is sqldba, the server manager, or something else.
Top of File
Read-Only Tablespaces
Read-only tablespaces are being introduced. When you make a tablespace read only, you can improve performance, prevent most writes to the data (objects can be dropped, of course, because this only requires writes to the data dictionary in the SYSTEM tablespace) and will probably eventually support databases on CD-ROM. The control files note the latest logfile number required for the tablespace.
Top of File
Support for CONNECT INTERNAL
Support for connect internal is being altered. It should work across networks. Let's hope that none of your machines lie about your network user id. Guess you should NEVER assign dba privileges to root, except perhaps during an installation. Too many machines have security holes.
Top of File
Oracle Names
Oracle Names is a new facility being introduced for distributed environments that allows a distributed name server, in pretty much the same way as the UNIX yp (yellow pages) works. (Now why do the best ideas come from the UNIX environment? :-).)
You can have more than one name server running in your environment should one fall over (or, more likely, have the rug pulled out from under it by a disk crash).
Top of File
Parallel Processing
Utilities such as recovery, export/import and loading will become parallelized with some architectures. Communication will apparently occur through the SGA so you'd better make this MUCH bigger.
Top of File
Blank Trimming initialization parameter
A new initialization parameter BLANK_TRIMMING which can take the values true or false permits assignment of string values to a short target from a longer source when TRUE. If this parameter is FALSE such assignments are disallowed.
Top of File
Package for Dynamic SQL
A new DBMS package permitting the generation of SQL on the fly will be available, probably called DBMS_SQL. I am told this will permit not only EXEC SQL type statements (such as update and delete) but also select.
Top of File
Multiple triggers
Whereas with v7 only one trigger of any type can exist on a table, with 7.1 this restriction is removed. For example, you could have two post-insert triggers, each updating another audit table. This, in my opinion, should be AVOIDED. The order in which the triggers fire is not guaranteed (and why should it?) and I think it will only lead to confusion. I'd stick to only allowing one trigger of each type in MY databases, whether Oracle permits more or not, at least of the user-written variety.
The main advantage of this is to permit table replication to be done easily - and this uses triggers quite a bit.
Top of File
Order by column alias
With 7.1 you can use a column alias as an expression in the order by clause of an SQL statement. This means you do not have to use the column number for ordering. (You should still use column number when you are using set operations such as union - apart from this you are discouraged from using column number.)
An SQL statement using this facility looks like this:
select EMP_ID, (EMP_SAL * EMP_BONUS) as EMP_REMUNERATION
from EMP
order by EMP_REMUNERATION;
Top of File
PL/SQL Functions in SQL
Database functions written in PL/SQL can be used in SQL statements. This is a big advantage. This could be particularly useful in combination with the new dynamic SQL package and DBMS pipes. Application design and control can be really tightened up. As a trivial example, you could write a function that decodes a particularly nasty code. (This could be the encoding of system object types in the OBJ# internal table, for example). Simply write the function once, document it and make the doco available to other application designers and then everyone can easily use it in their SQL. And when you change the core function (and recompile it) everything flows through. Bliss.
However, I can see some restrictions. If Oracle have been lazy, then you won't be able to select from within such a function. I would complain about this. However, if they merely prohibit database updates from inside such functions, then that is fair enough, and possibly a good thing. Such "side-effects" could be considered pathological.
Special pragmas are available to control the "purity" of such
functions. It uses commands like
WRITE [NO] DATABASE
WRITE [NO] PACKAGE
If you declare the pragma as writing to the database, you cannot use
the function in SQL statements. If you declare the pragma as writing
to packages (well, really variables in those packages), then you
cannot use the function in parallel.
Top of File
Revision Log
Back to top of file
$Log: v7_1.html,v $
# Revision 1.5 1994/12/15 10:43:00 dtb # Minor fiddling # # Revision 1.4 1994/12/01 00:34:23 dtb # Editing after responses from Oracle about line mode dba # # Revision 1.3 1994/11/29 10:44:06 dtb # Some reformatting, at versus at-at symbols. # # Revision 1.2 1994/11/24 09:46:37 dtb # Corrections and additions # # Revision 1.1 1994/11/23 16:55:38 dtb # Initial revision # Back to top of fileWWW pages incl. ORA FAQ: lynx http://www.bf.rmit.edu.au/~dtb
_________________________________________________________________
--- David T. Bath | dtb_at_ftp.bf.rmit.edu.au (mail=dtb_at_bf.rmit.edu.au) 3/175 Wattletree Rd | Snr Tech Consultant, Global Consulting Services MALVERN 3144 VIC | 179 Grattan St, Carlton, Vic 3053, Australia +61 3 500 9337 | Ph:+61 3 3477411 Fx:+61 3 3470182 Mb: +61 15 824171
-- --- David T. Bath | dtb_at_ftp.bf.rmit.edu.au (mail=dtb_at_bf.rmit.edu.au) 3/175 Wattletree Rd | Snr Tech Consultant, Global Consulting Services MALVERN 3144 VIC | 179 Grattan St, Carlton, Vic 3053, Australia +61 3 500 9337 | Ph:+61 3 3477411 Fx:+61 3 3470182 Mb: +61 15 824171 WWW pages incl. ORA FAQ: lynx http://www.bf.rmit.edu.au/~dtbReceived on Fri Dec 23 1994 - 17:37:32 CET