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 用户及其数据。

相关推荐
Treh UNFO12 小时前
SQL 注入详解:原理、危害与防范措施
数据库·sql·oracle
hsjcjh12 小时前
PostgreSQL 查看数据库及表中数据占用空间大小
数据库·postgresql·oracle
Irene199112 小时前
(AI总结版)SQL Developer 安装好了,Oracle 21c XE 数据库已连接,之后的操作:搭建大数据开发的基础环境
数据库·oracle
懒铭心12 小时前
Oracle 11g DataGuard 搭建指南
oracle
希望永不加班13 小时前
SpringBoot 缓存一致性:缓存与数据库双写策略
数据库·spring boot·后端·缓存·oracle
淘矿人14 小时前
2026大模型API中转平台深度评测:weelinking领衔五大服务商横向实测与选型指南
开发语言·人工智能·python·oracle·数据挖掘·php·pygame
逻辑驱动的ken1 天前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表
下地种菜小叶1 天前
定时任务系统怎么设计?一次讲清任务注册、分布式调度、幂等执行与失败补偿
java·开发语言·数据库·oracle·rabbitmq
-XWB-1 天前
【Oracle】Oracle诊断系列(5/6):统计信息与执行计划——优化器的“大脑”管理
数据库·oracle
大江东去浪淘尽千古风流人物1 天前
【cuVSLAM】项目解析:一套偏工程实战的 GPU 紧耦合视觉惯性 SLAM
数据库·人工智能·python·机器学习·oracle