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

相关推荐
betazhou9 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
zxrhhm13 小时前
Oracle 中的虚拟列Virtual Columns和PostgreSQL Generated Columns生成列
postgresql·oracle·vr
进击的雷神1 天前
数据库知识全面考查:从基础概念到实战应用
jvm·数据库·oracle
清酒伴风(面试准备中......)1 天前
小白学编程之——数据库如何性能优化
数据库·oracle·性能优化
文牧之2 天前
AutoVACUUM (PostgreSQL) 与 DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC (Oracle) 对比
运维·数据库·postgresql·oracle
難釋懷2 天前
Android开发-在应用之间共享数据
android·jvm·oracle
恪心与java2 天前
mysql
数据库·mysql·oracle
wangcheng86992 天前
Oracle常用函数-日期时间类型
数据库·sql·oracle
右璇3 天前
ORACLE查看归档是否打开
数据库·oracle
数澜悠客3 天前
AI规则引擎:解锁SQL数据分析新姿势
数据库·人工智能·oracle