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:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN(
意:
每个人的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这种方式,不会暴露密码,如下图

oracle怎么建立本地连接的更多相关文章

  1. navicat建立本地连接出错解决

    使用navicat建立本地连接时报错: 2.设置用户配置项 (1) 查看用户信息 select host,user,plugin,authentication_string from mysql.us ...

  2. [C#] 建立UDP连接、发送广播

    说明: 通过建立本地UdpClient与远程UdpClient进行通讯,亦可直接发送到其他已存在的远程端. 基本原理:构建一个本地的udpcSend实例,开启多线程进行监听,然后再发送广播. 案例有字 ...

  3. 【转】oracle建立本地数据库

    来到公司的这段时间,在项目的开发过程中一直连接的是远程的oracle数据库,现在开始轮到自己做毕业设计了,自己想采用Oracle数据库,就想建立本地的数据库. 当然了,首先是自己先装Oracle客户端 ...

  4. 关于Oracle本地连接出现与监听有关的问题的解决方法探讨

    关于Oracle本地连接出现与监听有关的问题的解决方法探讨 监听的作用: 用于应用桌面即用户与数据库服务器建立连接的媒介,客户端发送连接请求,监听识别请求并建立客户端与服务器的连接后,监听的使命并完成 ...

  5. 本地不安装oracle,PLsql远程连接

    Oracle的Instant client工具包可以很好地解决本地不安装oracle,PLsql远程连接. 1.首先到Oracle网站下载Instant Client : http://www.ora ...

  6. 域名可以解析(ping域名可以获取正确ip),服务器本地telnet 域名+端口 无法连接,通过建立本地虚拟域名指定的方法解决该问题

    环境: 服务器A,网管已为A开通外网ip,且设置有映射域名:假如内网ip为172.16.2.6.外网ip为123.123.123.123.域名为test.sstest.com 现象: 服务器A,tel ...

  7. 本地连接远程Oracle数据库

    由于项目开发测试,需要在本地连接远程的Oracle数据库 之前搭过环境,但是重装了系统,现在又重新装一遍 软件安装 连接远程Oracle需要两个软件: 一个Oracle客户端,instantclien ...

  8. 解决(Oracle)ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接 问题

    解决(Oracle)ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接 问题通过在CMD下用lsnrctl status 查看出的问题:发现BLOCKEDORACLE启动步骤:s ...

  9. maven建立本地仓库

    maven 建立本地仓库 博客分类: java,maven,nexus   前面我讲到为什么要使用 Maven, Maven 的安装,以及 如何与 IDE 集成等,前面的介绍可以认为是一个 Hello ...

随机推荐

  1. 利用Python进行数据分析学习记录(一)

    1.Python的科学计算邮件列表 pydata:这是一个Google Group邮件列表,其中的问题都是Python数据分析和pandas方面的. pystatsmodels:针对Numpy相关的问 ...

  2. kubespy 用bash实现的k8s动态调试工具

    原文位于 https://github.com/huazhihao/kubespy/blob/master/implement-a-k8s-debug-plugin-in-bash.md 背景 Kub ...

  3. 网络、TCP协议与UDP协议

    1.网络模型 (1)什么是网络模型 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外 ...

  4. windows I/O设备

    当外部设备连接到windows后,设备所连接到的集线器驱动程序将为设备分配硬件ID,然后Windows 使用硬件 Id 查找设备与包含设备驱动程序的驱动程序包之间最近的匹配项. 如果查找到,设备就可以 ...

  5. 存储过程带参数和sqlcommand

    public DataSet SelectBillNo(string CarrierCode, string Date, string CompanyCode) { System.Collection ...

  6. Windows10内嵌Ubuntu子系统初始化设置

    第一次启动 重启ubuntu Since Windows 10 version 1803, closing all WSL terminal windows won't kill background ...

  7. CTF实验吧——证明自己吧

    题目地址:http://www.shiyanbar.com/ctf/28 没有壳 ,vc++ 写的 拖进OD观察观察,发现代码很短哟,先来看这俩个call 怀疑他们其中有正确的flag和我们输入的东西 ...

  8. git使用的常见命令汇总

    git的简单介绍 git是分布式版本控制工具 git 的基本操作指令 git init 初始化git仓库 git add 文件名 git add . 把文件 添加到 git 暂存区中 git stat ...

  9. ugui制作伸缩菜单

    制作一个类似与这种格式的菜单,可以伸缩滑动的.今天正好项目需要用到类似功能,所以尝试了一下,做出如下的效果 虽然只是一个思路,但是可以扩展.声明一个object物体,为but,通过GetCompone ...

  10. LeetCode 11 水池蓄水问题

    今天给大家分享的是一道LeetCode中等难度的题,难度不大,但是解法蛮有意思.我们一起来看题目: Link Container With Most Water Difficulty Medium 题 ...