ORA-01945: DEFAULT ROLE[S] already specified

文档解释

ORA-01945: DEFAULT ROLE[S] already specified

Cause: The default roles clause has been given twice.

Action: Use only on default role clause.

ORA-01945错误代表指定的默认角色已存在。因此,建议在防止重复角色之前检查指定的默认角色及其状态。

官方解释

ORA-01945:DEFAULT ROLE[S]已指定

每个用户只能够指定一个默认角色,因此当试图指定一个新的默认角色,而系统发现已存在一个默认角色时,ORACLE会出错,返回错误ORA-01945。

常见案例

1、用户直接运行命令: ALTER USER userid DEFAULT ROLE anyrole;

2、重新登陆时,用户的默认角色已经变成了准备指定的anyrole

正常处理方法及步骤

1、要改变当前用户的默认角色,可以使用ALTER USER DEFAULT ROLE ;

2、首先应查看当前用户账号的默认角色。可以使用SELECT UPPER(DEFAULT_ROLE)……FROM USER$ WHERE NAME = '’;

3、如果发现有多个默认角色则会出现ORA-01945错误。这时可以使用ALTER USER DEFAULT ROLE none;来清除所有的已存在的默认角色。

4、重新执行步骤1来正确设置默认角色。

你可能感兴趣的