oracle如何限定特定IP访问数据库
可以利用登录触发器、cmgw或者是在$OREACLE_HOME/network/admin下新增一个protocol.ora文件(有些os可能是. protocol.ora),9i可以直接修改sqlnet.ora:
增加如下内容:
tcp.validnode_checking=yes
#允许访问的ip
tcp.inited_nodes=(ip1,ip2,……)
#不允许访问的ip
tcp.excluded_nodes=(ip1,ip2,……)
利用触发器限定IP:
create table logcontrol
(IPDET VARCHAR2(15)
)
/
create table limitip
(
IPDET VARCHAR2(15),
NOTE VARCHAR2(50)
)
/
create table yclogin
(
IPDET VARCHAR2(15),
attempdate date default sysdate
)
/
insert into logcontrol values('130.76.1.135');
insert into limitip values('130.76.1.135','接口数据库');
/
CREATE OR REPLACE TRIGGER log_control
AFTER logon ON DATABASE
declare
oname number(2);
pragma autonomous_transaction;
begin
if SYS_CONTEXT('USERENV','IP_ADDRESS') is not null
then
select count(*) into oname from logcontrol
where trim(IPDET)=SYS_CONTEXT('USERENV','IP_ADDRESS');
if oname<1 then
insert into yclogin values(SYS_CONTEXT('USERENV','IP_ADDRESS'));
commit;
Raise_application_error(-20999, 'ip访问限定,有需要请及时向系统管理员书面申请!!!');
EXECUTE IMMEDIATE 'DISCONNECT';
end if;
end if;
end;
相关文章
- Oracle数据库安装以及使用脚本创建数据库授权
- Oracle数据库基本概念理解(1)
- Oracle EXPDP导出数据
- yii2 oracle 原生sql分页
- ORACLE DELETE数据慢的案例
- ORACLE 9i 数据库体系结构图
- Oracle PGA
- Oracle 10g 11g 单机环境的安装
- C# 连接Oracle数据库,免安装oracle客户端
- ORACLE中的Net Configuration Assistant 点击后无反应, sqlplus登录数据库提示Oracle11g ORA-12560: TNS: 协议适配器错误
- Oracle 记录插入时“Invalid parameter binding ”错误
- atitit.sql server2008导出导入数据库大的表格文件... oracle mysql
- C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库
- 如何查看Oracle的版本信息
- 动态IP或无公网IP时外网訪问内网ORACLE数据库
- Oracle 数据库 JOB 失败后解密法重试
- 将ORACLE数据库更改为归档模式;写出步骤
- Oracle 技能强化 Part 2 给查询结果排序
- Oracle的学习心得和知识总结(六)|Oracle数据库同义词技术详解