很抱歉有一个新手问题。我从official dockerfile安装了Oracle Database 18。 Dockerfile将安装Oracle数据库并创建以下用户:SYS,SYSTEM和PDBADMIN。
1)我应该使用什么用户来创建测试表?例如,我应该创建一个单独的用户还是向PDBADMIN授予“创建表”权限?常见的做法是什么?
2)我应该指定什么schema_name?
首先,我需要创建一个像这样的表:
CREATE TABLE schema_name.Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
现在,如果我尝试使用PDBADMIN创建此表,则会出现以下错误:
ORA-01031: insufficient privileges
01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to perform a database operation without
the necessary privileges.
*Action: Ask your database administrator or designated security
administrator to grant you the necessary privileges
EDIT1 :我按以下方式运行容器:
sudo docker build -t oracle/database-se:18.3.0 --build-arg DB_EDITION=SE2 .
sudo docker run -d -it --rm --name oracle18se oracle/database-se:18.3.0
有关更多信息,请参见instruction I followed。
EDIT2:看起来我的数据库(PDB)名称为ORCLPDB1,因为在运行容器时我没有同时指定ORACLE_SID和ORACLE_PDB。