本文为参考博文完成,链接:http://blog.csdn.net/reda0821/article/details/7816562
一、安装之前,检查系统是否符合要求:
1.使用free -m查看交换空间(swap,即linux的虚拟内存,当内存不够的时候通过一定的技术手段把物理内存里的一些很长时间不用的东西暂时存放在这段空间里 然后空出来一些内存供程序使用)大小,oracle XE 要求至少有1.2G 的交换空间,扩充的方法:
需要superuser身份,首先 sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。
在这里我们创建了一个1G大小的空文件(bs表示每次写1024bit, 总共写1048576次)
然后我们把这个文件设置为交换文件
sudo mkswap /swapfile
这里是mkswap命令的参数 需要的可以加上
然后
sudo swapon /swapfile
开启交换分区即可。
然后
sudo swapon -s 来查看 如果出现
/swapfile file10485720-1
说明设置成功
2.使用df -h查看tmpfs的大小,oracle XE 在init.ora文件中给出了最低要求,默认是1G 。
这里我们要把tmpfs扩充为2G:
修改/etc/fstab文件:
找到此行:tmpfs /dev/shm tmpfs defaults 0 0
修改为: tmpfs /dev/shm tmpfs defaults,size=2048M 0 0
重新加载tmpfs:
使用命令:
#umount /dev/shm; mount /dev/shm;
然后输入
df -h /dev/shm
查看输出:
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.0G 492M 1.6G 25% /dev/shm
说明重新加载成功。
3.安装一些必要依赖包:
sudo yum install libaio*
来安装libaio包
二、安装oracle-xe-11
解压zip
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
进入Disk1文件夹
安装解压后的rpm包
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
安装成功后会提示成功,然后以super user身份运行以下脚本进行配置:
# /etc/init.d/oracle-xe configure
这里,如果服务器上运行了tomcat 在8080,要改掉tomcat的8080以免冲突。
设置密码后,等待一段时间。
安装结束后,系统会自动建立一个名为oracle的用户,home dir位置在 /u01/app/oracle 也就是数据库安装的位置。
设置环境变量:
修改/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默认XE即可。
修改后 source /etc/profile 重新加载改文件。
输入 echo $ORACLE_BASE修改是否成功。
初始化数据库:
# 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/flush_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
如果出现说数据库未开启
oracle:ORA-01109:database not open
则alter database open开启
耐心等待。
创建用户:
SQL> create user username
2 identified by “pwd”
授权用户:
SQL> grant dba to myaccount;
之后可以exit然后用该用户登录。
测试建表插入数据,成功即完成。