oracle19c怎么创建Scott,Oracle db-sample-schema-19c安装(scott hr oe pm ix sh bi用户创建部署)...
Windows平臺上,Oracle19c軟件完成安裝和建庫之后,在學習《Oracle SQL高級編程》的過程中,發現沒有scott、hr、oe、pm、ix、sh、bi用戶,需要額外動手創建部署。
一、scott用戶需要利用$ORACLE_HOME\rdbms\admin\scott.sql腳本來創建。
/*1:利用SQL Plus登錄sys或system as sysdba,執行腳本,創建scott用戶資源*/
win+r
輸入sqlplus /nolog
SQL> conn system/system as sysdba
SQL> @D:\WINDOWS.X64_193000_db_home\rdbms\admin\scott.sql
題外話:如果是Linux平臺上,scott用戶的創建腳本則需要執行:
SQL> @/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/utlsampl.sql
/*2:修改scott密碼*/
SQL> alter user scott identified by tiger;
/*3:解鎖用戶*/
SQL> alter user scott account unlock;
/*4:登錄scott用戶,驗證一下*/
SQL> conn scott/tiger
SQL> show user
/*5:也可以利用sys或system用戶驗證*/
SQL> SELECT OWNER, OBJECT_TYPE, COUNT(1) FROM DBA_OBJECTS WHERE OWNER IN ('SCOTT') GROUP BY OWNER, OBJECT_TYPE ORDER BY OWNER, OBJECT_TYPE;
OWNER? OBJECT_TYPE? ? ? ? ? ? COUNT(1)
------ -------------------- ----------
SCOTT? INDEX? ? ? ? ? ? ? ? ? ? ? ? 2
SCOTT? TABLE? ? ? ? ? ? ? ? ? ? ? ? 4
已選擇 2 行。
二、hr、oe、pm、ix、sh、bi用戶需要利用GitHub下載所需版本的db-sample-schema安裝包內的腳本來創建。
到GitHub去下載Oracle軟件版本對應的schema安裝包:https://github.com/oracle/db-sample-schemas/releases/
將下載的安裝包解壓縮到$ORACLE_HOME\demo\schema
所需的腳本文件可以在$ORACLE_HOME\demo\schema\db-sample-schemas-19c下看到
根據README.txt和README.md文件中的提示,完成用戶創建部署。
最重要的就是:README.md文件中的以下提示
### 2.3. Change all embedded paths to match your working directory
The installation scripts need your current directory embedded in
various locations.? Use a text editor or the following Perl script to
make the changes, replacing occurrences of the token `__SUB__CWD__`
with your current working directory, for example
`/home/oracle/db-sample-schemas`
```shell
perl -p -i.bak -e 's#__SUB__CWD__#'$(pwd)'#g' *.sql */*.sql */*.dat
```
perl這句話你要是讀不懂的話,沒關系。
你可以手動將db-sample-schema目錄及子目錄下的后綴為.sql和.dat的腳本文件中的字符串"__SUB__CWD__"替換為你自己的"$ORACLE_HOME\demo\schema\db-sample-schemas-19c"字符串,即:將字符串"__SUB__CWD__"替換為你自己的db-sample-schema文件夾路徑。
同時,你要把腳本文件中涉及到的、被修改的目錄字符串后面相關的子目錄的 斜杠/ 改為 斜杠\ ,這是因為腳本文件中涉及到的目錄都是Linux平臺目錄的寫法,而我的Oracle數據庫軟件是安裝在Windows平臺上的,所以相關目錄要與Windows平臺目錄的寫法保持一致,這也是某些表無法正常導入數據的主要原因。
在Windows平臺上,如果只是修改了"$ORACLE_HOME\demo\schema\db-sample-schemas-19c",而沒有把緊隨其后的子目錄斜杠/ 進行修改的話,就會出現這樣的錯誤:
看著上面這個目錄寫法,有沒有覺得后面兩個斜杠/ 很別扭?!
所以,腳本文件內的字符串"__SUB__CWD__"及涉及到的子目錄的斜杠/ 需要逐一進行修改,修改完成后,一定要記得保存。
另外,因為你的平臺是Windows平臺,所以腳本中很多涉及目錄路徑的寫法都要非常細節性的逐一修改到Windows平臺能夠認讀的路徑字符串。
另外,在mk_dir.sql腳本如下的語句中,純粹的目錄后面的斜杠\ 需要被刪除,否則會導致語法錯誤。
(說點題外話:perl是跨平臺的,建議用Windows的同學們,可以安裝perl,這樣可以通過baidu邊學邊用,畢竟shell、awk、sed還是很方便的文本處理工具,也便于日后自己寫批處理腳本。
如果你是Linux平臺上的Oracle19c安裝db-sample-schema的話,替換腳本文件中的字符串時,可能會用到如下類似的命令:需要使用轉義符
grep -lnr '__SUB__CWD__' *.sql */*.sql */*.dat |xargs sed -i.bak 's#__SUB__CWD__#\/u01\/app\/oracle\/product\/19.0.0\/dbhome_1\/demo\/schema\/db-sample-schemas-19c#g'
如果你打算借用虛擬機上的Linux平臺的sed等命令修改Windows平臺的db-sample-schema安裝包里的腳本字符串,可能會用到如下類似的命令:需要使用轉義符
grep -lnr '__SUB__CWD__' *.sql */*.sql */*.dat |xargs sed -i.bak 's#__SUB__CWD__#D\:\\WINDOWS\.X64_193000_db_home\\demo\\schema\\db-sample-schemas-19c#g'
在Windows平臺刪除已存在的db-sample-schemas-19c的文件夾時,如果彈出框提示沒有權限的話,別擔心,正常刪除,而后刷新一下,就能看到文件夾消失了。
)
Windows平臺上的具體安裝執行如下:
win+r
輸入sqlplus /nolog
SQL> conn system/system as sysdba
SQL> @$ORACLE_HOME\demo\schema\db-sample-schemas-19c\mksample.sql system sys hr oe pm ix sh bi users temp D:\$ORACLE_HOME\demo\log localhost:1521/orcl
如果你是Linux平臺上的Oracle19c安裝db-sample-schema的話,則需要執行:
@/u01/app/oracle/product/19.0.0/dbhome_1/demo/schema/db-sample-schemas-19c/mksample.sql system sys hr oe pm ix sh bi users temp /u01/app/oracle/product/19.0.0/dbhome_1/demo/log localhost:1521/orcl
/*檢查一下用戶創建部署是否成功*/
看看執行終端上的日志,看看sh用戶的costs表是否被成功導入數據。
用戶能夠登陸、用戶下的表能夠查詢到數據,這樣才算是db-sample-schema安裝部署成功。
如果sh.costs表始終沒有數據,那便證明db-sample-schema沒有完全成功被安裝。根據終端顯示的日志,仔細看看哪里出錯了,逐步排查腳本,肯定是哪個地方的目錄寫的有問題,細致才能成功。
在Linux平臺上,由于腳本中的目錄都是適合Linux的,所以會很容易完成db-sample-schema的安裝,sh.costs表里的數據也很容易被導入。但是如果你使用的是Windows平臺,你在排錯的過程中,由于需要很細致的閱讀腳本,所以也能獲得很多成長和進步,讀透了db-sample-schema中的腳本結構和設計,你也可以自己寫數據的批處理腳本程序了,代碼結構也會設計的很漂亮。有得必有失,細致用心地對待每一個報錯,絕對不吃虧。
我的Windows10平臺的db-sample-schema安裝始終不能把sh.costs表的數據完成導入,始終有報錯:
loading COSTS using external table
Table created.
INSERT /*+ append */ INTO costs
*
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400: data cartridge error
KUP-04020: found record longer than buffer size supported, 524288, in
D:\WINDOWS.X64_193000_db_home\demo\schema\db-sample-schemas-19c\sales_history\sa
le1v3.dat (offset=0)
總結
以上是生活随笔為你收集整理的oracle19c怎么创建Scott,Oracle db-sample-schema-19c安装(scott hr oe pm ix sh bi用户创建部署)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab坐标数据导出,大批量flue
- 下一篇: oracle 报错pls 00405,o