zoukankan      html  css  js  c++  java
  • Linux下Oracle 11G XE 安装笔记

    操作系统

    [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对于系统的空间是有要求的,安装前可以查看下:

    一、使用free -m查看交换空间大小,oracle XE 要求至少有1.2G 的交换空间,扩充的方法在我另外一篇博文上已经说明。传送门 http://www.linuxidc.com/Linux/2012-08/66973.htm

    使用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 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;

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

    一些问题:

    如果出现错误:

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


    一般是由于数据库没有启动,需要以DBA身份登录数据库后输入startup

    在做之前请确保/u01/app/oracle/product/11.2.0/xe/dbs/文件夹中 存在init<SID>.orc文件存在

    ORA-00845:MEMORY_TARGET not supported on this system

    请查看你的init.orc文件中memory_target项中的值是否小于tmpfs,否则请扩充tmpfs容量。

    ORA-44410:XE edition single instance violation error

    XE版本中只能有唯一一个instance,笔者安装时,程序自动生成了一个叫做XE的instance并且路径已经设置好,至于如何添加新的instance请高人指明。

    或者

    保证你环境变量没有以'/'结尾 同时TNS_ADMIN变量已经设置。至于为什么这么改..希望有高人也能告诉我。

    ORA-01261:Parameter db_recovery_file_dest destination string connot be translated

    ORA-01262:Stat failed on a file destination directory

    关于这个错误,比较无语,在init.orc中,db_recovery_file_dest destination 这一项的初始值是"<ORACLE_BASE>/flash_recovery_area"

    如果你只修改了<ORACLE_BASE>你就会得到这个错误,因为在$ORACLE_BASE下只有一个文件叫做fast_recovery_area,把后面的文件名修改匹配后,问题解决。

  • 相关阅读:
    2019-7-29-WPF-元素裁剪-Clip-属性
    2018-2-13-C#-枚举转字符串
    2018-2-13-C#-枚举转字符串
    2018-2-13-WPF-DelegateCommand-出现Specified-cast-is-not-valid
    什么是可串行化MVCC
    年轻就该多尝试,教你20小时Get一项新技能
    初识一周Linux(Ubuntu)我学会了什么
    Red Hat Linux的ftp安装和配置方法
    copy_{to, from}_user()的思考
    自定义注解!绝对是程序员装逼的利器!!
  • 原文地址:https://www.cnblogs.com/chenjunjie/p/5590253.html
Copyright © 2011-2022 走看看