Linux下安装Oracle Database 11g Express Edition

前言:

Oracle Database 11g 快捷版 (Oracle Database XE) 是一款基于 Oracle Database 11g 第 2 版代码库的小型入门级数据库,它具备以下优点:免费开发、部署和分发;下载速度快;并且管理简单。

相较于oracle database 标准版与企业版动则2、3G的大小。XE版总共才三百多兆,它定位的是免费入门级数据库,最适合初学者进行oracle数据库的学习。

目前最新版本为Oracle Database XE 11g,只提供32位window和64位Linux的下载。

下载官网:http://www.oracle.com/technetwork/cn/database/database-technologies/express-edition/downloads/index.html

1.在Linux中增加swap空间 

将下载后的oracle压缩包解压到Linux系统下,利用root用户权限指令操作:

[root@localhost Disk1]# rpm -i oracle-xe-11.2.0-1.0.x86_64.rpm

会有以下提示:

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 2042 MB
of swap space.  Configure more swap space on the system and retry the 
installation.


错误:%pre(oracle-xe-11.2.0-1.0.x86_64) 脚本执行失败,退出状态码为 1
错误:oracle-xe-11.2.0-1.0.x86_64: 安裝 已失败


这是由于在安装Linux的时候,不知道swap空间分配多少比较好,所以会随便分配一个,而安装Oracle11g会要求很大的swap空间,所以swap空间不够用,所以需要增加swap空间大小。

        以下的操作都要在root用户下进行,首先先建立一个分区,采用dd命令比如

dd  if =/ dev / zero of =/ home / swap bs = 1024  count = 512000

这样就会创建/home/swap这么一个分区文件。文件的大小是512000个block,一般情况下1个block为1K,所以这里空间是512M。接着再把这个分区变成swap分区。

/ sbin / mkswap  / home / swap

再接着使用这个swap分区。使其成为有效状态。

/ sbin / swapon  / home / swap

现在再用free -m命令查看一下内存和swap分区大小,就发现增加了512M的空间了。不过当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。那我们需要修改/etc/fstab文件,增加如下一行

/ home / swap              swap                    swap    defaults         0   0

你就会发现你的机器自动启动以后swap空间也增大了。

2.组的创建

(1)先查看这些组和用户是否存在:

  # grep oinstall /etc/group

  # grep dba /etc/group

  (2)创建安装oracle 所需的组和用户

  # groupadd osintall

  # groupadd dba

# useradd –m –g oinstall –G dba oracle

检查一下oracle 是否属于组 oinstall 和 dba (#id oracle) :

# id oracle

uid=1001(oracle) gid=1000(oinstall) groups=1001(dba)

再给oracle 设置一个用户口令

# passwd oracle 输入两次密码。


3.oracle安装

再次输入指令:

[root@localhost Disk1]# rpm -i oracle-xe-11.2.0-1.0.x86_64.rpm

输出:

Executing post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.

按所给提示输入:

[root@localhost Disk1]# /etc/init.d/oracle-xe configure

根据提示设置8080、1521端口,还有sys和system的密码,开机是否启动等。

最后输出:

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

说明安装成功。

然后以super user身份运行以下脚本进行配置:

# /etc/init.d/oracle-xe configure


4.设置环境变量

修改/etc/profile文件,添加如下内容:

# Oracle Settings

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOME
ORACLE_SID=XE; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
TNS_ADMIN=$ORACLE_HOME/network/admin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi


注意:以下几点:

XE版本里只能有一个instance, 我将SID修改了以后貌似会报错,所以SID就不用修改了。

BASE和HOME两个变量后尽量不要加斜线 '/' ,有可能会报错,虽然不知到为什么... 同时,TNS_ADMIN这个变量一定要有。

修改完后使用命令 # source /etc/profile 重新加载改文件。

输入 echo $ORACLE_BASE修改是否成功。



5.初始化数据库:

# su Oracle

如果不知道密码 可以用 # passwd oracle重新设置

修改init.ora:

cd  /u01/app/oracle/product/11.2.0/xe/dbs/

cp init.ora initXE.ora

vi initXE.ora

将该文件修改成如下内容:

db_name='XE'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = ('/u01/app/oracle/oradata/', '/u01/app/oracle/oradata/')
compatible ='11.2.0'


切换到oracle用户 使用sqlplus链接数据库

sqlplus /nolog

进入sqlplus控制台

SQL> connect as sysdba

提示输入用户名密码: 使用sys/password登录

启动并装载数据库

SQL>  startup mount

11g xe版本已经内置了一个设置好的数据库 XE, 因此不许要手动创建数据库,但是需要初始化数据库结构

运行一下两行代码:

SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql


等待出现提示complete之后,进行下一步。

如果运行过程中出现database didn‘t open 则需要重新启动并装载数据库。 【Linux公社 http://www.linuxidc.com 】

接下来创建用户,初始数据库中应当已经存在users表,因此直接插入数据就可以了:

SQL> create user myaccount
      2   identified by “mypassword”
      3   default tablespace users;

授权用户:

SQL> grant dba to myaccount;


之后可以exit然后用该用户登录。

插表测试:

SQL> create table test_table (txt varchar2(100) not null);
SQL> insert into test_table values('Hello world !');


插入数据成功后查询

SQL> select * from test_table;

如果查询成功,那么恭喜你,大功告成了!


6.oracle启动关闭简单步骤

a.启动监听与数据库

# su oracle
bash-4.1$ lsnrctl start


b.启动数据库:
su oracle
bash-4.1$ sqlplus /nolog

以sysdba登陆,并执行命令startup 
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup    


c.关闭数据库 

SQL> shutdown immediate

d.退出sqlplus


SQL> exit

bash-4.1$ lsnrctl stop   // oracle用户下执行



7.其它

web界面:http://127.0.0.1:8080/apex

手工启动和关闭Oracle XE的命令是

/etc/init.d/oracle-xe start

/etc/init.d/oracle-xe stop

注:在Linux的应用程序菜单中有oracle的一些选项,可进行图形化的操作


------------------------------部分转载自:http://www.linuxidc.com/Linux/2012-08/66974p2.htm------------------------------------------

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值