Oracle 8i and 9i are different versions of the database. It's like asking what's the difference between Windows 95 and Windows 98!
With Oracle each new version contains the same functionality as the previous version. So Oracle 9i is backwards compatible with 8i. Oracle 9i does many things differently internally so they are not exactly the same database engine.
And Oracle 9i has a host of new features designed to make the database more stable, easier to manage and increase functionality. There are so many new features that Oracle Corp. provides a complete manual listing these new feature.
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 from 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 is up to 8 Exabytes in size Data Pump - faster data movement with expdp and impdp.
Oracle 9i has better features than Oracle 8i like better concurrency control,better internet security ,i stands for internet and Oracle 10g is based on Grid Computing and distributed system rather than on client/server technology.