你可以利用登录触发器、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,……)
如何穿过防火墙连接数据库
解答:这个问题只会在WIN平台出现,UNIX平台会自动解决。
解决方法:
在服务器端的SQLNET。ORA应类似
SQLNET。AUTHENTICATION_SERVICES= (NTS)
NAMES。DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
TRACE_LEVEL_CLIENT = 16
注册表的HOME0加[HKEY_LOCAL_MACHINE]
USE_SHARED_SOCKET=TRUE
如何利用hostname方式连接数据库
解答:host name方式只支持tcp/ip协议的小局域网
修改listener。
ora中的如下信息
(SID_DESC =
(GLOBAL_DBNAME = ur_hostname) --你的机器名
(ORACLE_HOME = E:oracleora92) --oracle home
(SID_NAME = orcl) --sid name
)
然后在客户端的sqlnet。
ora中,确保有
NAMES。DIRECTORY_PATH= (HOSTNAME)
你就可以利用数据库服务器的名称访问数据库了
dbms_repcat_admin能带来什么安全隐患
解答:以下情况可能获得该包的执行权限:
1、在sys下
grant execute on dbms_repcat_admin to public[|user_name]
2、用户拥有execute any procedure特权(仅限于9i以下,9i必须显示授权)
如果用户通过执行如下语句:
exec sys。
dbms_repcat_admin。grant_admin_any_schema('user_name');
该用户将获得极大的系统特权
可以从user_sys_privs中获得详细信息。
全部