因为之前做的项目使用的是 oracle 数据库,版本为 11G R2
和 12C
,这东西跟 mysql 比起来实在不好用,不过迫于无奈 但是有需要自己这边也部署一下,找了一些资料,在 centos 上安装比较方便,最后安装了 Oracle Database Express Edition (XE) Release 11.2.0.2.0 (11gR2)
,这个版本是 oracle 在 2014.6.4 发布的,在此记录一下。
Centos7 安装 Oracle 数据库 资源准备
服务器一台,这里使用的是 Centos7(网上看的 Ubuntu 的资料都很麻烦,为此我们搞了一台服务器,重置成了 Centos)
oracle 数据库的安装包,点击跳转资料下载
安装步骤 1 2 3 4 5 6 7 8 9 10 // 在服务器下载好安装包 $ wget https://gonelist.cugxuan.cn/d/app/linux/oracle-xe-11.2.0-1.0.x86_64.rpm.zip // 解压安装 $ unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip $ cd Disk1/ $ ls oracle-xe-11.2.0-1.0.x86_64.rpm response upgrade // 此时已经看到 oracle-xe-11.2.0-1.0.x86_64.rpm 在 Disk1 文件夹中 // 安装 oracle 数据库 $ rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
执行完操作之后一般会看到报错,说至少需要 2G 的 swap 空间
This system does not meet the minimum requirements for swap space. Based on the amount of physical memory available on the system, Oracle Database 11g Express Edition requires 2048 MB of swap space. This system has 0 MB of swap space. Configure more swap space on the system and retry the installation.
设置交换空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 // 创建 swap 文件夹 $ mkdir /usr/swap $ ls /usr bin etc games include lib lib64 libexec local sbin share src swap tmp // 可以看到已经有 swap 文件夹了 $ cd /usr/swap/ $ ll 总用量 0 // 此时总用量为 0 // 执行下面的操作,设置 swap 为 3G $ dd if=/dev/zero of=swapfile bs=1G count=3 记录了3+0 的读入 记录了3+0 的写出 3221225472字节(3.2 GB)已复制,23.7552 秒,136 MB/秒 // 执行 ls 看到有 swapfile 了 $ ls swapfile $ mkswap /usr/swap/swapfile 正在设置交换空间版本 1,大小 = 3145724 KiB 无标签,UUID=93eeb4ad-a26e-47c2-9aa9-6e68e3dd27f6 $ swapon /usr/swap/swapfile swapon: /usr/swap/swapfile:不安全的权限 0644,建议使用 0600。 // 因为有安全提示,所以设置一下 swapfile 的权限 $ chmod 600 swapfile // 设置 fstab 让其永久生效 $ vi /etc/fstab // 在最后面加一行 /usr/swap/swapfile swap swap defaults 0 0 // 重启 centos $ reboot // 重启之后,可以看到 swap 已经生效 $ free total used free shared buff/cache available Mem: 1882000 637968 166216 454060 1077816 618592 Swap: 3145724 26880 3118844
安装配置 解决了 swap 空间的要求,继续安装即可
1 2 3 4 5 6 7 8 9 10 11 12 // 因为已经重启,所以重新进入 Disk1 $ cd Disk1/ $ rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm 正在升级/安装... 1:oracle-xe-11.2.0-1.0 ################################# [100%] Executing post-install steps... You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database. $ /etc/init.d/oracle-xe configure // 按照默认提示安装即可 // 中间会配置 HTTP,oracle 端口 // SYS 和 SYSTEM 的密码 // 是否开机启动
会自动建立一个名为 oracle 的用户,目录在 /u01/app/oracle。
会建立 dba 组,oracle 用户属于这个组。 会自动生成一个数据库实例,名为 XE,在 /u01/app/oracle/product/11.2.0/xe/dbs/spfileXE.ora
此时需要配置环境变量
1 2 3 4 5 6 7 $ vi /etc/profile // 在最后面加入以下内容 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=XE export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
然后退出重新登陆之后就可以使用 sqlplus
命令连接数据库了
创建用户 记录一下创建用户的命令,用户名为 USERNAME,密码为 PASSWORD,按照需要修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 创建表空间 CREATE TABLESPACE "USERNAME" --空间名 LOGGING DATAFILE '/u01/app/oracle/oradata/XE/username.dbf' SIZE 32M AUTOEXTEND ON MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 创建用户 CREATE USER USERNAME IDENTIFIED BY PASSWORD --账号/密码 ACCOUNT UNLOCK DEFAULT TABLESPACE USERNAME 为用户授权 GRANT CONNECT,RESOURCE TO USERNAME; --表示把 connect,resource权限授予USERNAME 用户 GRANT DBA TO USERNAME; --表示把 dba权限授予给 USERNAME 用户
卸载 直接使用 rpm 删除
1 $ rpm rpm -e oracle-xe-11.2.0-1.0.x86_64
资料下载
参考资料