Oracle 相关的工具使用 SQL Developer , sqlplus

一,Oracle SQL Developer 连接数据库

今天在连接sqldeveloper服务器时遇到了很多问题,但最终还是通过网上的博客解决了问题,我就在总结一下我的解决过程。

一.界面

首先,Oracle SQL Developer 的连接数据库 界面是这样的,:在这里插入图片描述 先填写连接名,用户名,以及口令;Oracle提供了system、scott等多种用户名,这里填写Scott(因为Scott中有几张用于测试的数据表),scott的初始口令为tiger,如果你已经修改,那就按修改的来。 在这里插入图片描述 这是最基本的设置,接下来的设置才是关键。

二.关键问题(设置SID,设置环境变量)

首先我们看到“连接类型”这一选项,这里我们只设置基本TNS两个选项。

一.设置SID

1.首先设置SID,默认填写的是‘xe’,这需要修改。如果不修改“xe”,并且在设置好环境变量的前提下点击“测试”,可能会显示IO异常:The Network Adapter could not establish the connection. 在这里插入图片描述 具体修改SID的方法为:

  1. 打开dos命令窗口1. 输入:sqlplus 进入Oracle1. 根据提示输入用户名system和相应口令(不能输入用户名scott,查不到)1. 输入:select instance_name from V$instance;1. 查看 SID,我的SID为orcl,如下图所示:在这里插入图片描述 输入SID,如下图: 在这里插入图片描述 二.设置TNS的“网络别名” 在这里插入图片描述 在没有设置环境变量之前,网络别名按钮是无效的。必须先设置环境变量。设置TNS_ADMIN环境变量指向tnsnames.ora文件所在目录。方法如下所示: 在这里插入图片描述
    在这里插入图片描述 新建环境变量后,再打开Oracle SQL Developer,查看“网络别名”,选择ORCL选项。 在这里插入图片描述 点击测试:成功。在这里插入图片描述

大功告成。

二,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连接上数据库后,可以用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这种方式,不会暴露密码,如下图

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐