在做Oracle数据库实验时都会用到一些示例SCHEMA如:HR、OE、SH等,在Oracle11g版本时在DBCA时直接勾选Sample Schemas就可以安装这些示例SCHEMA,如下图:

但到了Oracle12.2 版本,也有一个示例Schemas选项卡如下图所示:

但是数据库安装完成后却还是没有这些示例SCHEMA,到底是怎么回事呢?我们来查一下官方文档:

Starting with Oracle Database 12c Release 2, the latest version of the sample schema scripts are available on GitHub athttps://github.com/oracle/db-sample-schemas/releases/latest.

During a complete installation of Oracle Database, the HR schema can be installed either manually or automatically when creating a database using thedbcaoption. All the other sample schemas must be installed manually via the scripts available on GitHub.

从上面的官方文档中我们可以看到从Oracle12.2版本开始,示例Schemas的脚本被放到了GitHub上,在DBCA安装时只会安装hr示例Schema。从文档中给出的指定地址下载示例Schema安装脚本:

从README.txt文档中找到安装方法,开始安装:

sys@ORA12C>@mksamplespecifypasswordforSYSTEMasparameter1:Entervaluefor1:123456specifypasswordforSYSasparameter2:Entervaluefor2:123456specifypasswordforHRasparameter3:Entervaluefor3:hrspecifypasswordforOEasparameter4:Entervaluefor4:oespecifypasswordforPMasparameter5:Entervaluefor5:pmspecifypasswordforIXasparameter6:Entervaluefor6:ixspecifypasswordforSHasparameter7:Entervaluefor7:shspecifypasswordforBIasparameter8:Entervaluefor8:bispecifydefaulttablespaceasparameter9:Entervaluefor9:usersspecifytemporarytablespaceasparameter10:Entervaluefor10:tempspecifylogfiledirectory(includingtrailingdelimiter)asparameter11:Entervaluefor11:/home/oracle/dbcaspecifyconnectstringasparameter12:Entervaluefor12:localhost:1521/ora12cSampleSchemasarebeingcreated...mkdir:cannotcreatedirectory‘/home/oracle/dbca’:FileexistsConnected.DROPUSERhrCASCADE*ERRORatline1:ORA-01918:user'HR'doesnotexistDROPUSERoeCASCADE*ERRORatline1:ORA-01918:user'OE'doesnotexistDROPUSERpmCASCADE*ERRORatline1:ORA-01918:user'PM'doesnotexistDROPUSERixCASCADE*ERRORatline1:ORA-01918:user'IX'doesnotexistDROPUSERshCASCADE*ERRORatline1:ORA-01918:user'SH'doesnotexistDROPUSERbiCASCADE*ERRORatline1:ORA-01918:user'BI'doesnotexistConnected.SP2-0310:unabletoopenfile"__SUB__CWD__/human_resources/hr_main.sql"Connected.SP2-0310:unabletoopenfile"__SUB__CWD__/order_entry/oe_main.sql"Connected.SP2-0310:unabletoopenfile"__SUB__CWD__/product_media/pm_main.sql"Connected.SP2-0310:unabletoopenfile"__SUB__CWD__/info_exchange/ix_main.sql"Connected.SP2-0310:unabletoopenfile"__SUB__CWD__/sales_history/sh_main.sql"Connected.SP2-0310:unabletoopenfile"__SUB__CWD__/bus_intelligence/bi_main.sql"Connected.notspoolingcurrentlySP2-0310:unabletoopenfile"__SUB__CWD__/mkverify.sql"

从上面看到输出报错,没有安装成功。报错的是“__SUB__CWD__”没有找到,打开mksample.sql文件,确实有这个变量,但不知道在哪里声明的。

重新查看README.md文档看到需要把“__SUB__CWD__”这个变量替换为当前路径,还给出了命令:

[oracle@rhel7db-sample-schemas-12.2.0.1]$perl-p-i.bak-e's#__SUB__CWD__#'$(pwd)'#g'*.sql*/*.sql*/*.dat

执行完上面的脚本后重新安装示例Schema:

sys@ORA12C>@mksample123456123456hroepmixshbiuserstemp/home/oracle/dbca/192.168.56.22:1521/ora12c

最终安装成功:

system@ORA12C>selectusername,createdfromdba_userswherecreated>sysdate-1;USERNAMECREATED-----------------------------------------------OE2017081623:32:22SH2017081623:34:25PM2017081623:33:13IX2017081623:34:12BI2017081623:36:20HR2017081623:32:07

参考:http://docs.oracle.com/database/122/COMSC/installing-sample-schemas.htm#COMSC-GUID-B0BEE222-D8B0-4B68-B359-DEA153956EF6