minus用法详解及应用实例_oracle_脚本之家,准备工

2019-11-25 18:43 来源:未知

Linux平台 Oracle 10gR2RAC安装 Part1:准备工作,具体如下:

Oracle minus用法

说明: Linux版本

环境:OEL 5.7 + Oracle 10.2.0.5 RAC

“minus”直接翻译为中文是“减”的意思,在Oracle中也是用来做减法操作的,只不过它不是传统意义上对数字的减法,而是对查询结果集的减法。A minus B就意味着将结果集A去除结果集B中所包含的所有记录后的结果,即在A中存在,而在B中不存在的记录。其算法跟Java中的Collection的removeAll()类似,即A minus B将只去除A跟B的交集部分,对于B中存在而A中不存在的记录不会做任何操作,也不会抛出异常。

Linux version 2.6.32.12-0.7-default (gcc version 4.3.4 [gcc-4_3-branch revision 152973] #1 SMP 2010-05-20 11:14:20 +0200

1.实施前准备工作

Oracle的minus是按列进行比较的,所以A能够minus B的前提条件是结果集A和结果集B需要有相同的列数,且相同列索引的列具有相同的数据类型。此外,Oracle会对minus后的结果集进行去重,即如果A中原本多条相同的记录数在进行A minus B后将会只剩一条对应的记录,具体情况请看下面的示例。

1.查看数据库是否已经启动

1.1 服务器安装操作系统

下面我们来看一个minus实际应用的示例,假设我们有一张用户表t_user,其中有如下记录数据:

命令:ps -ef|grep ora

1.2 Oracle安装介质

“select id from t_user where id<6 minus select id from t_user where id between 3 and 7”的结果将为:

2.查看监听,例如:oracle)

1.3 共享存储规划

“select age,level_no from t_user where id<8 minus select age,level_no from t_user where level=3”的结果为:

命令:lsnrctl status | start

1.4 网络规划分配

看到这样的结果,可能你会觉得有点奇怪,为何会是这样呢?我们来分析一下。首先,“select age,level_no from t_user where id<8”的结果将是这样的:

截图:查看状态,停止和启动显示的数据和截图中差不多

2.主机配置

然后,“select age,level_no from t_user where level=3”的结果将是这样的:

3.监听连接地址与数据库实例名称

2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

然后,直接A minus B之后结果应当是:

查看监听地址、实例名称:截图标注

2.2 共享存储配置

这个时候,我们可以看到结果集中存在重复的记录,进行去重后就得到了上述的实际结果。其实这也很好理解,因为minus的作用就是找出在A中存在,而在B中不存在的记录。

4.上述序号3出现问题解决

2.3 配置/etc/hosts

上述示例都是针对于单表的,很显然,使用minus进行单表操作是不具备优势的,其通常用于找出A表中的某些字段在B表中不存在对应记录的情况。比如我们拥有另外一个表t_user2,其拥有和t_user表一样的表结构,那么如下语句可以找出除id外,在t_user表中存在,而在t_user2表中不存在的记录。

查看listener.ora文件,检查并修改标注部分

2.4 配置Oracle用户等价性

select no,name,age,level_no from t_user minus select no,name,age,level_no from t_user2;

5.修改完成需要重启监听服务

2.5 创建软件目录

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

6.其他使用命令

2.6 配置用户环境变量

连接数据库 sqlplus /nolog、sqlplus /as sysdba、select name from v$database;

2.7 关闭各节点主机防火墙和SELinux

重启数据库服务 shutdown startup 具体网上搜索

2.8 各节点系统时间校对

查看linux名称 uname

1.实施前准备工作

查看oracle安装目录 echo $ORACLE_HOME

1.1 服务器安装操作系统

查看ip地址 ifconfig

配置完全相同的两台服务器,安装相同版本的Linux操作系统。留存系统光盘或者镜像文件。我这里是OEL5.7,系统目录大小均一致。对应OEL5.7的系统镜像文件放在服务器上,供后面配置本地yum使用。

7.配置完成连接测试

1.2 Oracle安装介质

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Oracle 10.2.0.1版本的clusterware和db,以及10.2.0.5的升级包。

-rwxr-xr-x 1 root root 302M 12月 24 13:07 10201_clusterware_linux_x86_64.cpio.gz-rwxr-xr-x 1 root root 724M 12月 24 13:08 10201_database_linux_x86_64.cpio.gz-rwxr-xr-x 1 root root 1.2G 12月 24 13:10 p8202632_10205_Linux-x86-64.zip

这个用MOS账号自己去support.oracle.com下载,然后只需要上传到节点1即可。

1.3 共享存储规划

从存储中划分出两台主机可以同时看到的共享LUN。

我这里自己的实验环境是使用openfiler模拟出共享LUN:

5个100M大小LUN;用于OCR,votedisk;

TAG标签:
版权声明:本文由澳门金莎娱乐网站发布于数据库,转载请注明出处:minus用法详解及应用实例_oracle_脚本之家,准备工