Oracle 19c 中启用 scott 用户

Oracle 19c 中启用 scott 用户

文章目录

  • [Oracle 19c 中启用 scott 用户](#Oracle 19c 中启用 scott 用户)
  • 正常操作
  • [如果ORA-01918: 用户 'SCOTT' 不存在](#如果ORA-01918: 用户 'SCOTT' 不存在)
  • [@?/sqlplus/admin/scott.sql 没有 scott.sql 怎么处理](#@?/sqlplus/admin/scott.sql 没有 scott.sql 怎么处理)

正常操作

连接到 Oracle 数据库: 使用 sqlplus 工具或者其他 SQL 客户端工具(如 SQL Developer)以管理员身份(如 sysdba)连接到数据库。

sql 复制代码
sqlplus / as sysdba

解锁 scott 用户: Oracle 默认将 scott 用户锁定,您可以使用以下命令来解锁它:

sql 复制代码
ALTER USER scott ACCOUNT UNLOCK;

重置密码(可选): Oracle 默认会给 scott 用户设置一个密码,您可以通过以下命令来重置密码:

sql 复制代码
ALTER USER scott IDENTIFIED BY tiger;

这里将密码设置为 tiger,您可以将其更改为任何您想要的密码。

授予权限(可选): 如果 scott 用户没有足够的权限,您可以授予它一些权限。一般情况下,CONNECT 和 RESOURCE 权限就足够了:

sql 复制代码
GRANT CONNECT, RESOURCE TO scott;

连接到 scott 用户: 完成以上步骤后,您可以使用 scott 用户名和密码(例如 tiger)连接到数据库。

sql 复制代码
sqlplus scott/tiger@数据库服务名

这样,scott 用户就可以正常使用了。

如果ORA-01918: 用户 'SCOTT' 不存在

果您在尝试启用 scott 用户时遇到 ORA-01918: 用户 'SCOTT' 不存在 错误,可能是因为该用户没有被创建或被删除。您可以按照以下步骤进行处理:

确认用户是否存在: 先检查 scott 用户是否在数据库中存在。可以使用以下查询来检查:

sql 复制代码
SELECT username FROM all_users WHERE username = 'SCOTT';

创建 scott 用户: 如果没有找到该用户,您可以通过运行以下脚本来创建 scott 用户及其表:

sql 复制代码
@?/sqlplus/admin/scott.sql

这条命令会执行 scott 用户的创建脚本,默认会在 Oracle 的安装目录中。

解锁并设置密码: 创建用户后,按照之前的步骤解锁 scott 用户并设置密码:

sql 复制代码
ALTER USER scott ACCOUNT UNLOCK;
ALTER USER scott IDENTIFIED BY tiger;

连接到 scott 用户: 一旦用户被创建并解锁,您就可以连接到 scott 用户:

sql 复制代码
sqlplus scott/tiger@数据库服务名

确保您具有适当的权限来执行这些操作。

@?/sqlplus/admin/scott.sql 没有 scott.sql 怎么处理

如果在 Oracle 19c 中没有找到 scott.sql 文件,您可以手动创建 scott 用户并导入 scott 模式的数据。请按照以下步骤操作:

创建 scott 用户:

sql 复制代码
CREATE USER scott IDENTIFIED BY tiger;

授予权限:

sql 复制代码
GRANT CONNECT, RESOURCE TO scott;

解锁用户:

sql 复制代码
ALTER USER scott ACCOUNT UNLOCK;

创建 scott 模式的数据表: 如果您希望手动创建 scott 模式中的表,可以通过以下 SQL 脚本来创建常见的 scott 表:

sql 复制代码
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)
);

CREATE TABLE dept (
    deptno NUMBER(2) PRIMARY KEY,
    dname VARCHAR2(14),
    loc VARCHAR2(13)
);

-- 其他您需要的表可以在这里继续创建

插入示例数据: 您可以根据需要插入示例数据,以下是一些示例数据的插入语句:

sql 复制代码
INSERT INTO dept (deptno, dname, loc) VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO dept (deptno, dname, loc) VALUES (20, 'RESEARCH', 'DALLAS');
INSERT INTO dept (deptno, dname, loc) VALUES (30, 'SALES', 'CHICAGO');
INSERT INTO dept (deptno, dname, loc) VALUES (40, 'OPERATIONS', 'BOSTON');

INSERT INTO emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('1980-12-17', 'YYYY-MM-DD'), 800, NULL, 20);

-- 其他示例数据的插入

完成这些步骤后,您将能够使用 scott 用户及其数据。

相关推荐
Lucifer三思而后行1 天前
Oracle SQL 优化实战:明明走了索引,SQL 还是慢?
sql·oracle
DarkAthena1 天前
【DuckDB】在DuckDB中查询ORACLE的数据的三种方式
oracle·duckdb
风123456789~1 天前
【Oracle专栏】更新多个表的统计信息
oracle
实心儿儿1 天前
MySQL — 库的操作
数据库·mysql·oracle
隔窗听雨眠1 天前
Oracle普通表自动改造分区表:从评估到自动化维护的完整实战指南
oracle
我要见SA姐12 天前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
我要见SA姐12 天前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
这个DBA有点耶2 天前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
oradh2 天前
Oracle联机日志文件损坏故障总结
数据库·oracle·oracle联机日志文件损坏
辰辉创聚2 天前
炎症与免疫相关细胞因子:信号通路、分类及科研检测应用
python·oracle·nycodenz·重组il-6蛋白·抗tnf-α抗体·il-1β蛋白