windows下如何访问linux下的oracle数据库

我们从上面可以看出:

  需要

    1.oracle client客户端(这儿使用,oracle instance client ,简单)

    2.odbc驱动   oracle instance client默认就有

    3.linux下需要安装Linux oracle 服务器

    4.两个配置文件tnsnames.ora,listener.ora

      tnsnames.ora  ====》客户端连接服务器配置文件

       listener.ora   ===》服务器侦听服务配置

linux  oracle服务器 listener.ora:       

[oracle@localhost admin]$ pwd
/home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin

 

  首先安装Linux 下的oracle,可以看这个https://www.cnblogs.com/bwbfight/p/9621218.html

安装好后Linux 下需要做的事 

  1 oracle虚拟机需要固定IP,才能被外面的客户端连接上来

           Root登陆linux机器

      系统/首选项/网络连接

        重启系统

  2  oracle用户启动oracle服务器

  3 在linux环境中,用sqlplus工具访问oracle服务

    在oracle用户下,用sqlplus访问oracle服务 

      必须用scott/aa @orcl这种形成访问成功,则后台服务器程序才能访问成功

    在非oracle用户下(比如在test03),用sqlplus访问oracle服务

      必须用scott/aa@orcl这种形成访问成功,则后台服务器程序才能访问成功

       chmod 777   /home/oracle_11/app   -R       (root用户) 修改oracle家目录权限

       同时配置.bash_profile       

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

umask 022 
ORACLE_BASE=/home/oracle_11/app
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$PATH:./:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=./lib:$HOME/lib:/usr/lib:$ORACLE_HOME/lib 
#LANG=C 
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH 

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG

根据自己环境修改

 ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH

4 在win环境中,用sqlplus工具访问linux环境下的oracle服务( 192.168.43.252为linux服务器ip)

       1 Ping 192.168.43.252

  2 telnet 192.168.43.252 1521  防火墙没有把端口给封住

      //防火墙 linux服务器 1521 端口 放开

 linux下: ufw disable

 

接着Linux开启oracle服务并监听:

  1. 启动oracle服务 (启动oracle服务器 必须使用oracle用户)-

启动oracle服务 (启动oracle服务器 必须使用oracle用户)-
            [oracle@localhost ~]$ sqlplus /nolog
            
            SQL> connect /as sysdba
              Connected to an idle instance.
            SQL> startup             
              ORACLE instance started.
            
              Total System Global Area  780824576 bytes
              Fixed Size                  2217424 bytes
              Variable Size             599788080 bytes
              Database Buffers          176160768 bytes
              Redo Buffers                2658304 bytes
              Database mounted.
              Database opened.

 

  2.启动监听服务器 

[oracle@localhost ~]$ lsnrctl start
            
            LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 31-JAN-2016 06:12:24
            
            Copyright (c) 1991, 2009, Oracle.  All rights reserved.
            
            Starting /home/oracle_11/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
            
            TNSLSNR for Linux: Version 11.2.0.1.0 - Production
            System parameter file is /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
            Log messages written to /home/oracle_11/app/diag/tnslsnr/localhost/listener/alert/log.xml
            Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
            Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
            
            Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

注意:

 

 

ok... Linux下的事情干完了,

 

接着windows下接着干活

   1. oracle instance client 安装:https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html(注意是32位还是64位,不然不工作了) 

   2.解压后放到固定目录:

      我的是放到e盘:E:\oracle_client\instantclient_18_3

配置

  Win机器的tnsnames.ora,新建tnsnames.ora放到E:\oracle_client\instantclient_18_3下

内容如下

# tnsnames.ora Network Configuration File: E:\oracle_client\instantclient_18_3
SECMNGADEMIN =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.32.253)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

HOST:服务器IP地址 
PORT:oracle端口号 
SERVICE_NAME:oracle数据库上的实例名称(安装时如果没有指定一般为orcl)

配置windows环境变量

    TNS_ADMIN =E:\oracle_client\instantclient_18_3

    NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    说明:TNS_ADMIN,是指tnsnames.ora文件所在的目录名。

      如果指定到客户端目录,则必须把tnsnames.ora文件复制过来才可以

     设置ORACLE_HOME环境变量

    ORACLE_HOME=E:\oracle_client\instantclient_18_3

    Path后面加一个;E:\oracle_client\instantclient_18_3

在windows  cmd测试

    sqlplus scott/tiger@orcl (tiger为密码),如果能够执行,说明配置正确

可能会报错

oracle的12154错误排查

分别在linux 下和windows下输入:sqlplus scott/aa@orcl

    1  .linux 下用test03(其他用户)不能访问oracle问题排查

    2.     windows下cmd访问出现如下

  ERROR:

    ORA-12154: TNS:could not resolve the connect identifier specified

    ORA-12154 11.2.0.1.0 ORA-12154

 

 

2 解决方法

[oracle@localhost admin]$ pwd

    /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin

[oracle@localhost admin]$ ls

看看

   listener.ora   ===》服务器侦听服务配置

  shrept.lst          

  tnsnames.ora  ====》客户端连接服务器配置文件     wbm01客户使用这个文件连接服务

              要保证wbm01用户能访问这个目录:ADR_BASE = /home/oracle_11/app

3 解决步骤

====> 然后切换用户

[wbm01@localhost app]$ cd /home/oracle_11/app

[wbm01@localhost app]$ pwd

  /home/oracle_11/app

[wbm01@localhost app]$ ls

  admin  cfgtoollogs  checkpoints  diag  flash_recovery_area  oracle  oradata  oradiag_oracle

[wbm01@localhost app]$ cd admin/

    -bash: cd: admin/: 权限不够

解决如下:

root用

       chomd 775 /home/oracle_11/app (家目录)

windows下继续

然后配置plsql或者navicat

我用的navicat,工具-》选项

  

然后就可以连接数据库了

ok...成功

 

现在来配置 oracle  odbc

  oracle instance client   里面 安装路径E:\oracle_client\instantclient_18_3默认就有

    

如果没有请下载 1. oracle instance client 安装:https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html(注意是32位还是64位,不然不工作了) 

  

 就可以了!

一定要分请你是32位还是64位,如果不行请自行换成相应位数(win7 32/64都支持)

 如果你是64位系统这个数据源ODBC
    需要运行C:\Windows\SysWOW64文件夹下的

 

或者控制面板-》管理工具-》数据源odbc-》添加

 

Data Source Name ,descript随便写

TNS service name:需要和tnsnames.ora配置的名字一样

userid:数据库名字(如scott等)

点击 test connection ,弹出成功连接即可!

ok........

搞定,bye 了个bye.... 忒麻烦了.....

 

 

  

 

转载于:https://www.cnblogs.com/bwbfight/p/9639938.html

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库迁移到Linux操作系统可以带来许多好处。首先,Linux操作系统是一种高度稳定和可靠的平台,它能够提供更好的性能和可用性。与Windows操作系统相比,Linux更加稳定,并且更适用于运行大型数据库系统。此外,Linux还具有更好的安全性,能够保护数据库免受潜在的威胁和攻击。 迁移到Linux还可以带来更好的扩展性和灵活性。Linux操作系统具有更好的性能和资源管理能力,能够更好地满足数据库的需求。此外,Linux还支持开源技术和工具,这为安装和管理数据库提供了更多选择和灵活性。例如,可以使用开源软件如Docker等来创建和管理数据库的容器化实例,简化数据库的部署和管理过程。 同时,迁移到Linux还可以降低成本。Linux是一个开源的操作系统,相对于商业操作系统来说,它的许可费用更低甚至是免费的。此外,Linux还提供了丰富的开源工具和技术,可以减少购买和维护专有软件的成本。 然而,迁移到Linux也需要注意一些问题。首先,迁移过程需要进行充分的规划和测试,以确保数据库能够在新环境下正常运行。此外,还需要考虑到与其他系统和组件的集成,以确保各个部分能够正常协作。另外,操作人员可能需要学习和适应Linux平台,以便能够熟练地管理和操作数据库。 总的来说,将Oracle数据库迁移到Linux操作系统可以提供更高的性能、可用性和安全性,同时还能够降低成本并提供更好的扩展性和灵活性。然而,迁移过程需要进行充分的规划和测试,并确保与其他系统的集成。在适应新环境和学习新技能的同时,可以获得更好的数据库管理和操作经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值