虽然我们现在平时都是使用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数据库
先使用cmd命令进入dos窗口
1.sqlplus 用户名/密码 比如:sqlplus system/system
也可以sqlplus 用户名/密码@本机ip地址:端口号/本地数据库服务名 比如:sqlplus system/[email protected]:1521/orcl或者
sqlplus system/system@localhost:1521/orcl
注意:这里的orcl是数据库服务名
注意:sqlplus system/system和sqlplus system/[email protected]:1521/orcl和sqlplus 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/[email protected]或者sqlplus scott/tiger@orcl
注意:如下图orcl和LINK192.168.117.66是主机字符串的名字,该名字可以随便取,可以理解成这是一个别名,通过这个别名去连接真正的远程的数据库
比如sqlplus scott/[email protected]
这里的orcl和LINK192.168.117.66其实可以理解成主机字符串,其实就是一个别名,通过这个别名去连接真正的IP,我这里的orcl和LINK192.168.117.66设置的还是我本地127.0.0.1的地址,所以还是表示连接我本地的oracle数据库,如果想连接远程的oracle数据库,你们自己改一下ip地址和端口号和服务名,改成远程数据库的IP地址和远程数据库的端口号和远程数据库的服务名即可
1.使用具体的ip地址
sqlplus 用户名/密码@远程数据库的IP地址:远程数据库的端口号/远程数据库的服务名
比如sqlplus system/[email protected]:1521/orcl或者sqlplus system/[email protected]: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这种方式,不会暴露密码,如下图