网上搜索Oracle19c没有Scott用户说的全部都是使用rdbms里的scott.sql
然后后边我换了个思路搜索
oracle19c添加Scott用户
看到一篇文章oracle socct用户,oracle 19c 添加 scott用户与表
按照他的来做一下就成功了,值得注意的是文章里提到的pdb容器的会话名叫做pdborcl
但是我电脑上的会话名叫做orclpdb(使用show pdbs查询)
所以文章中提到的所有pdborcl都用orclpdb替换,以下为我的步骤
在tnsnames.ora文件中添加以下片段(HOST后边为你的主机名-cmd里使用hostname查看)
tnsnames.ora位置为你的oracle home下的network/admin
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = A41A)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =orclpdb)
)
)
修改home下的rdbms/admin/utlsampl.sql
将 connect scott/tiger 改为 connect scott/tiger@ORCLPDB
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL> alter session set container=orclpdb; ##切换到pdb
会话已修改.
SQL> show con_name;
CON_NAME
------------------------------
PDBORCL
SQL> @$ORACLE_HOME/rdbms/admin/utlsampl.sql
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
然后重新登陆
SQL> alter session set container=orclpdb;
会话已修改.
SQL> select username from dba_users where username = 'SCOTT';
USERNAME
--------------------------------------------------------------------------------
SCOTT
SQL> conn scott/tiger@orclpdb
已连接.
SQL> select table_name from user_tables;
TABLE_NAME
--------------------------------------------------------------------------------
DEPT
EMP
BONUS
SALGRADE
SQL> select * from DEPT;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON