zoukankan      html  css  js  c++  java
  • oracle怎么建立本地连接

    sqlplus连接oracle数据库(连接本地oracle数据库和连接远程的oracle数据库)

    虽然我们现在平时都是使用PLSQL Developer这个软件工具了,但是我们还是要了解sqlplus

    想要成功连接本地的oracle数据库,首先要确保本地的这2个服务是处于启动状态

    (重要)OracleOraDb11g_home1TNSListener  (oracle的监听器服务)
    (重要)OracleServiceORCL  (oracle的数据库服务)

    如下图是连接本地oracle数据库

    scott是oracle数据库中预设的一个用户,我们一般把scott用户的密码设置为tiger,原因是scott是一个人名,scott这个人是oracle公司的第一个员工,据说,据说scott这个人为oracle公司做出比较大贡献,所以oracle公司的老板为了纪念他,所以在oracle数据库中设置了scott这个用户,而scott这个家伙养了一直宠物猫,这只猫的名字就叫tiger(老外真有意思,居然把猫取名叫tiger,果然够霸气)

    注意:如果scott用户被锁了,可以先解锁,解锁完后再修改一下scott的密码

    开始-->运行-->cmd
    输入 :sqlplus /nolog 回车
    输入 :connect / as sysdba 回车
    用户解锁 : alter user scott account unlock 回车
    修改密码:alter user scott identified by tiger

    如下图:

    win键 + R再输入cmd


    输入 :sqlplus /nolog 回车
    输入 :connect / as sysdba 回车或者conn / as sysdba 回车
    用户解锁 : alter user system account unlock; 回车(注意:语句末尾要记得加;分号)
    修改密码:alter user system identified by system;(注意:语句末尾要记得加;分号)还有一点要注意:修改密码时,密码的第一个字符不能是数字

    conn是connect的缩写,两者效果完全一样

    sqlplus连接上oracle数据库后,可以用conn来切换/转换用户。connect和conn一样,只不过conn是connect的缩写

    oracle数据库中有2个文件很重要

    listener.ora
    tnsnames.ora

    文件所在的目录是D:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN(
    意:
    每个人的oracle数据库安装目录是不同的)

    测试数据库是否连通,可以使用命令tnsping 主机字符串
    tnsping可以测试与远端数据库服务连接是否正常


    比如:

    tnsping orcl 注意这里的orcl表示主机字符串,就是tnsnames.ora文件中的那个名字


    tnsping LINK192.168.117.66  注意LINK192.168.117.66表示主机字符串,就是tnsnames.ora文件中的那个名字

    连接远程数据库,有2种写法,如下图

    写法1

    sqlplus 用户名/密码@192.168.117.66:1521/orcl 注意端口号后面跟的orcl表示数据库的服务名

    写法2

    sqlplus 用户名/密码@//192.168.117.66:1521/orcl 注意端口号后面跟的orcl表示数据库的服务名

    还有一种写法,就是在@后面写主机字符串,如下图

    接下来,我们说正事,使用sqlplus怎么连接本地oracle数据库和怎么连接远程oracle数据库

    使用sqlplus怎么连接本地oracle数据库

    先使用cmd命令进入dos窗口

    1.sqlplus 用户名/密码  比如:sqlplus system/system

    也可以sqlplus 用户名/密码@本机ip地址:端口号/本地数据库服务名  比如:sqlplus system/system@127.0.0.1:1521/orcl或者

    sqlplus system/system@localhost:1521/orcl

    注意:这里的orcl数据库服务名

    注意:sqlplus system/systemsqlplus system/system@127.0.0.1:1521/orclsqlplus system/system@localhost:1521/orcl是等价的,都是连接本地oracle数据库

    注意如果是sys用户登录,在密码后面一定要加as sysdba子句,如下

    2.sqlplus /nolog

    sqlplus /nolog这句话的意思就是仅仅打开sqlplus这个软件界面,但是不登录数据库(nolog表示不进行登录,仅仅是进入sqlplus软件界面而已,就相当于仅仅打开QQ的登录界面,但是不登录QQ)

    如果没有/nolog参数,sqlplus会提示你输入用户名和密码,如下图

    3.指定登录身份sqlplus 用户名/密码 as sysdba比如sqlplus system/system as sysdba

    4.指定主机字符串,比如sqlplus scott/tiger@LINK192.168.117.66或者sqlplus scott/tiger@orcl

    注意:如下图orcl和LINK192.168.117.66是主机字符串的名字,该名字可以随便取,可以理解成这是一个别名,通过这个别名去连接真正的远程的数据库

    比如sqlplus scott/tiger@LINK192.168.117.66

    这里的orclLINK192.168.117.66其实可以理解成主机字符串,其实就是一个别名,通过这个别名去连接真正的IP,我这里的orclLINK192.168.117.66设置的还是我本地127.0.0.1的地址,所以还是表示连接我本地的oracle数据库,如果想连接远程的oracle数据库,你们自己改一下ip地址和端口号和服务名,改成远程数据库的IP地址和远程数据库的端口号和远程数据库的服务名即可

    使用sqlplus怎么连接远程oracle数据库

    1.使用具体的ip地址

    sqlplus 用户名/密码@远程数据库的IP地址:远程数据库的端口号/远程数据库的服务名

    比如sqlplus system/system@127.0.0.1:1521/orcl或者sqlplus system/system@192.168.117.88:1521/orcl

    因为我这里没有88的地址,肯定是连接不上,我这里只是演示一下,怎么通过具体的ip地址的方式来连接远程数据库

    2.使用主机字符串

    tnsnames.ora文件中,如果我们想多配置几个主机字符串,那我们可以手动拷贝一个主机字符串,然后手动改一下主机字符串的名字和IP地址和服务名和端口号,如下:标红的就是需要改动的,可以根据你自己的需要来改。

    LINK192.168.117.88 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.117.88)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )

    tnsnames.ora文件中的LINK192.168.117.88,类似于一个别名,通过这个别名,我们可以远程连接到192.168.117.88这台服务器上的oracle数据库

    注意:LINK192.168.117.88是主机字符串的名字,该名字可以随便取,可以理解成这是一个别名,通过这个别名去连接真正的远程的数据库

    使用主机字符串来连接远程数据库,如下图

    因为我这里没有88的地址,肯定是连接不上,我这里只是演示一下,怎么通过主机字符串的方式来连接远程数据库

    PLSQL Developer软件也是去读取tnsnames.ora这个文件,如下图

    当然啦,我们也可以在文本框中手动输入具体的IP地址和端口号和数据库服务名,如下图

    还有一点顺便说一下,如果我们使用sqlplus登录了数据库,但是我们想在不退出的情况下,切换用户或者是切换成其他远程的数据库?

    切换成其他远程的数据库

    使用conn

    使用conn 用户名/密码@远程数据库IP:远程数据库端口号/远程数据库服务名

    切换成其他用户

    顺便说一下,sqlplus 用户名/密码这种方式连接数据库,会暴露密码,如下图

    而直接写sqlplus这种方式,不会暴露密码,如下图

  • 相关阅读:
    6、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?-Java面试题答案
    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?-Java面试题答案
    4、在JAVA中如何跳出当前的多重嵌套循环?-Java面试题答案
    3、说说&和&&的区别-Java面试题答案
    2、Java有没有goto?-Java,面试题答案
    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?-Java面试题答案
    javaScript属性
    javaScript基本知识
    javaScript额外笔记
    OOP-基础知识(c#)
  • 原文地址:https://www.cnblogs.com/xyzq/p/12304173.html
Copyright © 2011-2022 走看看