最近几天 ORACLE 在举办 OOW 2024 大会,ORACLE Cloud Always free 是在 OOW 19 的时候宣布的,到今年已经过去了 5年。

在 OOW 19 的时候,有幸注册体验了 ORACLE Cloud 的账号。

最近遇到一个 ORACLE 的权限需求,公司的 00 后同事,从网上搜到了 一个命令是这样的:

1
grant create any table ,alter any table,drop any table on xxusera to xxuserb;

我一看到这个命令就笑了,我长这么大在 ORACLE 上还没见过这样的命令。后来我搜索了一些,发现在 ORACLE 23ai上,竟然有类似的命令,不过上面的命令在 on 后面缺少关键字 schema ,也就是加上 schema关键字之后,在 23ai 上可以执行成功的。

查了下 ORACLE Cloud 上 在日本区已经发布的 23ai,所以就新建了一个 23ai的数据库。

初步体验如下:

数据库版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Sep 13 12:49:26 2024
Version 19.19.0.0.0

Copyright (c) 1982, 2023, Oracle. All rights reserved.

Last Successful login time: Wed Sep 11 2024 13:11:52 +00:00

Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - Production
Version 23.6.0.24.07

SQL> select BANNER_FULL from v$version;

BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - Production
Version 23.6.0.24.07


SQL>

创建两个用户,执行

1
grant create any table ,alter any table,drop any table on schema f001  to f002;
1
2
3
4
5
6
7
8
9
10
11
12
13
SQL> create user f001 identified by "F100234#a300312C";

User created.

SQL> create user f002 identified by "F100234#a300312C";

User created.

SQL> grant create any table ,alter any table,drop any table on schema f001 to f002;

Grant succeeded.

SQL>

是可以执行的。

而上面说的命令缺少 schema 关键字的时候,报错如下:

1
2
3
4
5
6
7
8
SQL>  grant create any table ,alter any table,drop any table on  f001  to f002;
grant create any table ,alter any table,drop any table on f001 to f002
*
ERROR at line 1:
ORA-00990: missing or invalid privilege


SQL>

其实在创建用户的时候报了如下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24


SQL> create user f001 identified by "F001234";
create user f001 identified by "F001234"
*
ERROR at line 1:
ORA-28219: password verification failed for mandatory profile
ORA-20000: password length less than 8 characters

SQL> create user f001 identified by "F100234#a";
create user f001 identified by "F100234#a"
*
ERROR at line 1:
ORA-28003: The password chosen did not meet the required complexity rules set
by your organization.
ORA-20000: password length less than 12 characters


SQL> create user f001 identified by "F100234#a300312C";

User created.

SQL>

发现刚开始提示不能少于 8个字符,后来又提示不能少于 12个字符,不知道是不是23ai的新特性,这个等日后再研究下。

原文作者: liups.com

原文链接: http://liups.cn/posts/fcdaa40/

许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议