如果是,请问如何做到这一点?
我使用“系统”用户连接,我尝试了以下命令,但没有成功。
alter table sys.all_users add Piwpiw varchar(1);
我收到错误消息,指出此表不存在。
但是,当我查询它时,它可以工作。
select * from SYS.all_users;
返回大约 30 个用户;
谢谢你。
如果是,请问如何做到这一点?
我使用“系统”用户连接,我尝试了以下命令,但没有成功。
alter table sys.all_users add Piwpiw varchar(1);
我收到错误消息,指出此表不存在。
但是,当我查询它时,它可以工作。
select * from SYS.all_users;
返回大约 30 个用户;
谢谢你。
如果可以,那将是一个非常糟糕的主意。修改数据字典中的对象会立即使您的数据库不受支持,并且当您想要执行诸如应用补丁集或升级数据库之类的操作时,几乎肯定会在以后产生问题。当您尝试执行诸如修改用户之类的操作时,它很有可能也会导致某些递归 SQL 语句失败。您甚至不应该在SYS
orSYSTEM
模式中创建新对象。
如果您想要记录有关用户的一些附加信息,请在存储此信息SYS
或SYSTEM
存储此信息的架构中创建一个附加表。
假设您将由任何 Oracle 交付的脚本创建的任何用户视为“默认用户”,无论它是否在数据库安装时或之后运行,并假设您没有手动创建与任何用户同名的用户一个 Oracle 脚本将创建,最简单的选择可能是获取在线可用的各种默认密码列表之一,并与那里列出的用户进行比较。
登录到 Oracle 数据库的典型应用程序将具有某种管理模块,在该模块中创建应用程序用户并授予适当的权限。其他用户属性存储在应用程序模式用户拥有的单独表 *my_app_users* 中。
要列出应用程序用户,您可以加入 all_users 和 my_app_users,如下所示:
select u.username, m.firstname, m.lastname, m.comments, m.attrib1, m.attrib2, etc..
from
all_users u,
my_app_users m
where
u.username = m.username;