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

相关推荐
Irene19918 小时前
SQL示例:分别使用 MySQL 和 Oracle 创建表,MySQL 插入数据建索引(自增主键、指定主键的区别,VARCHAR,VARCHAR2)
mysql·oracle
预测模型的开发与应用研究9 小时前
Oracle双库部署
数据库·oracle
是桃萌萌鸭~10 小时前
oracle的隐藏虚拟列详解
运维·数据库·oracle
Geoffwo11 小时前
Oracle MySQL8.0升级8.4,无感升级数据库
数据库·oracle
Irene199114 小时前
Oracle 查看表结构的方法(MySQL vs Oracle 查看表结构对比)
oracle
Irene199114 小时前
(课堂笔记)拉链表、索引与分区
oracle
lifewange14 小时前
SQL Server、MySQL、Oracle 核心区别对比
数据库·mysql·oracle
liwulin050614 小时前
【JAVAFX】从ORACLE JDK切换到国内的JDK以便使用JAVAFX功能
java·数据库·oracle
承渊政道16 小时前
Oracle迁移避坑:一个(+)写错,LEFT JOIN可能变INNER JOIN
运维·服务器·数据库·数据仓库·学习·安全·oracle
Irene199116 小时前
MySQL、Oracle 数据库:唯一索引、普通索引、NUM_ROWS(行数)、ROW_NUM / ROWNUM(行号)
mysql·oracle