日期:2014-05-16  浏览次数:20473 次

ubuntu 里安装 OracleXE
1. 调整 swap space
   # 创建 swapfile 文件
   $ mkdir swap
   $ cd swap
   $ sudo dd if=/dev/zero of=swapfile bs=1024 count=200000
   # 将生成的文件转换为 swap 文件
   $ sudo mkswap swapfile
   # 激活 swap 文件
   $ sudo swapon swapfile
   # 查看 swap
   $ free
   # 卸载 swap 文件
   $ sudo swapoff swapfile
2. 安装
   $ sudo dpkg -i oracle-xe-universal_10.2.0.1-1.0_i386.deb
3. 设置环境变量
   $ sudo -s -H
   $ /etc/init.d/oracle-xe configure
   # http port: 8080
   # db listener port: 1521
   # password: hr
4. 解锁 hr 用户
   # 登录 http://127.0.0.1:8080/apex
   # userName: system
   # password: hr
   # 登录之后单击右侧的 Getting Started, 按照提示解锁 hr 用户即可.

附录:
#################################################################
  # 连接远程数据库
  conn sys/admin@10.10.11.242:1521/xe as sysdba 
? 
? # 查看已创建的数据库
? select name from v$database;
? 
? # 查看实例状态
? select instance_name,status from v$instance;
  
  # 备份建立控制文件的脚本
  alter database backup controlfile to trace as 'e:\bk\orcl_ctrl.txt';
  
  # 修改纯文本参数文件 pfile init.ora 中控制文件的位置
  control_files=("E:\log\CONTROL_01.DBF","E:\log\CONTROL_02.DBF")
  # 创建二进制参数文件 spfile
  create spfile='%ORACLE_HOME%\dbs/spfileXE.ora' 
     FROM pfile='%ORACLE_HOME%\config\scripts\init.ora';
  
  # 更改数据文件或日志文件位置
  startup mount;
  alter database rename file 'file_path_1' to 'file_path_2';
  
  # 查看数据库用户
  select username,account_status from dba_users;
  # 解锁用户
  alter user userName account unlock;
  # 修改用户密码
  alter user userName identified by password;
  
  # 查看数据库是否处于归档模式
  select name,log_mode from v$database; 
  # 归档模式
  alter database archivelog;
  # 取消归档
  alter database noarchivelog;
    
  # 查看表空间及状态
  select tablespace_name,status from dba_tablespaces;
  # 新建表空间
  create tablespace ts0 datafile 'e:\data\ts0.dbf' size 1m;
  # offline 表空间
  alter tablespace ts0 offline;
  # online 表空间
  alter tablespace ts0 online;
  # 删除表空间
  drop tablespace ts0 including contents and datafiles;
  # 设置用户的默认表空间
  alter user userName default tablespace ts0;
  # 查看表所属的表空间
  select tablespace_name,table_name from tabs where table_name='tableName';
  # 移动表所在的表空间
  alter table tableName move tablespace users;
  
  # 查看表空间及数据文件
  select tablespace_name,file_id,file_name,online_status from dba_data_files;
  
  # 查看数据文件及状态
  select name,status from v$datafile;
  # 增加数据文件
  alter tablespace ts0 add datafile 'e:\data\ts1.dbf' size 1m;
  # 修改数据文件大小
  alter database datafile 'e:\data\ts1.dbf' resize 2m;
  # offline 数据文件
  alter database datafile 'e:\data\ts1.dbf' offline;
  # 恢复数据文件
  recover datafile 'e:\data\ts1.dbf';
  # online 数据文件 
  alter database datafile 'e:\data\ts1.dbf' online;
  # 删除数据文件
  alter tablespace ts0 drop datafile 'e:\data\ts1.dbf';
  
  # 查看当前用户的角色
  select role from session_roles;
  # 查看当前用户的权限
  select privilege from session_privs;
  # 查看角色所对应的权限
  select role,privilege from role_sys_privs;
  # 查看哪些权限不是通过角色获得的
  select privilege from session_privs 
  minus 
  select privilege from role_sys_privs 
    where role in (select role from session_roles);
  
  # directory 目录
  # 创建目录
  create or replace directory exp_dir as 'e:\bk';
  # 授权目录
  grant read,write on directory exp_dir to scott;
  # 查看目录
  select directory_name,directory_path from dba_directories;
  # 删除目录
  drop directory exp_dir;
  
  # 查看约束
  select constraint_type,constraint_name,status,validated 
    from user_constraints where table_name='tableName';
  # 禁用约束
  alter table tableName disable constraint constraint_name;
  # 启用约束
  alter table tableName enable constraint constraint_name;

  # exp 导出数据
  exp parfile=e:\bk\exp_ctrl.txt
  -- exp_ctrl.txt
    userid=scott/tiger
    buffer=8192
    tables=emp,dept
    file=e:\bk\exp_data.dmp
    log=e:\bk\exp_log.log
    feedback=1000
    
  # imp 导入数据
  imp parfile=e:\bk\imp_ctrl.txt
  -- imp_ctrl.txt
    userid=system/admin
    touser=u1
    buffer=8192
    tables=emp,dept
    file=e:\bk\exp_data.dmp
    log=e:\bk\imp_log.log
    feedback=1000
    
  # exp 导出用户
  exp parfile=e:\bk\exp_ctrl.txt