Oracle数据库网络与安全之FAQ汇集(1)

文章作者 100test 发表时间 2007:03:14 13:52:45
来源 100Test.Com百考试题网


[Q]如何限定特定IP访问数据库

[A]可以利用登录触发器、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,……)


[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> 0select password from dba_users where username=SCOTT.

PASSWORD

-----------------------------

F894844C34402B67

SQL> alter user scott identified by lion.

User altered.

SQL> connect scott/lion

Connected.

REM Do whatever you like...

SQL> connect system/manager

Connected.

SQL> alter user scott identified by values F894844C34402B67.

User altered.

SQL> connect scott/tiger

Connected.


相关文章


利用Oracle许可实现更好控制Linux(1)
为什么要参加数据库管理专家(ORACLEOCP)?
Oracle9i初始化参数中文说明(七)
Oracle数据库密码破解易如反掌?
Oracle数据库网络与安全之FAQ汇集(1)
Oracle9i初始化参数中文说明(六)
一个生成Oracle用户密码的通用小程序
Oracle9i初始化参数中文说明(五)
Internal_Oracle的密码更改用什么命令
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛