oracle 11g网络连接配置与系统安全
一、Oracle Net
OracleNet主要功能是在系统中计算机之间建立网络会话和传输数据
客户机和服务器之间
两个服务器之间
配置程序
9i/10g/11g:NetConfiguration Assistant
Net Manager
OracleNet是Oracle网络产品的基础,为实现分布式计算和各软件工具集成提供支持
是驻留在服务器上的一个独立的进程
能够监听指定端口上的使用指定网络连接协议的连接请求
监听进程接收网络中客户机的连接请求并管理传送到服务器的这些请求的通信
监听程序配置文件:listener.ora
本地管理模式:
连接信息存储在网络内每台计算机的tnsnames.ora文件中
集中管理模式:
连接信息集中存储在目录服务器或Oracle名称服务器中
3.oracle net工作原理
4.如何通过sql*plus访问其他机器中数据
假设:在你的机器上安装有oracle的客户端或服务器,会存在两个工具:
1)网络连接配置:A) net manager B)net configeration assistant ---可以创建主机字符串pp。
2)sql*plus工具。A)sqlplus scott/tiger@pp
B)conn ly/ly@pp
监听:
主机名:计算机名或IP标识
端口号:1521
监听服务开启。
假设:在你的机器上安装有oracle的客户端或服务器,会存在两个工具:
1)网络连接配置:A) net manager B)net configeration assistant ---可以创建主机字符串pp。
2)sql*plus工具。A)sqlplus scott/tiger@pp
B)conn ly/ly@pp
监听:
主机名:计算机名或IP标识
端口号:1521
监听服务开启。
二、用户权限
系统权限
CREATE SESSION 创建会话
CREATE SEQUENCE 创建序列
CREATE SYNONYM 创建同义词
CREATE TABLE 在用户模式中创建表
CREATE ANY TABLE 在任何模式中创建表
DROP TABLE 在用户模式中删除表
DROP ANY TABLE 在任何模式中删除表
CREATE PROCEDURE 创建存储过程
EXECUTE ANY PROCEDURE 执行任何模式的存储过程
CREATE USER 创建用户
DROP USER 删除用户
CREATE VIEW 创建视图
CREATE SEQUENCE 创建序列
CREATE SYNONYM 创建同义词
CREATE TABLE 在用户模式中创建表
CREATE ANY TABLE 在任何模式中创建表
DROP TABLE 在用户模式中删除表
DROP ANY TABLE 在任何模式中删除表
CREATE PROCEDURE 创建存储过程
EXECUTE ANY PROCEDURE 执行任何模式的存储过程
CREATE USER 创建用户
DROP USER 删除用户
CREATE VIEW 创建视图
向用户赋予系统权限的基本语法格式如下:
GRANT privilege [, privilege...] TO user [, user| role, PUBLIC...]
[WITH ADMIN OPTION];
PUBLIC所有用户
WITH ADMIN OPTION 使用户同样具有分配权限的权利,可将此权限授予别人。
回收系统权限
REVOKE {privilege | role} FROM {user_name | role_name | PUBLIC}
*对于使用with admin option为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限。
对象权限
系统权限会控制对Oracle数据库中各种系统级功能的访问,而对象权限可以用来控制对指定数据库对象的访问。
系统权限可以用来许可或限制DDL语句的执行,而对象权限可以用来许可或阻止DML语句的执行。
对象的拥有者拥有对象所有权限
对象的拥有者可以向外分配权限
授予对象权限的语法格式如下:
GRANT object_priv|ALL [(columns)] ON object
TO {user|role|PUBLIC} [WITH GRANT OPTION];
ALL:所有对象权限
PUBLIC:授给所有的用户
WITH GRANT OPTION;
授予系统权限与授予对象权限的语法差异:
授予对象权限时需要指定关键字ON,从而能够确定权限所应用的对象。对于表和视图可以指定特定的列来授权。
与此相对应的,取消数据库用户对象权限的基本语法格式如下:
revoke object_privilege on object_name from username;
*如果取消某个用户的对象权限,对于该用户使用with grant option授予其它用户相同权限来说,将级联删除这些用户权限
查询权限分配情况
数据字典视图 描述
ROLE_SYS_PRIVS 角色拥有的系统权限
ROLE_TAB_PRIVS 角色拥有的对象权限
USER_TAB_PRIVS_MADE查询授出去的对象权限(通常是属主自己查)
USER_TAB_PRIVS_RECD 用户拥有的对象权限
USER_COL_PRIVS_MADE用户分配出去的列的对象权限
USER_COL_PRIVS_RECD用户拥有的关于列的对象权限
USER_SYS_PRIVS 用户拥有的系统权限
USER_TAB_PRIVS 用户拥有的对象权限
USER_ROLE_PRIVS 用户拥有的角色
system_privilege_map 系统包含的所有系统权限
dba_sys_privs 所有用户所拥有的系统权限信息
uses_sys_privs 某一个用户所获得的系统权限