易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle数据库的三种验证机制

在windows操作系统中安装下载版的oracle数据库,只要有操作系统的登陆权限就可以用任意的用户名,密码以sysdba的身份登陆。我想拒绝别人访问,应该怎么解决这个问题?
%oracle_home%\NETWORK\ADMIN
sqlnet.ora中修改
SQLNET.AUTHENTICATION_SERVICES= (NTS)
-->
SQLNET.AUTHENTICATION_SERVICES= (NONE)
Oracle数据库的三种验证机制。 <1>操作系统验证 <2>密码文件验证 <3>数据库验证。你的本机通过了第一种验证机制。
系统安全一直是各个系统关注的首要问题,而用户验证是其中很重要的一环。一般应用程序习惯性地将用户验证放在数据库中,通过比对用户的输入与数据库记录来验证用户,但数据库自身如何来验证呢?ORACLE用户可以分为SYS用户和普通用户,他们的验证方式有所区别
      一、SYS用户验证
      SYS用户拥有数据库的完全控制权,对其验证显得至关重要。由于进行验证时数据库还不可用,ORACLE采用两种方式来验证SYSDBA用户:操作系统验证和口令文件验证。
1. 操作系统验证
对于在安装Oracle的本机上使用Oracle的情况,Oracle可以将用户验证交给操作系统,只要登录操作系统的用户在DBA组里,就有SYS用户的权限,可以修改 $ORACLE_HOME/dbs/sqlnet.ora,加入如下行:
 
      SQLNET.AUTHENTICATION_SERVICES= (NTS)
 
操作系统验证具有最高优先级,当设置为他时,口令文件验证不起作用
 
2. 口令文件验证
要使用口令文件验证,首先得禁用操作系统验证,修改 $ORACLE_HOME/network/admin/sqlnet.ora,加入如下行(这里将$ORACLE_HOME转化为绝对路径):
 
      SQLNET.AUTHENTICATION_SERVICES= (NONE)
 
 其次是设置口令验证配置参数:remote_login_passwordfile,他可以有几个值,其含义如下
      -- none  不使用口令验证
      -- exclusive 仅允许一个实例使用该口令文件
      --shared 多个实例可以共用一个口令文件
 
这里将参数设置为独占:
      alter system set remote_login_passwordfile=exclusive scope=spfile;
      shutdown immediate 
 


相关文档:

jsp 链接Oracle的连接池和查询跳转代码(带登录)

'-------------------------------------------------------------------以下是登录代码
<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3 ......

oracle与sqlserver执行count(*)返回的结果兼容

由于以前都是在sqlserver 2005处理,现在客户要求oracle数据库服务器,
最初的代码为:
allRecordSize = (Integer) rs1.getObject(1);    //Integer allRecordSize=0;
当执行的时候报:BigDecimal无法转化为Integer类型
为了兼容两者修改后的代码为:
  Object o = rs1.getObject(1);
 &nbs ......

关于oracle导入sqlserver存在的唯一索引问题

我在把oracle数据导入sqlserver中时,发现在oracle中字段定义为唯一索引时,不同记录的此字段如果为空不被认为是重复的,但在sqlserver中如果此字段为唯一索引字段,不允许有2个以上的空值。郁闷。所以只好将sqlserver中的唯一索引字段手工修改为几个非空的值,但这样程序肯定要进行修改了。需要在程序中为此字段设置不重复 ......

连接oracle,sqlserver中数据库的示例代码

一 在Oracle中连接数据库
public class Test1 {
 public static void main(String[] args) {
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   Connection conn = DriverManager.getConnection(
       &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号