如何在Debian 4上安装Oracle XE?

一、下载Oracle Database 10g Release 2 Express Edition for Linux x86
  网址:http://www.oracle.com/technology/software/products/database/
     xe/htdocs/102xelinsoft.html

  下载oracle-xe-universal_10.2.0.1-1.0_i386.deb

二、下载后直接运行dpkg -i oracle-xe-universal_....deb进行安装
  安装过程中有可能会因为swap分区过小导致失败。解决方法是增大swap分区。
   dd if=/dev/zero of=swap bs=1024 count=16416
  此命令创建了一个大小为16MB(16416 blocks)的文件交换区(文件名叫作swap)。
  接下来使用下面的命令物理地创建文件交换区:
   mkswap swap 16416
  交换区的块数应该和上面相同。最后,使用如下的命令打开交换区:
   swapon swap

三、安装完成后运行/etc/init.d/oracle-xe configure进行初期配置
  HTTP端口[默认为8080]
  TNS Listener端口[默认为1521]
  SYS/SYSTEM用户密码
  开机是否启动[默认yes]

四、手动创建数据库

  1. 指定ORACLE_SID
    export ORACLE_SID=XE

  2. 创建initXE.ora
    可以将默认的init.ora复制一份,再做一些修改
    cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/dbs
    cp init.ora initXE.ora
    将initXE.ora里的db_name由默认的DEFAULT改为XE
    并将shared_pool_size的值增大,后面会用到。
    修改control_files的两个文件位置,设修改为/mnt/hdb6/oradata/...

  3. sqlplus /nolog
    SQL> connect as sysdba
    SQL> startup nomount

  4. 创建数据库
     create database ora10
     logfile    group 1 ('/mnt/hdb6/oradata/redo1.log') size 10M,
             group 2 ('/mnt/hdb6/oradata/redo2.log') size 10M,
             group 3 ('/mnt/hdb6/oradata/redo3.log') size 10M
     character set     。。。
     national character set 。。。
     datafile '/mnt/hdb6/oradata/system.dbf'
             size 50M
             autoextend on
             next 10M maxsize unlimited
             extent management local
     sysaux datafile '/mnt/hdb6/oradata/sysaux.dbf'
             size 10M
             autoextend on
             next 10M
             maxsize unlimited
     default temporary tablespace temp
             tempfile '/mnt/hdb6/oradata/temp.dbf'
             size 10M;

  5. 执行catalog.sql和catproc.sql
    SQL> @?/rdbms/admin/catalog.sql
    SQL> @?/rdbms/admin/catproc.sql
    catalog.sql creates the data dictionary.
    catproc.sql creates all structures required for PL/SQL.

  6. 创建用户表空间
    create tablespace users
    datafile '/mnt/hdb6/oradata/users.dbf' size 50M
    extent management local;

  7. 创建用户
    create user dis
    identified by “dis”
    default tablespace users;

  8. 给用户授权
    grant dba to dis;