linux下oracle缺少wmsys.wm_concat函数,执行创建视图的时候报错:ORA-00904

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下oracle缺少wmsys.wm_concat函数,执行创建视图的时候报错:ORA-00904相关的知识,希望对你有一定的参考价值。

错误提示:ORA-00904:"wmsys.wm_concat":invalid identified;同样的语句在windows环境下的oracle能成功执行,linux下就报错,求在linux下安装该函数的方法(不要重装,linux现在是生产环境,重装工程太浩大)

你linux下oracle是什么版本? windows下oracle是什么版本?

wmsys.wm_concat这个函数是oracle内部用的,不给开发的人用的, 在一些新版本中这个函数被去掉了,不给外人用了。追问

Linux和windows下Oracle的版本都是10g

追答

http://www.askmaclean.com/archives/wmsys-wm_concat.html

追问

太高深了,本人只是懂一点Oracle的应用皮毛,按照链接里那样创建函数没那能力,我网上查了资料,说是需要用SQLPLUS执行下一下几个脚本就可以了。
owmctab.plb;
owmaggrs.plb
owmaggrb.plb
可是Linux里Oracle的这几个脚本不知道在什么路劲下面

追答

你搞错了吧, 不需要能力, 脚本都给你了,执行下不会?

追问

plb脚本路径一找到,怎么执行,求详细步骤,我用Xshell链接了Linux,su - oracle 登陆了oracle,还使用了system用户登陆了SQL,但是用 ./..../owmctab.plb 执行时提示没有文件,plb文件已经赋予了权限。

追答

不需要那个脚本, 上面的地址给了你脚本全文了。

参考技术A 你确认一下你oracle的版本
这个是在10g以后才引用的,看看你linux的oracle版本追问

Oracle是10G的,操作系统是RedHat6.3的

追答

你有执行不成功的截图吗

linux系统下设置oracle开机自动启动

在Linux系统中,安装好oracle数据库服务后,并不像在Windows系统下一样,oracle服务在默认情况下会随系统的启动自动启动。Linux系统中,是需要用户去手动进行设置,才能实现oracle开机自动启动的。本文将一步一步教你如何进行设置。

安装好oracle的linux系统(以rhel7.4、Oracle 11g为例)

方法/步骤

1、前提条件:你已经在Linux系统中正确安装好oracle服务,使用手动方式可以正常启动。

查看ORACLE_HOME是否设置
$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1
执行dbstart 数据库自带启动脚本
[[email protected] ~]$ cd $ORACLE_HOME
[[email protected] dbhome_1]$ cd bin/
[[email protected] bin]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener Usage: 
/u01/app/oracle/product/11.2.0/db_1/bin/dbstart ORACLE_HOME
错误提示:ORACLE_HOME_LISTNER 没有设置

[[email protected] bin]$ ll | grep dbs
-rwxr-x---. 1 oracle oinstall 6088 1月 1 2000 dbshut
-rwxr-x---. 1 oracle oinstall 13892 12月 11 16:01 dbstart
编辑 dbstart,将ORACLE_HOME_LISTNER=$1修改成 ORACLE_HOME_LISTNER=$ORACLE_HOME 
前提是$ORACLE_HOME环境设置正确

[[email protected] bin]$ vi dbstart 
ORACLE_HOME_LISTNER=/u01/app/oracle/product/11.2.0/dbhome_1

2、使用vi编辑器编辑文件/etc/oratab

dbca建库时都会自动创建/etc/oratab文件

#vi /etc/oratab
将“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N”,
改为“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:Y”。
修改完成后,保存退出

**说明:**orcl为实例名;/u01/app/oracle/product/12.1.0/dbhome1为oracle安装目录;会因安装的情况不同而有所不同。
技术分享图片

3、编辑/etc/rc.d/rc.local启动文件,添加数据库启动脚本dbstart

#vi /etc/rc.d/rc.local
末尾添加:
su oracle -lc "/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart

**说明:**/u01/app/oracle/product/12.1.0/dbhome1为oracle的安装目录,要根据实际情况进行修改。
技术分享图片

4、重启主机,查看数据库和监听是自启动

以上是关于linux下oracle缺少wmsys.wm_concat函数,执行创建视图的时候报错:ORA-00904的主要内容,如果未能解决你的问题,请参考以下文章

我在ubuntu上安装oracle数据库缺少下面这些包

centos 6.0下安装oracle 10g出现的问题

linux下的iso镜像怎么安装

RHEL 6上安装Oracle 11G警告缺少pdksh包

arm-linux下缺少libopencv_ts

oracle linux 安装Oracle Database 11gR2