Welcome 微信登录

首页 / 数据库 / MySQL / Linux 非图形界面安装Oracle数据库

注释:一个未开图形界面的Linux OS,如何安装Oracle软件及数据库,如下是2大步骤
  1. 克隆软件
  2. 手动建库
一、克隆软件1、基本配置1.1)系统软件包安装 yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel1.2)用户创建
  • groupadd oinstall
  • groupadd dba
  • useradd -g oinstall -G dba oracle
  • passwd oracle
1.3)文件配置   1.3.1) 环境变量              vi ~oracle/.bash_profile             export ORACLE_BASE=/data/app/oracle             export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1             export ORACLE_SID=test                                                                                # 最多 8个字符 ; 操作系统和 oracle实例关联的纽带 ;ORACLE_HOME+ORACLE_SID==>hash==> 共享内存段             export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin                        #      将安装后的 oracle 命令追加到执行搜索路径             export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib           #           动态库的位置     export nls_lang="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"     #客户端字符集设置              # 加载配置 :oracle 用户注销重新登录 或 source .bash_profile    1.3.2) 主机           echo "10.240.1.7 Database-backup" >>  /etc/hosts    #避免报错startup noumount时报错ORA-00000: normal, successful completion   1.3.3) 软件目录           mkdir -p /data/app/oracle/product/11.2.0.4/db_1           chown -R oracle:oinstall /data/app     1.3.4) 资源限制           1.3.4,1) vim /etc/sysctl.conf  添加到文件底端                    kernel.shmall = 2097152                                                #Total amount of shared memory available(bytes or pages); 页的数量 ;2097152*4096/1024/1024/1024=8G; 如果内存大于 8G,必须修改此参数                    kernel.shmmax = 2147483648                    # 要>= 物理内存的一半 Maximum size of shared memory segment(bytes); 建议 >=sga_max_size(oracle申请内存大小 );                    # 单个程序内存段最大多少 ;4G 的话分为两段 mem_seg1 mem_seg2,影响效率 ;                    kernel.shmmni = 4096                                     #            Maximum number of shared memory segments system-wide; 页的大小 ;                 kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI                                          SEMMSL     Maximum number of semaphores per set; 每个信号对象集的最大信号对象数                                          SEMMNS     Maximum number of semaphores system-wide; 系统范围内最大信号对象数 ;SEMMNS = SEMMSL*SEMMNI                                          SEMOPM        每个信号对象支持的最大操作数                                          SEMMNI     Maximum number of semaphore identifiers; 系统范围内最大信号对象集数                 fs.file-max                                 #系统中所允许的文件句柄最大数目                 net.ipv4.ip_local_port_range          # 应用程序可使用的 IPv4 端口范围                 net.core.rmem_default                 #套接字接收缓冲区大小的缺省值                 net.core.rmem_max                     #套接字接收缓冲区大小的最大值                 net.core.wmem_default                  #套接字发送缓冲区大小的缺省值                 net.core.wmem_max                   #套接字发送缓冲区大小的最大值                 #注释:OS32bit,oracle 最多申请 1.7G; 应该装64bitOS                 #加载参数 sysctl -p1.3.4 ,2) /etc/security/limits.conf  oracle 在 linux 上操作的limit                        [root@dba ~]# grep -v "^#" /etc/security/limits.conf                     oracle soft nproc 2047      #oracle 在 linux上打开 proc 数量                     oracle hard nproc 16384                     oracle soft nofile 1024          #oracle 在 linux上打开 file 的数量                     oracle hard nofile 65536                     [root@dba ~]# grep "limit" /etc/pam.d/system-auth                     session   required      pam_limits.so            1.3.4,3) 关闭防火墙、SELINUX                        iptables -F                       更改 /etc/selinux/config 文件 -->SELINUX=disabled2、克隆 ORACLE_HOME       2.1)复制        scp  db_1 oracle@10.240.1.7:/data/app/oracle/product/11.2.0.4/db_1/     2.2)执行clone.pl 克隆脚本更改参数配置(ORACLE_SID、ORACLE_HOME)      $ cd /data/app/oracle/product/11.2.0.4/db_1/clone/bin             $ ls
                  clone.pl prepare_clone.pl
             $ perl clone.pl  ORACLE_SID= test ORACLE_BASE=/data/app/oracle ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1/ ORACLE_HOME_NAME=OraDb11g_home1                         .......最后提示如下信息表示,克隆成功...
                    The following configuration scripts need to be executed as the "root" user.                    /data/app/oracle/product/11.2.0.4/db_1/root.sh                    To execute the configuration scripts:                    1. Open a terminal window                    2. Log in as "root"                    3. Run the scripts                              The cloning of OraDb11g_home1 was successful.
                              ................... 二、手动建库1、配置参数文件 (测试环境简单参数,若有需求,可补充 )       [oracle@Database-backup dbs]$ cat inittest.ora 
       db_name=test
       db_files = 80
       db_file_multiblock_read_count = 8
       log_checkpoint_interval = 10000
       processes = 50
       parallel_max_servers = 5
       log_buffer = 32768
       max_dump_file_size = 10240    # limit trace file size to 5 Meg each
       global_names = TRUE
       #control_files = (ora_control1, ora_control2)
       sga_max_size=300M
       sga_target=300M
       *.local_listener="(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=10.240.1.7)(Port=1521)))"  #避免启动数据库时报错(ORA-00119、ORA-00130 local_listener配置无效)
       [oracle@Database-backup dbs]$2、启动数据库到nomount        SQL> startup nomount
          ORACLE instance started.          Total System Global Area  313159680 bytes
          Fixed Size              2252824 bytes
          Variable Size            104861672 bytes
          Database Buffers     201326592 bytes
          Redo Buffers              4718592 bytes
        SQL>  3、创建数据库,到open状态
SQL>CREATE DATABASE test
     USER SYS IDENTIFIED BY change_on_install     USER SYSTEM IDENTIFIED BY manager     LOGFILE GROUP 1 ( "/data/app/dbf/redo01.log") SIZE 100M,             GROUP 2 ("/data/app/dbf/redo02.log") SIZE 100 M,             GROUP 3 ("/data/app/dbf/redo03.log") SIZE 100 M     MAXLOGFILES 5     MAXLOGMEMBERS 5     MAXLOGHISTORY 1     MAXDATAFILES 100     MAXINSTANCES 1     CHARACTER SET GBK     NATIONAL CHARACTER SET AL16UTF16     DATAFILE "/data/app/dbf/system01.dbf" SIZE 325M REUSE     EXTENT MANAGEMENT LOCAL     SYSAUX DATAFILE "/data/app/dbf/sysaux01.dbf" SIZE 325 M REUSE     DEFAULT TABLESPACE users datafile "/data/app/dbf/users.dbf" size 50m     DEFAULT TEMPORARY TABLESPACE tempts1          TEMPFILE "/data/app/dbf/temp01.dbf"          SIZE 20 M REUSE     UNDO TABLESPACE undotbs          DATAFILE "/data/app/dbf/undotbs01.dbf"          SIZE 200 M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;          Database created.             SQL> 4、确认数据库状态        SQL> select status from v$instance;       STATUS
       ------------
       OPEN       SQL> 5、 将DBF 设置自动扩展,避免稍后执行脚本加载数据字典表/包/scott用户 时空间不足          alter database datafile 1 autoextend on;
          alter database datafile 2 autoextend on;
          alter database datafile 3 autoextend on;
          alter database datafile 4 autoextend on;6、创建数据字典/包/scott用户          数据字典视图      : @?/rdbms/admin/catalog.sql          系统包/存储过程 : @?/rdbms/admin/catproc.sql          用户PROFILE表  : @?/rdbms/admin/pupbld.sql          测试用户scott    :@?/rdbms/admin/scott.sql以上已完成安装oracle软件及数据库。问题整理和完善1、***** sqlplus / as sysdba 提示未找到libclntsh.so.11.1文件          [oracle@Database-backup ~]$ sqlplus / as sysdba
          sqlplus: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory          [oracle@Database-backup lib]$ ls libclntsh.so*
          libclntsh.so     libclntsh.so.10.1 -->只有10.1 cp -rp 连带属性完全复制一份,正常若有libclntsh.so.11.1文件可能是权限问题。
          [oracle@Database-backup lib]$ cp -rp  libclntsh.so.10.1 libclntsh.so.11.1
          [oracle@Database-backup lib]$ sqlplus / as sysdba          ... 正常.2、用于sys密码登录          orapwd file=orapwtest password=test 3、ORA-00904: "wm_concat":invalid identifier
       执行创建WMSYS用户脚本
        SQL>@?/rdbms/admin/owmctab.plb
       SQL>@?/rdbms/admin/owmaggrs.plb
       SQL>@?/rdbms/admin/owmaggrb.plb更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址