关闭

Oracle创建WM_CONCAT函数

标签: oracle函数11g
140人阅读 评论(0) 收藏 举报
分类:

Oracle创建WM_CONCAT函数
WM_CONCAT这个函数会出错,所以从 11g开始。官方不认可 WM_CONCAT.然后就没这个函数了,
下面就是创建WM_CONCAT这个函数的步骤

第一步:

下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb

第二步:

用sqlplus登录:CONN SYS/PASS_WORD AS SYSDBA;

一、忘记除SYS、SYSTEM用户之外的用户的登录密码。
用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA;

使用如下语句修改用户的密码: ALTER USER user_name IDENTIFIED BY “newpass”;
注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988: 口令缺失或无效

二、忘记SYS用户,或者是SYSTEM用户的密码。

如果是忘记SYSTEM用户的密码,可以用SYS用户登录。然后用ALTER USER 命令修改密码:

CONN SYS/PASS_WORD AS SYSDBA;
ALTER USER SYSTEM IDENTIFIED BY “newpass”;

如果是忘记SYS用户的密码,可以用SYSTEM用户登录。然后用ALTER USER 命令修改密码。

CONN SYSTEM/PASS_WORD ;
ALTER USER SYSTEM IDENTIFIED BY “newpass”;

三、如果SYS,SYSTEM用户的密码都忘记或是丢失。

可以使用ORAPWD.EXE 工具修改密码。
开始菜单->运行->输入‘CMD’,打开命令提示符窗口,输入如下命令:
orapwd file=D:\oracle10g\database\pwdctcsys.ora password=newpass
这个命令重新生成了数据库的密码文件。密码文件的位置在ORACLE_HOME目录下的\database目录下。
这个密码是修改sys用户的密码。除sys其他用户的密码不会改变。

第三步:

上面的三个文件下载后找到路径 前面加“@” 如: SQL> @C:\Users\ylg\Desktop\oracleowmaggrb.plb;

看自己的Oracle是否有这个函数的sql为:
SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME LIKE ‘WM_CONCAT%’;

select account_status,wmsys.wm_concat(username) from dba_users group by account_status;

如果没有WM_CONCAT函数的话依次执行:

@C:\Users\ylg\Desktop\owmctab.plb;
@C:\Users\ylg\Desktop\owmaggrs.plb
@C:\Users\ylg\Desktop\owmaggrb.plb

这样就创建建成功了赶快去试试

SELECT deptno, wmsys.wm_concat(ename) nameslist
FROM emp
GROUP BY deptno
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23481次
    • 积分:1059
    • 等级:
    • 排名:千里之外
    • 原创:85篇
    • 转载:2篇
    • 译文:0篇
    • 评论:8条
    最新评论