Oracle通過sqlplus連接數據庫的方式

今天小編就爲大家分享一篇關於Oracle通過sqlplus連接數據庫的方式,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

通過sqlplus可以連接數據庫根據用戶權限進行數據或者設定操作,這篇文章介紹一下常用的連接方式。

環境準備

使用Oracle的精簡版創建docker方式的demo環境,詳細可參看:

方式1(本機): / as sysdba

在oracle服務器,可以直接通過操作系統權限認證,使用sysdba方式登陸,前提是你可以登入服務器,並且擁有此權限。

oracle@e871d42341c0:~$ id
uid=1000(oracle) gid=1000(dba) groups=1000(dba)
oracle@e871d42341c0:~$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 08:20:51 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> show user
USER is "SYS"
SQL> 

方式2(本機): sqlplus 用戶名/密碼

在本機除了sysdba,還可以通過用戶名和密碼的方式登陸進來

oracle@e871d42341c0:~$ sqlplus system/liumiao123
SQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 08:21:27 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> show user
USER is "SYSTEM"
SQL>

方式3: 通過tnsname方式

通過tns設定,保證聯通性的情況下使用 sqlplus 用戶名/密碼@Oracle實例名 的方式進行連接。

確認tns連接通暢

oracle@e871d42341c0:~$ tnsping XE
TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 21-OCT-2018 10:32:55
Copyright (c) 1997, 2011, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = e871d42341c0)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))
OK (0 msec)
oracle@e871d42341c0:~$

確認oracle的監聽進程正常啓動

oracle@e871d42341c0:~$ ps -ef |grep lsnr |grep -v grep
oracle   27   1 0 Oct16 ?    00:00:28 /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr LISTENER -inherit
oracle@e871d42341c0:~$ 

連接

oracle@e871d42341c0:~$ sqlplus system/liumiao123@XE
SQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 10:34:04 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> show user
USER is "SYSTEM"
SQL> 

方式4: IP和port的方式定位

還可通過IP和port的方式定位Oracle實例進行連接:sqlplus 用戶名/密碼@//IP地址或者hostname:端口號/Oracle實例名

# netstat -tunlp |grep 1521
tcp6    0   0 :::1521         :::*          LISTEN   -        
# ip ad |grep 172.17
  inet 172.17.0.2/16 scope global eth0
# sqlplus system/abcd1234@//172.17.0.2:1521/XE
SQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 10:37:31 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> 

方法5: 使用nolog 和 connect實現連接

準確的來說,這種方式和方式2/方式3/方式4沒有本質區別,無非就是用戶名/密碼以及實例名的信息的寫法不同而已,詳細如下:

# sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 11:19:50 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> connect system/liumiao123
Connected.
SQL> connect system/liumiao123@XE
Connected.
SQL> connect system/liumiao123@//172.17.0.2:1521/XE
Connected.
SQL> show user
USER is "SYSTEM"
SQL>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章