oracle 有sqlnet.encryption 这个参数吗?该怎么配置

oracle 有sqlnet.encryption 这个参数吗?该怎么配置,第1张

oracle网络设置主要包括三个文件,sqlnet.ora\ lisnter.ora\ tnsnames.ora

1、通过netmgr 可以配置 lisnter.ora 和 tnsnames.ora

2、lisnter.ora 为oracle服务器使用的监听器配置文件,监听器可以通过 lsnrctl 进行管理

3、tnsnames.ora 为客户端配置文件,为连接服务器的参数信息

4、sqlnet.ora 为服务端sql*net 网络配置文件,主要参数如下:

1.设置日志参数

#设置客户端和服务器端的log文件的目录

LOG_DIRECTORY_CLIENT

LOG_DIRECTORY_SERVER

#设置客户端和服务器端的log文件的名称

LOG_FILE_CLIENT

LOG_FILE_SERVER

2.设置默认的domain,会在连接中自动追加domain

NAMES.DEFAULT_DOMAIN

如设置NAMES.DEFAULT_DOMAIN=us.acme.com

使用conn scott/tiger@test连接数据库时会自动追加domain,变成conn scott/tiger@test.us.acme.com,而直接使用conn scott/tiger@test.us.acme.com连接数据库则不会追加

//可以通过 show parameter domain 查看, 一般将该参数注释掉;如果设置了该参数

//通过netmgr设置本地服务名时系统会在本地服务名后面自动追加该参数

//sql*plus 访问时如果该参数存在,则会在服务名追加该参数,然后利用追加后的服务名,在tns中查找

//造成 tnsping 可以 但是使用 sqlplus 不可以的现象

3.设置客户端的命名方法和优先级(最常用的参数),可选值有tnsnames,onames,hostname,ldap等

NAMES.DIRECTORY_PATH

例如:names.directory_path = (tnsnames,onames,hostname)

// 服务端的解析路径 1.tnsname2.oname3.hostname

4.设置允许连入数据库的客户端版本,可选值10,9,8,7

SQLNET_ALLOWED_LOGON_VERSIONS

5.设置使用何种验证方式,可选值

none(使用用户名/密码的方式连接数据库)

all(使用所有方式的验证,包括OS验证)

nts(OS验证方式,连入OS后可以不用密码连接数据库)

SQLNET.AUTHENTICATION_SERVICES

6.设置客户端和服务器是否使用加密,可选值

accepted(如果对方设置为requested或required,则使用加密服务)

rejected(不使用加密服务,即使对方设置为requested也不使用)

requested(如果对方使用加密服务,则使用加密服务)

required(使用加密服务,如果对方没有使用则无法连接)

SQLNET.ENCRYPTION_CLIENT

SQLNET.ENCRYPTION_SERVER

#设置使用的加密算法

SQLNET.ENCRYPTION_TYPES_CLIENT

SQLNET.ENCRYPTION_TYPES_SERVER

7.设置连入数据库后必须在多长时间内完成认证(如:输入用户名/密码),超过此时间没有完成的话,数据库会断开此连接,并将客户端的IP地址和ORA-12170: TNS:Connect timeout occurred错误信息记录到sqlnet.log,而且客户端会收到ORA-12547: TNS:lost contact或ORA-12637: Packet receive failed错误信息。这个设置主要是为了防止denial-of-service攻击

SQLNET.INBOUND_CONNECT_TIMEOUT

8.设置在指定的时间间隔内必须有数据接收/发送,为了防止长时间的等待

SQLNET.RECV_TIMEOUT

SQLNET.SEND_TIMEOUT

9.限制访问数据库的客户端IP:

#允许访问的IP

TCP.INVITED_NODES=(192.168.1.103)

#不允许访问的IP

TCP.EXCLUDED_NODES=(192.168.1.102)

#检测上述参数的设置

TCP.VALIDNODE_CHECKING=yes

当不允许访问的客户端连入时,会出现下列错误

sys/oracle@approd.test as sysdba

ERROR:

ORA-12537: TNS:connection closed

Warning: You are no longer connected to ORACLE.

10.对tnsping命令进行跟踪,文件名是tnsping.trc

#trace文件的目录,默认在$ORACLE_HOME/network/trace下

TNSPING.TRACE_DIRECTORY

#trace的等级:有off,user,admin,support4个可选值,默认是off的(不进行跟踪)

TNSPING.TRACE_LEVEL

11.设置trace参数

#设置客户端和服务器端的trace文件的目录

TRACE_DIRECTORY_CLIENT

TRACE_DIRECTORY_SERVER

#设置客户端和服务器端的trace文件的名称

TRACE_FILE_CLIENT

TRACE_FILE_SERVER

#设置客户端和服务器端的trace文件的最大大小,超过后trace信息会写入新的文件

TRACE_FILELEN_CLIENT

TRACE_FILELEN_SERVER

#设置客户端和服务器端的trace文件的最多个数,trace文件是循环写的

TRACE_FILENO_CLIENT

TRACE_FILENO_SERVER#trace的等级:有off,user,admin,support4个可选值,默认是off的(不进行跟踪)

TRACE_LEVEL_CLIENT

TRACE_LEVEL_SERVER

#是否在trace中写入每条trace信息的dd-mon-yyyy hh:mi:ss:mi时间戳

TRACE_TIMESTAMP_CLIENT

TRACE_TIMESTAMP_SERVER#trace是否只写入独立的文件:设为off后,每个新的客户端会话的trace信息都会覆盖已有信息;设为on后,每个新的客户端会话的trace信息都会写入单独的文件

TRACE_UNIQUE_CLIENT

12.强制使用dedicated方式连接数据库

#当设置为on时,会在连接描述中自动添加(SERVER=dedicated),如果已经设置了(SERVER=shared)也会被覆盖,默认为off

USE_DEDICATED_SERVER

idle>conn sys/oracle@test1 as sysdba

Connected.

sys@TEST>select server from v$session where username='SYS'

SERVER

---------

SHARED

在sqlnet.ora中设置了USE_DEDICATED_SERVER=on

sys@TEST>select server from v$session where username='SYS'

SERVER

---------

DEDICATED

你的命令行方式不能登录,应该是你环境变量的问题,因为系统找不到Oracle目录下的sqlplus.exe,设置一下环境变量,在Path里面把Oracle安装目录下到类似product\11.2.0\dbhome_1\BIN目录。

oracle登陆认证方式

Oracle登录认证有两种方式,基于 *** 作系统的登录认证,基于oracle的验证。

第一:Windows下基于 *** 作系统的登录认证

1 Windows下设置oracle登录验证为 *** 作系统验证方式的方法:

1:把os用户加到ora_dba组

2:设置sqlnet.ora SQLNET.AUTHENTICATION_SERVICES = (NTS)

SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于 *** 作系统验证;

SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;

SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。

2 windows *** 作系统中 *** 作系统认证方式登录的原理:

1: 在命令行下敲入compmgmt.msc 进入计算机管理

2: 选择本地用户和组—组(有一个组的名字叫做ORA_DBA )

3: 双击可以看到里面是不是有administrator用户

4: 再进入Oracle安装目录(即$ORACLE_HOME 一般是D:"oracle)"ora92"network"admin

找到sqlnet.ora文件看看里面的是不是有SQLNET.AUTHENTICATION_SERVICES= (NTS)

5: 如果这些都对的话,你就能已 *** 作系统认证的方式(connect / as sysdba)来登录Oracle

3 windows *** 作系统中禁止 *** 作系统认证的方法:

1:SQLNET.AUTHENTICATION_SERVICES= (NTS)改为SQLNET.AUTHENTICATION_SERVICES=none即可


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11320863.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存