九色91_成人精品一区二区三区中文字幕_国产精品久久久久一区二区三区_欧美精品久久_国产精品99久久久久久久vr_www.国产视频

Hello! 歡迎來到小浪云!


Oracle12.2創(chuàng)建數據庫遇到的一些問題


avatar
小浪云 2025-01-23 150

Oracle12.2創(chuàng)建數據庫遇到的一些問題

oracle 12cR2 版本推出后,其新特性吸引了眾多 dba 的關注。為了充分了解新版本,我們需要進行充分的測試和演練。從 12cR2 Linux 版本發(fā)布之日起,我就開始使用 DBCA 靜默創(chuàng)建數據庫進行測試,其中多租戶架構(容器數據庫 CDB)無疑是一個亮點。

CDB 架構在 12c 中的引入對 Oracle 數據庫底層架構產生了重大影響,因此 CREATE database 語句也發(fā)生了顯著變化,引入了種子數據庫 (seed) 的概念。此外,12.2 版本中 undo 表空間的管理模式也引入了 local 和 share 兩種模式,這是與 12.1 版本的主要區(qū)別。

您是否嘗試過手動創(chuàng)建數據庫?根據我的測試經驗,其中存在一些潛在問題,本文旨在幫助您避免這些彎路。

**12c 中的 CREATE DATABASE 語句**

首先,使用 CREATE DATABASE 語句創(chuàng)建數據庫。Oracle 官方文檔對 12.2 版本中的該語句進行了詳細說明。

創(chuàng)建容器數據庫時,文檔提供了兩種方式:一種使用 OMF(Oracle Managed Files),另一種是非 OMF 方式。日常使用中,我們通常更傾向于非 OMF 方式;如果數據庫位于 ASM 中,則會傾向于自動管理,因為 ASM 的文件管理基于 OMF 方式。

為了方便演示,我將使用 OMF 方式進行說明,這樣 CREATE DATABASE 語句的結構會更清晰簡潔。

創(chuàng)建一個 CDB,創(chuàng)建參數文件,并將數據庫啟動至 nomount 狀態(tài)后,可以使用以下語句:

CREATE DATABASE newcdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password EXTENT MANAGEMENT LOCAL DEFAULT TABLESPACE users DEFAULT TEMPORARY TABLESPACE temp UNDO TABLESPACE undotbs1 ENABLE PLUGGABLE DATABASE SEED SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED SYSAUX DATAFILES SIZE 100M;

與之前的版本不同之處在于以上黃色部分。

**12c 中的 catcdb.sql 腳本**

完成數據庫創(chuàng)建步驟后,工作才完成了一半。另一項重要工作是初始化數據字典,這需要手動運行 catalog.sql 和 catproc.sql 這兩個核心腳本,以及其他輔助腳本(如 publd.sql 等)。然而,12.2 版本有所改變,文檔中指出只需使用 catcdb.sql 腳本即可。

在 12.1 版本中,catcdb.sql 是一個標準的 SQL 文件,它會引用其他 SQL 腳本。但在 12.2 版本中,catcdb.sql 引用的是 catcdb.pl perl 腳本,您不會直接看到 catalog.sql 和 catproc.sql 等腳本的調用,這些都被封裝起來了。

調用方式仍然類似。

**遇到的第一個問題**

運行 catcdb.sql 腳本需要輸入兩個參數,但文檔并未解釋參數含義。這兩個參數分別是 $ORACLE_HOME/rdbms/admin 和 catcdb.pl。如果不知道參數,也不用擔心,因為您可能首先會遇到其他問題。我們先不輸入任何參數,直接回車:

@?/rdbms/admin/catcdb.sql

系統(tǒng)會提示輸入兩個參數值,然后報錯:

Can’t locate Term/ReadKey.pm in @INC (@INC contains: /U01/app/oracle/product/12.2/rdbms/admin /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /U01/app/oracle/product/12.2/rdbms/admin/catcdb.pl line 30. BEGIN failed–compilation aborted at /U01/app/oracle/product/12.2/rdbms/admin/catcdb.pl line 30.

錯誤提示找不到 ReadKey.pm 模塊。雖然 Linuxunix 系統(tǒng)自帶 Perl,但無需重新安裝 Perl。所需文件位于 $ORACLE_HOME 下的 Perl 目錄(版本為 5.22.0),只需將該目錄添加到 PATH 環(huán)境變量即可:

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$ORACLE_HOME/jdk/bin:$PATH

這樣就解決了第一個問題。

**遇到的第二個問題**

接下來,可能會遇到找不到 util.pm 模塊的問題:

Can’t locate util.pm in @INC (you may need to install the util module) (@INC contains: /U01/app/oracle/product/12.2/rdbms/admin /home/U01/app/oracle/product/12.2/perl/lib/site_perl/5.22.0/x86_64-linux-thread-multi /home/U01/app/oracle/product/12.2/perl/lib/site_perl/5.22.0 /home/U01/app/oracle/product/12.2/perl/lib/5.22.0/x86_64-linux-thread-multi /home/U01/app/oracle/product/12.2/perl/lib/5.22.0 .) at /U01/app/oracle/product/12.2/rdbms/admin/catcdb.pl line 35. BEGIN failed–compilation aborted at /U01/app/oracle/product/12.2/rdbms/admin/catcdb.pl line 35.

這時,我們需要查找 util.pm 文件。如果找不到,可以嘗試將 util 改為 Util,看看是否能找到匹配的文件。

**需要手動修改 catcdb.pl 腳本**

找到 Util.pm 文件后,需要修改 catcdb.pl 腳本,將 util 修改為 Util:

use Term::ReadKey;             # to not echo password use Getopt::Long; use Cwd; use File::Spec; use Data::Dumper; use Util qw(trim, splitToArray); #修改為Util use catcon qw(catconSqlplus);

修改后再次運行,仍然可能報錯。這時,需要切換到 Hash 目錄下運行腳本。

**小結**

以上問題希望能幫助大家避免在 12.2 版本中手動創(chuàng)建數據庫時遇到的問題。 這些細節(jié)問題提醒我們,在使用新版本數據庫時,需要仔細閱讀文檔并進行充分的測試。 希望本文能對您的工作有所幫助。

相關閱讀

主站蜘蛛池模板: 中文天堂网| 中文在线播放 | 日韩一区二区在线视频 | 国产日韩欧美精品一区二区三区 | 老外几下就让我高潮了 | 天天天天天操 | av影音 | caoporn国产 | h片免费看| 日韩成人 | 成人欧美一区二区三区黑人孕妇 | 在线成人免费观看 | 欧美一区二区三区在线 | 亚洲欧美在线视频 | 免费高清av | 日本中文字幕在线视频 | 亚洲九九 | 日韩在线观看一区二区三区 | 国产成人免费在线 | 在线观看免费av网 | 欧美精品一区二区三区一线天视频 | 精品国产乱码久久久久久1区2区 | 狠狠干网站| 久久com| 欧美黄色片在线观看 | 九九热视频这里只有精品 | 色视频一区二区 | 麻豆精品国产91久久久久久 | 在线观看日韩精品视频 | 嫩草91在线| 日本a在线 | 久久久久久久久久毛片 | 精品国产欧美一区二区三区成人 | 色偷偷人人澡人人爽人人模 | 全部免费毛片在线播放网站 | 久久久久久国产精品 | 成人av在线播放 | 中文字幕在线观看www | 久久一二三区 | 久久综合久久久 | 爱爱免费视频 |