Linux非图形界面如何安装oracle数据库

63次阅读
没有评论

共计 7659 个字符,预计需要花费 20 分钟才能阅读完成。

这篇文章主要介绍了 Linux 非图形界面如何安装 oracle 数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

注释:

  一个未开图形界面的 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-devel

1.2)用户创建

          groupadd oinstall

          groupadd dba

          useradd -g oinstall -G dba oracle

         echo 123456 | passwd –stdin 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 =250 32000 100 128  
                                       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 -p

   

1.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=disabled

2、克隆 ORACLE_HOME

         2.1)将远程 ORACLE_HOME 完全复制到本地

                #进入到本地 ORACLE_HOME 路径  

                su – oracle

                cd /data/app/oracle/product/11.2.0.4/

                #将远程 ORACLE_HOME 完全复制到本地

                scp -pr oracle@10.240.1.8:/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 ~]$ cd $ORACLE_HOME/dbs
     [oracle@Database-backup dbs]$ pwd
     /data/app/oracle/product/11.2.0.4/db_1/dbs
     [oracle@Database-backup dbs]$  

     [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 
   
     # 进入数据库
     [oracle@Database-backup dbs]$sqlplus / as sysdba  

         # 开启数据库到 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 状态   — 前提:mkdir -p /data/app/dbf/;chown -R oracle:oinstall /data/app/dbf/
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 ZHS16GBK

 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 表  : @?/sqlplus/admin/pupbld.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 ~]$cd $ORACLE_HOME/lib/

          [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

4、创建数据库时报错

     ERROR at line 1:
     ORA-01092: ORACLE instance terminated. Disconnection forced
     ORA-01501: CREATE DATABASE failed
     ORA-01519: error while processing file ?/rdbms/admin/dtxnspc.bsq near line 5
     ORA-00604: error occurred at recursive SQL level 1
     ORA-30012: undo tablespace UNDOTBS02 does not exist or of wrong type
     Process ID: 35451
     Session ID: 2661 Serial number: 1

      原因:参数文件和创建数据库脚本的默认 undo 空间不一致。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Linux 非图形界面如何安装 oracle 数据库”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计7659字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)