Oracle 11g无Scott模式、show pdbs报错且找不到scott.sql求助
Oracle 11g Scott用户相关问题解决指南
关于show pdbs命令报错
Oracle 11g不支持CDB/PDB多租户架构,show pdbs是Oracle 12c及以上版本才有的命令,11g环境下无需使用该命令,直接专注解决Scott用户问题即可。
Scott用户不存在及找不到scott.sql的解决办法
1. 查找scott.sql脚本
scott.sql默认位于Oracle安装目录的rdbms/admin子目录下:
- Linux/Unix系统:
$ORACLE_HOME/rdbms/admin/scott.sql - Windows系统:
%ORACLE_HOME%\rdbms\admin\scott.sql
如果找不到该文件,大概率是安装Oracle时未勾选示例数据库选项,或文件被误删除。
2. 手动创建Scott用户及示例数据
若找不到scott.sql,可通过以下步骤手动完成:
- 以sysdba身份登录SQL*Plus:
sqlplus / as sysdba - 创建Scott用户(默认密码
tiger,可自行修改):CREATE USER scott IDENTIFIED BY tiger; - 授予必要权限:
GRANT CONNECT, RESOURCE, DBA TO scott; - 切换到Scott用户:
CONNECT scott/tiger; - 创建并初始化示例表(以emp、dept表为例):
-- 创建部门表 CREATE TABLE dept ( deptno NUMBER(2) PRIMARY KEY, dname VARCHAR2(14), loc VARCHAR2(13) ); -- 创建员工表 CREATE TABLE emp ( empno NUMBER(4) PRIMARY KEY, ename VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4), hiredate DATE, sal NUMBER(7,2), comm NUMBER(7,2), deptno NUMBER(2) REFERENCES dept(deptno) ); -- 插入示例数据 INSERT INTO dept VALUES (10, 'ACCOUNTING', 'NEW YORK'); INSERT INTO dept VALUES (20, 'RESEARCH', 'DALLAS'); INSERT INTO dept VALUES (30, 'SALES', 'CHICAGO'); INSERT INTO dept VALUES (40, 'OPERATIONS', 'BOSTON'); INSERT INTO emp VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('17-12-1980', 'DD-MM-YYYY'), 800, NULL, 20); INSERT INTO emp VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('20-2-1981', 'DD-MM-YYYY'), 1600, 300, 30); INSERT INTO emp VALUES (7521, 'WARD', 'SALESMAN', 7698, TO_DATE('22-2-1981', 'DD-MM-YYYY'), 1250, 500, 30); INSERT INTO emp VALUES (7566, 'JONES', 'MANAGER', 7839, TO_DATE('2-4-1981', 'DD-MM-YYYY'), 2975, NULL, 20); -- 提交数据 COMMIT;
3. 恢复scott.sql脚本(可选)
若需要使用官方脚本,可从其他完整安装的Oracle 11g环境中复制scott.sql文件到本地对应目录,然后以sysdba身份执行:
@$ORACLE_HOME/rdbms/admin/scott.sql -- Linux/Unix @%ORACLE_HOME%\rdbms\admin\scott.sql -- Windows
内容的提问来源于stack exchange,提问作者Jinit Patel
相关产品推荐
相关产品推荐

