【Oracle】Oracle 監(jiān)聽啟動、停止、查看命令

切換用戶

# su ?- oracle

啟動監(jiān)聽器

$ lsnrctl ?start

停止監(jiān)聽器

$ lsnrctl stop

查看監(jiān)聽

$ lsnrctl status

oracle數(shù)據(jù)庫的安全包含兩部分:

1.一部分是os的安全

2.網(wǎng)絡(luò)的安全

3.oracle軟件本身的安全

OS的安全依賴相應(yīng)的操作系統(tǒng)及管理員的技術(shù)水平,我們這里只談?wù)刼racle的安全。

我了解的oracle軟件的安全包含

1.更改oracle的默認(rèn)監(jiān)聽端口號

2.給監(jiān)聽器加密碼

3.oracle控制ip的連接

下面將針對這三個方面測試學(xué)習(xí):

oracle默認(rèn)監(jiān)聽端口更改

1. 更改oracle的默認(rèn)監(jiān)聽端口號

修改端口號的整體步驟:

1.1 。 查看當(dāng)前監(jiān)聽的狀態(tài)

1.2 。 停止監(jiān)聽

1.3 。 修改監(jiān)聽文件的端口號

1.4 。 修改初始化參數(shù)local_listener

1.5 .??重啟監(jiān)聽器

1.6 。 修改完畢,使用新端口登錄測試

1.1 。 查看當(dāng)前監(jiān)聽的狀態(tài)

C:/Documents and Settings/skate_db>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 12:11:19

Copyright (c) 1991, 2005, Oracle.??All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER 的 STATUS

------------------------

別名??????????????????????LISTENER

版本??????????????????????TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ

ction

啟動日期??????????????????19-7月 -2008 11:47:59

正常運(yùn)行時間??????????????0 天 0 小時 23 分 19 秒

跟蹤級別??????????????????off

安全性????????????????????ON: Password or Local OS Authentication

SNMP??????????????????????OFF

監(jiān)聽程序參數(shù)文件??????????E:/oracle/product/10.2.0/db_3/network/admin/listener.ora

監(jiān)聽程序日志文件??????????E:/oracle/product/10.2.0/db_3/network/log/listener.log

監(jiān)聽端點(diǎn)概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1522)))

服務(wù)摘要..

服務(wù) "PLSExtProc" 包含 1 個例程。

例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orcl" 包含 1 個例程。

例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orclXDB" 包含 1 個例程。

例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orcl_XPT" 包含 1 個例程。

例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

命令執(zhí)行成功

1.2 。 停止監(jiān)聽

C:/Documents and Settings/skate_db>lsnrctl stop

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 13:1

6:15

Copyright (c) 1991, 2005, Oracle.??All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

命令執(zhí)行成功

1.3 。 修改監(jiān)聽文件的端口號,用于網(wǎng)絡(luò)連接

把端口號修改為1523

# listener.ora?Network Configuration File:E:/oracle/product/10.2.0/db_3/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = E:/oracle/product/10.2.0/db_3)

(PROGRAM = extproc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1523))

)

)

#----ADDED BY TNSLSNR 12-7月 -2008 13:26:50---

PASSWORDS_LISTENER = 3650F1EB3C37ABD9

#---------------------------------------------

1.4 。 修改初始化參數(shù)local_listener??,用于本地連接

C:/Documents and Settings/skate_db>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 19 13:24:02 2008

Copyright (c) 1982, 2005, Oracle.??All rights reserved.

連接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>show parameter local_listener

NAME?????????????????????????????????TYPE????????VALUE

------------------------------------ ----------- ------------------------------

local_listener???????????????????????string??????(address=(protocol=tcp)(host=s

kate)(port=1522))

SQL> alter system set local_listener="(address=(protocol=tcp)(host=skate)(port=1

523))";

系統(tǒng)已更改。

1.5 .??重啟監(jiān)聽器

C:/Documents and Settings/skate_db>lsnrctl start

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 13:2

7:44

Copyright (c) 1991, 2005, Oracle.??All rights reserved.

啟動tnslsnr: 請稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production

系統(tǒng)參數(shù)文件為E:/oracle/product/10.2.0/db_3/network/admin/listener.ora

寫入E:/oracle/product/10.2.0/db_3/network/log/listener.log的日志信息

監(jiān)聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))

監(jiān)聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1523)))

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER 的 STATUS

------------------------

別名??????????????????????LISTENER

版本??????????????????????TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ

ction

啟動日期??????????????????19-7月 -2008 13:27:47

正常運(yùn)行時間??????????????0 天 0 小時 0 分 3 秒

跟蹤級別??????????????????off

安全性????????????????????ON: Password or Local OS Authentication

SNMP??????????????????????OFF

監(jiān)聽程序參數(shù)文件??????????E:/oracle/product/10.2.0/db_3/network/admin/listener.o

ra

監(jiān)聽程序日志文件??????????E:/oracle/product/10.2.0/db_3/network/log/listener.log

監(jiān)聽端點(diǎn)概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1523)))

服務(wù)摘要..

服務(wù) "PLSExtProc" 包含 1 個例程。

例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個處理程序...

命令執(zhí)行成功

1.6 。 修改完畢,使用新端口登錄測試

1.6.1。 檢查監(jiān)聽端口是否改變

C:/Documents and Settings/skate_db>netstat -an | find "1523"

TCP????0.0.0.0:1523???????????0.0.0.0:0??????????????LISTENING

TCP????192.168.0.103:1523?????192.168.0.103:2389?????ESTABLISHED

TCP????192.168.0.103:2389?????192.168.0.103:1523?????ESTABLISHED

1.6.2。 查看監(jiān)聽器的狀態(tài)

C:/Documents and Settings/skate_db>lsnrctl status

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -2008 13:2

8:56

Copyright (c) 1991, 2005, Oracle.??All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

LISTENER 的 STATUS

------------------------

別名??????????????????????LISTENER

版本??????????????????????TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ

ction

啟動日期??????????????????19-7月 -2008 13:27:47

正常運(yùn)行時間??????????????0 天 0 小時 1 分 10 秒

跟蹤級別??????????????????off

安全性????????????????????ON: Password or Local OS Authentication

SNMP??????????????????????OFF

監(jiān)聽程序參數(shù)文件??????????E:/oracle/product/10.2.0/db_3/network/admin/listener.o

ra

監(jiān)聽程序日志文件??????????E:/oracle/product/10.2.0/db_3/network/log/listener.log

監(jiān)聽端點(diǎn)概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1523)))

服務(wù)摘要..

服務(wù) "PLSExtProc" 包含 1 個例程。

例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orcl" 包含 1 個例程。

例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orclXDB" 包含 1 個例程。

例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

服務(wù) "orcl_XPT" 包含 1 個例程。

例程 "orcl", 狀態(tài) READY, 包含此服務(wù)的 1 個處理程序...

命令執(zhí)行成功

1.6.3 。使用新端口號(1523)登錄測試一下

C:/Documents and Settings/skate_db>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 19 13:32:15 2008

Copyright (c) 1982, 2005, Oracle.??All rights reserved.

請輸入用戶名:sys/"oracle"@skate:1523/orclas sysdba

連接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE????10.2.0.1.0??????Production

TNS for 32-bit Windows: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

SQL> select open_mode from v$database;

OPEN_MODE

----------

READ WRITE

注意:當(dāng)修改了oracle默認(rèn)監(jiān)聽端口后,用tnsping會出錯的,因?yàn)檫@個時候,oracle會讀tnsnames。ora這個文件,而這個文件的端口號沒有更改,只要更改下這里對應(yīng)的端口號就ok。

C:/Documents and Settings/skate_db>tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -

2008 17:11:05

Copyright (c) 1997, 2005, Oracle.??All rights reserved.

已使用的參數(shù)文件:

E:/oracle/product/10.2.0/db_3/network/admin/sqlnet.ora

已使用 TNSNAMES 適配器來解析別名

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

TNS-12541: TNS: 無監(jiān)聽程序

在這里可以看到,oracle仍然用端口1521,我們更改下tnsnames.ora的端口號,就ok了!

# tnsnames.ora Network Configuration File: E:/oracle/product/10.2.0/db_3/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

ORCL=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = skate)(PORT = 1523))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME =orcl)

)

)

EXTPROC_CONNECTION_DATA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

)

(CONNECT_DATA =

(SID = PLSExtProc)

(PRESENTATION = RO)

)

)

重啟監(jiān)聽器,再tnsping

C:/Documents and Settings/skate_db>lsnrstl stop

C:/Documents and Settings/skate_db>lsnrstl start

C:/Documents and Settings/skate_db>tnsping orcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7月 -

2008 17:22:00

Copyright (c) 1997, 2005, Oracle.??All rights reserved.

已使用的參數(shù)文件:

E:/oracle/product/10.2.0/db_3/network/admin/sqlnet.ora

已使用 TNSNAMES 適配器來解析別名

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = skate)(P

ORT = 1523)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

OK (50 毫秒)

我們可以看到:oracle默認(rèn)監(jiān)聽端口更改為1523!

oracle控制ip的連接

2 .oracle控制ip的連接(我們也可以用數(shù)據(jù)庫觸發(fā)器記錄用戶的登錄情況,但是不能記錄dba權(quán)限的用戶)

單純的設(shè)定允許的IP 和 禁止的IP,在oracle9i以前有文檔說增加或修改protocol.ora文件,在9i及以后版本中真正起作用的是sqlnet.ora文件,我們修改sqlnet.ora其實(shí)是最好最快的方法。

sqlnet.ora文件的功能:

1. Specify the client domain to append to unqualified names

2. Prioritize naming methods

3. Enable logging and tracing features

4. Route connections through specific processes

5. Configure parameters for external naming

6. Configure Oracle Advanced Security

7. Use protocol-specific parameters to restrict access to the database

我在這里用的就是第7個功能

在sqlnet.ora中增加如下部分

-----------------------------

tcp.validnode_checking=yes

#允許訪問的IP

tcp.invited_nodes=(ip1,ip2……)

#禁止訪問的IP

tcp.excluded_nodes=(ip1,ip2……)

例如:

#sqlnet.ora Network Configuration File: E:/oracle/product/10.2.0/db_3/network/admin/sqlnet.ora

# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to

# install "Software Only", this file wont exist and without the native

# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

#skate modify

tcp.validnode_checking=yes

tcp.invited_nodes=(192.168.0.103)

tcp.excluded_nodes=(192.168.0.10)

然后重新啟動監(jiān)聽器

C:/Documents and Settings/skate_db>lsnrstl stop

C:/Documents and Settings/skate_db>lsnrstl start

需要注意的問題:

1、 需要設(shè)置參數(shù)為YES,這樣才能激活。

2、 建議設(shè)置允許訪問的IP,因?yàn)镮P地址有可能被隨意修改,就不能起到保護(hù)自己的目的。

3、 TCP當(dāng)參數(shù)TCP.INVITED_NODES和TCP.EXCLUDED_NODES設(shè)置的地址相同的時候?qū)⒏采wTCP.EXCLUDED_NODES設(shè)置。

4、 需要重啟監(jiān)聽器才能生效。

5、 這個方式只是適合TCP協(xié)議。

6、 這個配置適用于9i以上版本。在9i之前的版本使用文件protocol.ora。

7、 在服務(wù)器上直接連接數(shù)據(jù)庫不受影響。

8、 這種限制方式事通過監(jiān)聽器來限制的。

9、 這個限制只是針對IP檢測,對于用戶名檢測事不支持的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容