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
  -- exp_ctrl.txt
    userid=system/admin
    buffer=8192
    file=e:\bk\exp_data.dmp
    log=e:\bk\exp_log.log
    feedback=1000
    owner=scott
    
  # imp 导入用户
  imp parfile=e:\bk\imp_ctrl.txt
  -- imp_ctrl.txt
    userid=system/admin
    fromuser=scott
    touser=u1    
    buffer=8192
    file=e:\bk\exp_data.dmp
    log=e:\bk\imp_log.log
    feedback=1000
    
  # 冷备份数据库
  select 'copy '||name||' e:\bk' from v$datafile
  union all
  select 'copy '||name||' e:\bk' from v$controlfile
  union all
  select 'copy '||member||' e:\bk' from v$logfile
  union all
  select 'copy '||name||' e:\bk' from v$tempfile;
  
  # 热备份数据文件
  select 'alter tablespace '||tablespace_name||' begin backup;'
  ||chr(10)
  ||'host copy '||file_name||' e:\bk'
  ||chr(10)
  ||'alter tablespace '||tablespace_name||' end backup;'
  from dba_data_files order by tablespace_name;
  # 热备份控制文件
  alter database backup controlfile to 'e:\bk\control.bk';
    
#################################################################

 

<think>嗯,用户想在Ubuntu 24.04上安装Oracle数据库或者相关软件。首先,我得回忆一下Oracle数据库在Linux上的安装流程。记得Oracle官方并没有提供.deb包,所以可能需要通过Instant Client来连接已有的数据库,或者安装XE版本。不过,XE版本是否有支持Ubuntu 24.04的呢?可能需要查看官网的文档。 用户提到的引用链接是配置ODBC连接Oracle 11G的指南,面提到了Instant Client的下载。所以可能用户真正需要的是连接到已有的Oracle数据库,而不是安装完整的数据库服务器。不过,用户明确说想安装数据库或相关软件,所以两种情况都需要考虑。 首先,安装完整的Oracle数据库Ubuntu上可能比较复杂,因为Oracle主要支持Red Hat和Oracle Linux。可能需要调整依赖项,使用alien转换rpm包,或者找第三方仓库。但XE版本可能更简单,比如Oracle 21c XE有Linux版本,但需要确认是否兼容Ubuntu 24.04。 另一个方向是使用Docker安装,这样避免系统依赖的问题。Oracle提供了官方镜像,这可能是一个更简便的方法,尤其是对于开发环境。 另外,用户可能需要的是客户端工具,比如Instant Client,来运行应用程序连接远程数据库。这时候只需要安装客户端库和配置ODBC驱动即可。 可能需要分步骤说明:先建议使用Docker方式安装数据库服务,或者安装XE版本,如果用户需要本地数据库;如果只需要连接,则安装Instant Client。同时要注意Ubuntu 24.04的兼容性,可能需要检查库的版本,比如libaio1是否可用,或者需要其他依赖。 还要考虑用户可能的错误,比如依赖项缺失导致安装失败,或者权限问题。需要提醒安装前的准备工作,比如更新系统,安装必要的软件包,创建oracle用户和组,配置内核参数等,如果是完整安装的话。 另外,参考用户提供的引用链接是关于配置ODBC的,所以可能需要说明安装Instant Client后如何配置ODBC,但用户的问题是关于安装数据库本身。可能需要区分两种情况,并给出相应的步骤。 最后,生成的相关问题可能需要涉及性能优化、配置管理或者客户端连接问题,这样用户可以根据需要进一步查阅。</think>### 分步指南:在Ubuntu 24.04上安装Oracle相关软件 #### 一、安装Oracle Instant Client(仅客户端连接) 1. **下载Instant Client包** 访问[Oracle官网下载页面](https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html),选择以下两个基础包: - `instantclient-basic-linux.x64-*.zip` - `instantclient-sqlplus-linux.x64-*.zip` 2. **安装依赖库** ```bash sudo apt-get update && sudo apt-get install libaio1 unzip ``` 3. **解压并配置环境** ```bash unzip instantclient-*.zip sudo mkdir -p /opt/oracle sudo mv instantclient_* /opt/oracle/ echo 'export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_11:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc ``` #### 二、通过Docker安装Oracle数据库(推荐开发环境) ```bash # 拉取Oracle官方镜像 docker pull container-registry.oracle.com/database/express:21.3.0-xe # 启动容器 docker run -d -p 1521:1521 --name oracle-xe \ -e ORACLE_PWD=your_password \ container-registry.oracle.com/database/express:21.3.0-xe ``` #### 三、安装Oracle 21c XE(需手动配置) 1. **下载安装包** 从[Oracle官网](https://www.oracle.com/database/technologies/xe-downloads.html)获取`oracle-database-xe-21c-1.0-1.x86_64.rpm` 2. **转换RPM为DEB格式** ```bash sudo apt-get install alien sudo alien --scripts oracle-database-xe-21c-1.0-1.x86_64.rpm ``` 3. **安装依赖项** ```bash sudo apt-get install bc libaio1 sysstat ``` 4. **执行安装** ```bash sudo dpkg -i oracle-database-xe-21c_1.0-2_amd64.deb sudo /etc/init.d/oracle-xe-21c configure ``` > **注意**:Oracle数据库对内存要求较高,建议系统内存≥2GB[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值