今天在馆整理笔记,突然想到oracle的历史也不算短了,就猜想oracle的前身是什么?他的各个版本主要提供了哪些便利?于是便在网上搜了下,特整理如下:
oracle自发布至今,也经历了一个从不稳定到稳定,从功能简单至强大的过程。从第二版开始,oracle的每一次版本变迁,都具有里程碑意义。
1979年的夏季,rsi(oracle公司的前身,relational software,inc)发布了oracle第二版。
1983年3月,rsi发布了oracle第三版。从现在起oracle产品有了一个关键的特性–可移植性。
1984年10月,oracle(rsi更名为oracle)发布了第4版产品。这一版增加了读一致性这个重要特性。
1985年,oracle发布了5.0版。这个版本是oracle数据库较为稳定的版本。并实现了c/s模式工作。
1986年,oracle发布了5.1版。该版本开始支持分布式查询。
1988年,oracle发布了第6版。该版本中引入了行级锁特性,同时还引入了联机热备份功能。
1992年6月,oracle发布了第7版。该版本增加了包括分布式事务处理功能、用于应用的新工具及安全性方法等功能。
1997年6月,oracle第8版发布。oracle8支持面向对象的开发及新的多媒体应用。
1998年9月,oracle公司正式发布oracle 8i。正是因为该版本对internet的支持,所以,在版本号之后,添加了标识i。
2001年6月,oracle发布了oracle 9i。
2003年9月,oracle发布了oracle 10g。这一版的最大特性就是加入了网格计算的功能,因此版本号之后的标识使用了字母g,代表grid–网格。
2007年7月11日,oracle发布了oracle 11g。oracle 11g实现了信息生命周期管(information lifecycle management)等多项创新。
oracle的最新版本为oracle 11g,但是,目前应用最广泛的版本为oracle 9i和oracle 10g。本书选取使用的版本为oracle 10g。
oracle具有强大的功能,因此,对于硬件要求也较高。oracle 10g安装的硬件要求如下:
1024mb以上的物理内存。
1.5~3.5 gb磁盘空间,具体大小由安装类型决定。
oracle数据库11g有多个版本可供选择: 标准版1、标准版和企业版。所有这些版本都使用相同的通用代码库构建,这意味着企业的数据库管理软件可以轻松地从规模较小的单一处理器服务器扩展到多处理器服务器集群,而无需更改一行代码。oracle数据库11g企业版还有许多其他增强了性能、可伸缩性、可用性、安全性和可管理性的功能选项。
软件环境如下:windows xp、windows 2003或者linux red hat 5.0以上版本。需要注意的是,windows vista与oracle 10g的兼容性较差,不推荐使用。
英文介绍
oracle 2 – 1979
first public release
basic sql functionality, queries and joins
connect by queries
written in pdp-11 assembly language, ran on vax/vms in compatibility mode
oracle 3 – 1981
atomic execution of sql statements and transactions (commit and rollback of transactions)
nonblocking queries (no more read locks)
re-written in the c-programming language
oracle 4 – 1984
read consistency
first interoperability between pc and database server
database ported to several platforms
oracle 5.1 – 1986
distributed queries
oracle 5.0 – 1985
supporting for the client-server model – pc’s can access the db on remote host
oracle 6.2
oracle parallel server option (later renamed to real application clusters)
oracle 6.1
there was never an oracle 6.1 production release. however, a 6.1 version was made available to selected beta customers running on clustered hardware. apparently the database was so busy checking block status’s between the machines that it killed the systems it ran on.
oracle 6 – july 1988
oltp performance enhancements
row-level locking
on-line database backups (alter tablespace begin/end backup)
new procedural option (tpo) – pl/sql in the database (*)
b*tree indexes implemented
rollback segments introduced
concept of tablespaces introduced
(*) functions, procedures, packages and triggers were not available until oracle 7.
oracle 7.3 – february 1996
partitioned views
bitmapped indexes
asynchronous read ahead for table scans
standby database
deferred transaction recovery on instance startup
updatable join views (with restrictions)
sql*dba no longer shipped.
index rebuilds
db_verify utility introduced
context option
spatial data option
tablespaces changes – coalesce, temporary/ permanent,
trigger compilation, debug
unlimited extents on storage clause.
some init.ora parameters modifiable – timed_statistics
hash joins, antijoins
histograms
dependencies
oracle trace
advanced replication object groups
pl/sql – utl_file
oracle 7.2 – may 1995
resizable, autoextend data files
shrink rollback segments manually
create table, index unrecoverable
subquery in from clause (inline view)
pl/sql wrapper
pl/sql cursor variables
checksums – db_block_checksum, log_block_checksum
parallel create table as (ctas)
job queues – dbms_job
dbms_space and dbms_application_info packages
sorting improvements – sort_direct_writes
oracle 7.1 – may 1994
ansi/iso sql92 entry level
oracle advanced replication – symmetric data replication
snapshot refresh groups
parallel recovery
dynamic sql – dbms_sql
parallel query options – query, index creation, data loading
server manager introduced
read only tablespaces
oracle 7.0 – june 1992
database integrity constraints (primary keys, foreign keys, check constraints, default values)
stored procedures and functions, procedure packages
database triggers
view compilation
user defined sql functions
role based security
multiple redo members – mirrored online redo log files
resource limits – profiles
much enhanced auditing
enhanced distributed database functionality: inserts, updates, deletes, 2pc
incomplete database recovery (e.g. scn based recovery)
cost based optimizer
truncate tables
datatype changes (i.e varchar2, char, varchar)
sql*net v2, mts
checkpoint process (ckpt)
data replication – snapshots
oracle 8 – 1997
object relational database (ordbms) features
object types (not just date, character, number as in v7)
sql3 standard
call external procedures
lob >1 per table
partitioned tables and indexes (new partitioning option)
partitions in multiple tablespaces
export/import inpidual partitions
online/offline, backup/recover inpidual partitions
merge/balance partitions
advanced queuing for message handling
many performance improvements to sql/plsql/oci making more efficient use of cpu/memory. v7 limits extended (e.g. 1000 columns/table, 4000 bytes varchar2)
parallel dml statements (update and delete)
connection pooling (uses the physical connection for idle users and transparently re-establishes the connection when needed) to support more concurrent users.
improved “star” query optimizer
integrated distributed lock manager in oracle ps (as opposed to operating system dlm in v7).
performance improvements in ops – global v$ views introduced across all instances, transparent failover to a new node
data cartridges introduced on database (e.g. image, video, context, time, spatial)
backup/recovery improvements – tablespace point in time recovery, incremental backups, parallel backup/recovery. recovery manager introduced (see rman)
security server introduced for central user administration. user password expiry, password profiles, allow custom password scheme. privileged database links (no need for password to be stored)
fast refresh for complex snapshots, parallel replication, pl/sql replication code moved in to oracle kernel. replication manager introduced.
index organized tables (iots)
deferred integrity constraint checking (deferred until end of transaction instead of end of statement).
sql*net replaced by net8
reverse key indexes
any view updateable (instead of triggers on views)
new rowid format
oracle 8i (8.1.7) – august 2000
static http server included (apache)
jvm accelerator to improve performance of java code
java server pages (jsp) engine
memstat – a new utility for analyzing java memory footprints
ois – oracle integration server introduced.
plsql gateway introduced for deploying pl/sql based solutions on the web
enterprise manager enhancements – including new html based reporting and advanced replication functionality included.
new database character set migration utility included.
oracle 8i (8.1.6) – november 1999
pl/sql server pages (psp’s)
dba studio introduced
statspack – used for performance monitoring (much better that utlbstat/utlestat)
many new sql analytical functions like lag, lead and rank
alter freelists command (previously done by drop/create table)
checksums always on for system tablespace allowing many possible corruptions to be fixed before writing to disk (db_block_checking).
xml parser for java
new pl/sql encrypt/decrypt package introduced
jserver accelerator (native java compiler for each platform), java programs can run as machine code, not interpreted as with 8.1.5
native support for java2
new case statement in sql similar to the decode() function
new sql*plus command line options: sqlplus -markup [html…] and -restrict
user and schemas separated
cursor_sharing parameter – optimize shared pool for applications that do not use bind variables
numerous performance enhancements
oracle 8i (8.1.5) – february 1999
fast start recovery – checkpoint rate auto-adjusted to meet roll forward criteria
reorganize indexes/index only tables which users accessing data – online index rebuilds
log miner introduced – allows on-line or archived redo logs to be viewed via sql
ops cache fusion introduced avoiding disk i/o during cross-node communication
advanced queueing improvements (security, performance, oo4o support
user security improvements – more centralisation, single enterprise user, users/roles across multiple databases.
virtual private database (vpd)
integrated javavm (called aurora) in the database kernel allowing one to execute java stored procedures
integrated support for ejb (enterprise javabeans)
jsql: a specification for java-based sql database statements
integrated object request broker for standard corba communications between applications and the database
oracle ifs (internet file system)
resource management using priorities – resource classes
hash partitioning and composite partitioning
new partitioning features: merge partitions into one, updatable partition keys (allow movement of rows between partitions), can use lobs in partitioned tables
single table hash clusters
sql*loader direct load api
copy optimizer statistics across databases to ensure same access paths across different environments.
standby database – auto shipping and application of redo logs. read only queries on standby database allowed.
enterprise manager v2 delivered – completely rewritten in java
nls – euro symbol supported
analyze tables in parallel.
temporary tables supported (tables that will be truncated at the end of a transaction or session).
net8 support for ssl, http, hop protocols
transportable tablespaces, copy tablespaces with datafiles between databases
locally managed tablespaces – automatic sizing of extents, elimination of tablespace fragmentation, tablespace information managed in tablespace (i.e moved from data dictionary) improving tablespace reliability
drop column on table (finally!!!!!)
dbms_debug pl/sql package, dbms_sql replaced by new execute immediate statement
progress monitor to track long running dml, ddl
function based indexes – nls, case insensitive, descending, based on user defined function, etc.
index key compression: duplicate keys are combined to save space
oracle 9i release 2 (9.2.0) – may 2002
locally managed system tablespaces
oracle streams – new data sharing/replication feature (can potentially replace oracle advance replication and standby databases)
xml db (oracle is now a standards compliant xml database)
data segment compression (compress keys in tables – only when loading data)
cluster file system for windows and linux (raw devices are no longer required).
create logical standby databases with data guard
java jdk 1.3 used inside the database (jvm)
oracle data guard enhancements (sql apply mode – logical copy of primary database, automatic failover
security improvements – default install accounts locked, vpd on synonyms, aes, migrate users to directory
oracle 9i release 1 (9.0.1) – june 2001
traditional rollback segments (rbs) are still available, but can be replaced with automated system managed undo (smu). using smu, oracle will create it’s own “rollback segments” and size them automatically without any dba involvement.
flashback query (dbms_flashback.enable) – one can query data as it looked at some point in the past. this feature will allow users to correct wrongly committed transactions without contacting the dba to do a database restore.
use oracle ultra search for searching databases, file systems, etc. the ultrasearch crawler fetch data and hand it to oracle text to be indexed.
oracle nameserver is still available, but deprecate in favour of ldap naming (using the oracle internet directory server). a nameserver proxy is provided for backwards compatibility as pre-8i client cannot resolve names from an ldap server.
oracle parallel server’s (ops) scalability was improved – now called real application clusters (rac). full cache fusion implemented. any application can scale in a database cluster. applications doesn’t need to be cluster aware anymore.
the oracle standby db feature renamed to oracle data guard. new logical standby databases replay sql on standby site allowing the database to be used for normal read write operations. the data guard broker allows single step fail-over when disaster strikes.
scrolling cursor support. oracle9i allows fetching backwards in a result set.
dynamic memory management – buffer pools and shared pool can be resized on-the-fly. this eliminates the need to restart the database each time parameter changes were made.
on-line table and index reorganization.
vi (virtual interface) protocol support, an alternative to tcp/ip, available for use with oracle net (sql*net). vi provides fast communications between components in a cluster.
build in xml developers kit (xdk). new data types for xml (xmltype), uri’s, etc. xml integrated with aq.
cost based optimizer now also consider memory and cpu, not only disk access cost as before.
pl/sql programs can be natively compiled to binaries.
deep data protection – fine grained security and auditing. put security on db level. sql access do not mean unrestricted access.
resumable backups and statements – suspend statement instead of rolling back immediately.
list partitioning – partitioning on a list of values.
etl (extract, transformation, load) operations – with external tables and pipelining.
oracle olap – express functionality included in the db.
data mining – oracle darwin’s features included in the db.
oracle 10g release 1 (10.1.0) – january 2004
grid computing – an extension of the clustering feature (real application clusters)
manageability improvements (self-tuning features)
performance and scalability improvements
automated storage management (asm)
automatic workload repository (awr)
automatic database diagnostic monitor (addm)
flashback operations available on row, transaction, table or database level
ability to undrop a table using a recycle bin
ability to rename tablespaces
ability to transport tablespaces across machine types (e.g windows to unix)
new ‘drop database’ statement
new database scheduler – dbms_scheduler
dbms_file_transfer package
support for bigfile tablespaces that are up to 8 exabytes in size
datapump – faster data movement with expdp and impdp
sysaux tablespace has been introduced
nid utility has been introduced to change the database name and/or id.
oracle 10g release 2 (10.2.0) – september 2005
transparent data encryption
async commits
the connect role can now only connect (create privs removed)
passwords for db links are encrypted
new asmcmd utility for managing asm storage
support for regular expressions in sql and pl/sql
oracle 11g – september 2009
new options: oracle rac one node, solution for consolidating less mission critical databases on the grid with most of the redundancy and availability provided by rac. an omotion utility is provided to migrate one node instances to other nodes in the cluster without any downtime to the application.
new features:
some of the new features include:
improved data compression ratios (up to 20x).
ability to upgrade database applications while users remain online.
new ease-of-use features that make grid computing more accessible.
automation of key systems management activities.