zoukankan      html  css  js  c++  java
  • ubuntu14.0安装 oracle instant client(oracle 12c)

    安装环境

    本文介绍在ubuntu14.04系统(X64)上安装Oracle Instant Client,安装版本为11.2.0.4.0(读者需要按照自己安装版本修改相应的版本号)

    安装RPM文件

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
    oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
    • 使用alien转换PRM文件到DEB文件并安装(sudo apt-get install alien)

    • 安装alien后,执行下面的命令安装Oracle客户端

    sudo alien -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
    sudo alien -i oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
    sudo alien -i oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    配置Oracle环境

    • 安装以下步骤新增tnsnames.ora文件:

    cd /usr/lib/oracle/11.2/client64
    sudo mkdir -p network/admin
    sudo vi tnsnames.ora
    • 填写如下内容,或者直接从oracle服务器端将相同目录下的这个文件拷贝过来。

    # tnsnames.ora Network Configuration File
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.100.126.174)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orclpdb)
        )
      )
    • 链接Oracle的库文件到Oracle目录:

    sudo ln -s /usr/include/oracle/11.2/client64 /usr/lib/oracle/11.2/client64/include

    配置环境变量

    在登录用户的profile中增加以下内容:

    export ORACLE_HOME=/usr/lib/oracle/11.2/client64
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=$PATH:$ORACLE_HOME/bin
    export NLS_LANG="AMERICAN_AMERICA.UTF8"
     上面的内容是从https://blog.csdn.net/hanzengyi/article/details/70849091 复制过来的,需要注意的是ORCL是登录时@后面的名字,而orclpdb是在oracle服务端上通过
    select name,pdb from v$services; 查到的pdb对应的name,切记。
    下面是我查出来的结果,找到ORCLPDB 对应的NAME,即orclpdb,这个就相当于zbudcdb_stdby
    NAME                 PDB
    -------------------- --------------------
    orclXDB                CDB$ROOT
    orcl                   CDB$ROOT
    SYS$BACKGROUND         CDB$ROOT
    SYS$USERS              CDB$ROOT
    orclpdb                ORCLPDB
    
    
    注意:查看服务端的监听状态会有以下信息:
    [oracle@localhost admin]$ lsnrctl status
    
    LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 19-APR-2018 03:56:10
    
    Copyright (c) 1991, 2016, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
    Start Date                19-APR-2018 02:42:15
    Uptime                    0 days 1 hr. 13 min. 55 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /orcl/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
    Listener Log File         /orcl/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=5500))(Security=(my_wallet_directory=/orcl/app/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
    Services Summary...
    Service "6a02d18fca293032e055000000000001" has 1 instance(s).
      Instance "orcl", status READY, has 1 handler(s) for this service...
    Service "orcl" has 1 instance(s).
      Instance "orcl", status READY, has 1 handler(s) for this service...
    Service "orclXDB" has 1 instance(s).
      Instance "orcl", status READY, has 1 handler(s) for this service...
    Service "orclpdb" has 1 instance(s).
      Instance "orcl", status READY, has 1 handler(s) for this service...
    The command completed successfully

    有:Service "orclpdb" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...,证明监听启动正常。


    另外附上远程登录用户的创建过程。
    一 先将容器切换成pdb,详见https://blog.csdn.net/hanzengyi/article/details/70849091
    1 查看系统中的容器:
       select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    2 先打开pdb容器:
       alter pluggable database orclpdb open;
    3再查看容器,pdb应该是READ,WRITE:
       select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    4切换容器:
       alter session set container=orclpdb;
    5查看当前使用的容器
       select sys_context ('USERENV', 'CON_NAME') from dual; 
    
    

    二 创建表空间

    create tablespace test_space 
    datafile '/usr/local/yrm/oracle_data/test_space.dbf' 
    size 50M 
    autoextend on next 50m maxsize 2048m 
    extent management local;
    
    create temporary tablespace test_space_temp
    tempfile '/usr/local/yrm/oracle_data/test_space_temp.dbf'
    size 32m
    autoextend on next 32m maxsize 1024m
    extent management local;
    
    

    三 创建用于远程登陆的用户

    create user test_user identified by 123456 default tablespace test_space
    temporary tablespace test_space_temp;
    
    grant connect,resource to test_user;
    grant dba to test_user;
    
    alter user test_user account unlock identified by 123456;

    四 在oracle主机上启动监听及服务

    #su - oracle #切换到 oracle 用户且切换到它的环境
    $lsnrctl status #查看监听及数据库状态
    $lsnrctl start #启动监听
    $sqlplus / as sysdba #以 DBA 身份进入 sqlplus
    #登陆之后启动服务:startup,shutdown为停止服务。

    五 测试远程登陆 sqlplus test_user/123456@ORCl。

      成功!

    oracle的安装与远程登陆太瘠薄难呢,濒临崩溃~ ,欢迎留言探讨。

  • 相关阅读:
    第30周日
    第30周六
    第30周五
    第30周四
    第30周三
    第30周二
    第30周一
    第29周日
    软件架构学习小结
    数据挖掘十大经典算法
  • 原文地址:https://www.cnblogs.com/airduce/p/8875443.html
Copyright © 2011-2022 走看看