在做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 at https://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 the
option. All the other sample schemas must be installed manually via the scripts available on GitHub.
- dbca
从上面的官方文档中我们可以看到从Oracle12.2版本开始,示例Schemas的脚本被放到了GitHub上,在DBCA安装时只会安装hr示例Schema。从文档中给出的指定地址下载示例Schema安装脚本:
从README.txt文档中找到安装方法,开始安装:
- sys@ORA12C>@mksample
- specify password
- for
- SYSTEM as parameter 1:
- Enter value
- for
- 1: 123456
- specify password
- for
- SYS as parameter 2:
- Enter value
- for
- 2: 123456
- specify password
- for
- HR as parameter 3:
- Enter value
- for
- 3: hr
- specify password
- for
- OE as parameter 4:
- Enter value
- for
- 4: oe
- specify password
- for
- PM as parameter 5:
- Enter value
- for
- 5: pm
- specify password
- for
- IX as parameter 6:
- Enter value
- for
- 6: ix
- specify password
- for
- SH as parameter 7:
- Enter value
- for
- 7: sh
- specify password
- for
- BI as parameter 8:
- Enter value
- for
- 8: bi
- specify default tablespace as parameter 9:
- Enter value
- for
- 9:
- users
- specify temporary tablespace as parameter 10:
- Enter value
- for
- 10: temp
- specify log
- file
- directory (including trailing delimiter) as parameter 11:
- Enter value
- for
- 11:
- /home/oracle/dbca
- specify connect string as parameter 12:
- Enter value
- for
- 12: localhost:1521
- /ora12c
- Sample Schemas are being created ...
- mkdir
- : cannot create directory ‘
- /home/oracle/dbca
- ’: File exists
- Connected.
- DROP USER hr CASCADE
- *
- ERROR at line 1:
- ORA-01918: user
- 'HR'
- does not exist
- DROP USER oe CASCADE
- *
- ERROR at line 1:
- ORA-01918: user
- 'OE'
- does not exist
- DROP USER pm CASCADE
- *
- ERROR at line 1:
- ORA-01918: user
- 'PM'
- does not exist
- DROP USER ix CASCADE
- *
- ERROR at line 1:
- ORA-01918: user
- 'IX'
- does not exist
- DROP USER sh CASCADE
- *
- ERROR at line 1:
- ORA-01918: user
- 'SH'
- does not exist
- DROP USER bi CASCADE
- *
- ERROR at line 1:
- ORA-01918: user
- 'BI'
- does not exist
- Connected.
- SP2-0310: unable to
- open
- file
- "__SUB__CWD__/human_resources/hr_main.sql"
- Connected.
- SP2-0310: unable to
- open
- file
- "__SUB__CWD__/order_entry/oe_main.sql"
- Connected.
- SP2-0310: unable to
- open
- file
- "__SUB__CWD__/product_media/pm_main.sql"
- Connected.
- SP2-0310: unable to
- open
- file
- "__SUB__CWD__/info_exchange/ix_main.sql"
- Connected.
- SP2-0310: unable to
- open
- file
- "__SUB__CWD__/sales_history/sh_main.sql"
- Connected.
- SP2-0310: unable to
- open
- file
- "__SUB__CWD__/bus_intelligence/bi_main.sql"
- Connected.
- not spooling currently
- SP2-0310: unable to
- open
- file
- "__SUB__CWD__/mkverify.sql"
从上面看到输出报错,没有安装成功。报错的是“__SUB__CWD__”没有找到,打开mksample.sql文件,确实有这个变量,但不知道在哪里声明的。
重新查看README.md文档看到需要把“__SUB__CWD__”这个变量替换为当前路径,还给出了命令:
- [oracle
- @rhel7
- db-sample-schemas-12.2.0.1]$ perl -p -i.bak -e
- 's#__SUB__CWD__#'
- $(pwd)
- '#g'
- *.sql */*.sql */*.dat
执行完上面的脚本后重新安装示例Schema:
- sys@ORA12C>@mksample 123456 123456 hr oe pm ix sh bi users
- temp
- /home/oracle/dbca/ 192.168.56.22:1521/ora12c
最终安装成功:
- system@ORA12C>
- select
- username,created
- from
- dba_users
- where
- created>sysdate-1;
- USERNAME CREATED
- ------------------------------ -----------------
- OE 20170816 23:32:22
- SH 20170816 23:34:25
- PM 20170816 23:33:13
- IX 20170816 23:34:12
- BI 20170816 23:36:20
- HR 20170816 23:32:07
参考:http://docs.oracle.com/database/122/COMSC/installing-sample-schemas.htm#COMSC-GUID-B0BEE222-D8B0-4B68-B359-DEA153956EF6
来源: http://www.linuxidc.com/Linux/2017-08/146337.htm