[q]如何限定特定ip访问数据库
增加如下内容: 【相关文章:如何使用SQL Server客户端配置工】
[a]可以利用登录触发器、cmgw或者是在$oreacle_home/network/admin下新增一个protocol.ora文件(有些os可能是. protocol.ora),9i可以直接修改sqlnet.ora: 【扩展阅读:Vista真够绝:只支持SQL Serv】
【扩展信息:微软SQL Server 2005的30】 tcp.validnode_checking=yes #允许访问的ip tcp.inited_nodes=(ip1,ip2,……) #不允许访问的ip tcp.excluded_nodes=(ip1,ip2,……)[q]如何穿过防火墙连接数据库
[a]这个问题只会在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[q]如何利用hostname方式连接数据库
host name方式只支持tcp/ip协议的小局域网
修改listener.ora中的如下信息
(sid_desc = (global_dbname = ur_hostname) --你的机器名 (oracle_home = e:\oracle\ora92) --oracle home (sid_name = orcl) --sid name )然后在客户端的sqlnet.ora中,确保有
names.directory_path= (hostname)
你就可以利用数据库服务器的名称访问数据库了
[q]dbms_repcat_admin能带来什么安全隐患
[a]以下情况可能获得该包的执行权限:
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中获得详细信息
[q]在不知道用户密码的时候,怎么样跳转到另外一个用户执行操作后并不影响该用户?
[a]我们通过如下的方法,可以安全使用该用户,然后再跳转回来,在某些时候比较有用
需要alter user权限或dba权限:
sql> select password from dba_users where username=scott; password ----------------------------- f894844c34402b67 ... 下一页