Oracle 11G实现侦听,让数据库操作更安全(oracle11的侦听)
Oracle 11G实现侦听,让数据库操作更安全
Oracle 11G是目前Oracle公司推出的最新一代关系型数据库管理系统,它提供了众多的新功能和改进,其中包括了一种名为“侦听(listener)”的特性。这一特性可以帮助数据库管理员更好地监控和管理数据库,从而让数据库操作变得更加安全。
在Oracle数据库中,客户端通过监听器连接数据库服务。监听器是一种负责接收客户端请求并且将其批量转发给Oracle数据库的中间件。因此,监听器的作用非常重要,在很多情况下,它甚至可以被视为数据库安全的壁垒。如果没有正确配置监听器,那么黑客很容易使用简单的技术入侵到数据库中,从而盗取数据或者对数据进行破坏。
为了保障数据库的安全性,Oracle 11G实现了一种名为“无特权用户名口令文件(secure external password store)”的特性,使得监听器可以通过该文件来获得所需的用户名和密码。这种方式比使用明文口令更为安全,避免了密码被黑客截取的风险。
下面我们来看一下具体的配置过程。
第一步,创建存储口令的安全文件。在Unix或Linux操作系统上,在Oracle的安装目录中找到“NETWORK/ADMIN”目录,并创建一个以“tnsnames.ora”命名的文件,文件的格式如下:
MYDB =
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = mydb) )
)
然后,在同一目录下新建一个“sqlnet.ora”文件,文件格式如下:
WALLET_LOCATION = (SOURCE = (METHOD = file)
(METHOD_DATA = (DIRECTORY = /u01/wallet)
) )
SQLNET.WALLET_OVERRIDE = TRUE
在上述代码中,“WALLET_LOCATION”指示了Oracle应该在哪一个目录中寻找安全文件。在这个例子中,我们创建了一个名为“/u01/wallet”的目录,然后将安全文件放置在其中。而“SQLNET.WALLET_OVERRIDE”则表示监听器将使用该安全文件来获取口令,以进行必要的认证。
第二步,配置监听器。在Unix或Linux操作系统上,打开“/oracle/product/11.2/db/network/admin”目录下的“listener.ora”文件,并做如下修改:
LISTENER =
(DESCRIPTION_LIST = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
) )
SID_LIST_LISTENER = (SID_LIST =
(SID_DESC = (GLOBAL_DBNAME = MYDB)
(ORACLE_HOME = /oracle/product/11.2/db) (SID_NAME = MYDB)
) )
在上面的代码中,“LISTENER”定义了监听器所侦听的端口以及依赖的协议,它可以定义多个地址。而“SID_LIST_LISTENER”则定义了Oracle实例的服务标识符,以匹配客户端要连接的数据库实例。
第三步,启动监听器。执行如下命令即可启动监听器:
$ lsnrctl start LISTENER
启动监听器之后,使用如下命令可以验证监听器是否正确启动:
$ lsnrctl status
经过上述步骤的设置,我们就成功地实现了Oracle 11G中的监听器配置,从而保障了数据库的安全性。在进行数据库操作时,客户端必须经过监听器的验证才能和数据库建立连接,而侦听的安全文件则确保了口令的私密性,有效地防止了黑客的入侵和攻击。