Windows平台下为Oracle Database 21C添加hr用户 部署Oracle官方提供的hr示例架构

上一篇中,记录了如何在Oracle Database 21C现有的scott.sql脚本下创建scott用户,那么对于hr用户,以及对应的实例如何安装部署呢?

从 Oracle Database 21c 开始,HR 示例架构不再作为 Oracle 数据库的一部分提供……

从官方的说明中可以看到,hr示例已经被划分了出来,官方也提供了相关的安装部署步骤,详见:这篇官方文档。当然,如果照搬照抄官方给出的代码,那么执行过程中不出意外大多会出现一些错误,所以如果有需要请往下看吧……

说明

本文只是参照官方文档来记录相关的步骤,对于一些会出现的问题进行修改,从而完成手动安装hr示例。所以如果不是你想要的内容,那么可以“×”关闭了。

视频随手录了一下,反正看得懂就行了……

[bvideo bv="BV1794y1o7aR"][/bvideo]

1.hr示例架构包

1.1 下载示例包

截至水本文为止,官方提供了两个版本的示例架构包:

 

上面自行选择一个,本文选择的是“最新版本”。不大,30m不到。

觉得下载慢可以使用博主上传到天翼云盘的文件,搬运自上面的GitHub。

download
来源:天翼云盘 | 提取码:skf2

1.2 复制脚本文件

下载完成后,可以打开或者解压改压缩包。然后将里面的 human_resources 文件夹复制一下,(你可以直接复制到 21C_Home根目录下或者其它地方似乎也可以,只要后面路径一致就没问题)为了方便识别,这里博主是将 human_resources 复制到 21C_Home目录/demo/schema/ 文件夹下。

1.3 修改相关路径

首先打开你刚刚复制的 human_resources 文件夹,找到里面的 hr_main.sql 选中编辑。

然后拉到文本的最后面,将里面的 __SUB__CWD__ 替换为 英文 的问号 ?/demo/schema

“最新版” 需要替换6个地方。19.2不清楚,自己可以试一下。

2.导入hr示例架构包

接下来似乎就没啥需要特别记录的了?!导入一下完事儿。简单记录一下,随便看看就好:

首先使用sys以sysdba身份登录:sys as sysdba  或者直接/ as sysdba  连密码都省了。
然后看一下你的可读写库名称:show pdbs;
接着切换到你的可读写库:alter session set container = 你的可读写库名称;
到这里,如果上面的你的可读写库状态为“MOUNT”,那么请先使用 alter database onen;  打开它。
再次使用:show pdbs; 当可读写库状态为“READ WRITE”,就可以开始导入hr的示例架构脚本文件了。
直接使用 @?/demo/schema/human_resources/hr_main.sql; 开始导入。之后?按照提示填填就ok,这里按照官方的简单填一下,可以参考看看:

  • 第一个填hr的密码
  • 第二个填hr的表空间,如:users
  • 第三个填临时表空间,如:temp
  • 第四个填你的sys账户密码,就不要照搬了哈
  • 第五个填log日志文件路径,建议按官方的来$ORACLE_HOME/demo/schema/log/  当然直接写si也没事,只要你不移动21c_home根目录。
  • 第六个填指定连接可读写库,格式:主机名:端口/可读写库   当然,“主机名”使用 localhost 似乎也可以,但我自己没试过,不过反正都是127.0.0.1本地的意思,所以应该是通用的??

 

再之后?就没有了,回车之后(如果卡住了不动了就点一下cmd窗口,然后多回车几次,有时候是光标失去焦点,没往下执行),直接就能正常使用hr用户登录~愉快的玩耍去吧。

注意:第六个中,末尾 就不要习惯性的加分号 来表示结束了,不然会报错的……
其中,log文件路径(图中绿色下划线部分)最好还是填官方建议的吧:$ORACLE_HOME/demo/schema/log/ 

碎碎念

关于卸载hr示例架构

首先使用hr登录:conn HR/HR@主机名:端口/可读写库名;

之后导入执行脚本,删除hr里的表:@?/demo/schema/human_resources/human_reshr_drop.sql; 可能会要求你输入hr的密码。

然后连接到sys用户:conn sys as sysdba

再切换到可读写库里:alter session set container = 你的可读写库;

最后删除hr用户就可以了:DROP USER hr CASCADE;

不放心可以查询一下当前可读写库里的所有用户名:select username from all_users;

相关连接

阅读剩余
THE END