Linux 下安装OracleXE 11g

来源:互联网 发布:司考倒计时软件 编辑:程序博客网 时间:2024/06/06 03:19

操作系统

[oracle@RAC02 ~]$ lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: OracleServer
Description: Oracle Linux Server release 6.6
Release: 6.6
Codename: n/a
[oracle@RAC02 ~]$

数据库版本

oracle-xe-11.2.0-1.0.x86_64.rpm.zip

oracle-xe-11.2.0-1.0.x86_64.rpm

 

SQL> select * from V$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

 

安装过程

在安装之前要注意,oracle对于系统的空间是有要求的,安装前可以查看下:

使用df -h查看tmpfs的大小,oracle XE 在init.ora文件中给出了最低要求,默认是1G 。

这里我们要把tmpfs扩充为2G:

1.修改/etc/fstab文件:

找到此行:tmpfs                   /dev/shm                tmpfs   defaults      0 0

修改为:    tmpfs                   /dev/shm                tmpfs   defaults,size=2048M      0 0

2.重新加载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

说明重新加载成功。 【Linux公社 http://www.linuxidc.com 】

二、做完这些,我们还要做一些安装一些依赖包:

yum install libaio*

来安装libaio包

之后解压安装包,

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

 

三、修改/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

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

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

四、修改/etc/hosts文件,添加如下内容:

127.0.0.10 hostname(hostname根据实际情况填写)

五、以super user身份运行以下脚本进行配置:

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

包括http的端口,如果你的服务器上运行了tomcat 而且没有改过端口配置 要把默认的8080端口换掉以免冲突。

另外,程序还会要求你为默认管理员账户 sys 设置密码。随后会等待一段时间,请耐心。

安装结束后,系统会自动建立一个名为oracle的用户,home dir位置在 /u01/app/oracle 也就是数据库安装的位置。

六、切换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 hcy
      2   identified by '123456'
      3   default tablespace users;

授权用户:

SQL> grant dba to hcy;


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

插表测试:

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


插入数据成功后查询

SQL> select * from test_table;

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

一些问题:

如果出现错误:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist


这里会出现坑

如果是自己虚拟机的话。分配的内存不够大的话

还需要做以下步骤

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'

 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


 之后用pl/sql会有可能出现oracle 12514的错误

修改这个文件  加一个XE的实例

vim /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora

如下:

SID_LIST_LISTENER =
  4   (SID_LIST =
  5     (SID_DESC =
  6       (SID_NAME = PLSExtProc)
  7       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
  8       (PROGRAM = extproc)
  9     )
 10      (SID_DESC =
 11       (SID_NAME = XE)
 12       (ORACLE_HOME =  /u01/app/oracle/product/11.2.0/xe)
 13    )
 14   )
 15 
 16 LISTENER =
 17   (DESCRIPTION_LIST =
 18     (DESCRIPTION =
 19       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
 20       (ADDRESS = (PROTOCOL = TCP)(HOST = oral11g.localdomain )(PORT = 1521))
 21     )
 22   )
 23 
 24 DEFAULT_SERVICE_LISTENER = (XE)


然后重启oracle 在起监听

第一步:登陆 
root登陆之后切换到oracle用户上,输入 

su oracle

第二步:连接 
在oracle用户下,输入 
sqlplus /nolog

第三步:使用管理员权限 
输入 
connect /as sysdba

第四步:关闭oracle服务

shutdown(或 shutdown Immediate 
第五步:起动

startup
起动关闭参数
startup参数 
不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式! 
nomount,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用! 
mount,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了! 
谢谢!不准确的地方请指教! 
shutdown

shutdown的参数 
Normal 需要等待所有的用户断开连接 
Immediate 等待用户完成当前的语句 
Transactional 等待用户完成当前的事务 
Abort 不做任何等待,直接关闭数据库 
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接 
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。 
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。 
abort 执行强行断开连接并直接关闭数据库。 

之后进入$ORACLE_HOME 
起动监听
cd /u01/app/oracle/product/11.2.0/xe/bin
./lsnrctl start




原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 退休晚办一个月怎么办 三方协议违约了怎么办 网签解约了档案怎么办 大学生网贷欠6万怎么办 触摸灯开关坏了怎么办 手机开关键坏了怎么办 吃了狗咬死的鸡怎么办 上古卷轴5龙死了怎么办 我的世界损坏该怎么办 小黑豹弩打不准怎么办 被黑虫子咬了怎么办 衣服上有臭虫味怎么办 想干快递代理点怎么办 医生不给开病假怎么办 dnf东西卖错了怎么办 魅蓝3s指纹失灵怎么办 骑马与砍杀受伤怎么办 睫毛被眼皮压着怎么办 做小姐遇到老的怎么办 快结婚了不是处怎么办 他不主动联系我怎么办 跟婆婆吵架闹僵怎么办 有个农村婆婆会怎么办 媳妇要和我离婚怎么办 他不离婚我该怎么办 老婆要离婚我不想理怎么办 和婆婆相处不来怎么办 跟婆婆相处不来怎么办 我婆婆对我不好怎么办 小三不理我了怎么办 嫁错了人好痛苦怎么办 天生的鼻子歪了怎么办 跟人打架脸肿了怎么办 报案后也没人理,怎么办 想打架喊不到人怎么办 想去整容又没钱怎么办 人长得丑没自信怎么办 买了假苹果手机怎么办 6s指纹排线坏了怎么办 苹果6splus16g内存不够用怎么办 苹果6s内存满了怎么办