當前位置:首頁 » 存儲配置 » oracle怎麼配置資料庫

oracle怎麼配置資料庫

發布時間: 2023-08-20 18:32:30

⑴ 新建Oracle資料庫的3種方法

以下是對新建Oracle資料庫的三種方法進行了詳細的分析介紹 需要的朋友可以過來參考下

通過運行Oracle Database Configuration Assistant 創建 配置 或刪除資料庫(也可在命令行下輸入dbca) 用命令行的方式建立資料庫 通過運行自定義的批處理腳本(或create_ORACLE_SID bat(create_ORACLE_SID sql))來創建 配置 或刪除資料庫

詳述 通過運行Oracle Database Configuration Assistant 創建 配置 或刪除資料庫 建議不熟悉創建過程的DBA使用該方法 只需要根據選項「下一步」進行配置 最後生成資料庫的創建腳本(建議保留) 或者直接創建資料庫 優點 GUI方法使用方便 缺點 不過創建過程有些慢

用命令行的方式建立資料庫

復制代碼 代碼如下: CONNECT / AS SYSDBA STARTUP PFILE= C:oracleadmininit_testorcl ora NOMOUNT; CREATE DATABASE testOrcl DATAFILE /u /oracle/testOrcl/system dbf SIZE M LOGFILE GROUP ( /u /oracle/testOrcl/redo a log /u /oracle/testOrcl/redo b log ) SIZE K GROUP ( /u /oracle/testOrcl/redo a log /u /oracle/testOrcl/redo b log ) SIZE K CHARACTER SET ZHS CGB ;

將資料庫直接從未建置狀態轉換到打開狀態 ALTER DATABASE OPEN;

刪除資料庫(Dropping a Database) SPOOL C:DROP_DATABASE BAT SELECT DEL ||NAME 刪除資料庫相關數據文件 FROM V$DATAFILE; SELECT DEL ||MEMBER 刪除數據重構日誌文件 FROM V$LOGFILE; SPOOL OFF;

優點 可以熟悉創建指令 創建原理 缺點 配置簡單 要求熟記命令行指令 通過運行自定義的批處理或SQL腳本(create_ORACLE_SID bat或create_ORACLE_SID sql)來創建

復制代碼 代碼如下: create_ORACLE_SID bat set ORACLE_SID= ORACLE_SID del C:ORACLE IdatabasepwdORACLE_SID ora C:ORACLE Ibinoradim new sid ORACLE_SID intpwd oracle startmode manual pfile C:ORACLE IadminORACLE_SIDpfileinit ora C:ORACLE Ibinsvrmgrl @C:_SIDrun sql C:ORACLE Ibinsvrmgrl @C:_SIDrun sql C:ORACLE Ibinoradim edit sid ORACLE_SID startmode auto ORACLE_SIDrun sql spool C:ORACLE IadminORACLE_SIDcreatecreatedb set echo on connect INTERNAL/oracle startup nomount pfile=C:ORACLE IadminORACLE_SIDpfileinit ora CREATE DATABASE ORACLE_SID LOGFILE C:ORACLE IoradataORACLE_SIDredo log SIZE K C:ORACLE IoradataORACLE_SIDredo log SIZE K MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY DATAFILE C:ORACLE IoradataORACLE_SIDsystem dbf SIZE M REUSE MAXDATAFILES MAXINSTANCES CHARACTER SET ZHT BIG NATIONAL CHARACTER SET ZHT BIG ; spool off ORACLE_SIDrun sql spool C:ORACLE IadminORACLE_SIDcreatecreatedb set echo on connect INTERNAL/oracle ALTER DATABASE DATAFILE C:ORACLE IoradataORACLE_SIDsystem dbf AUTOEXTEND ON; CREATE ROLLBACK SEGMENT SYSROL TABLESPACE "SYSTEM" STORAGE (INITIAL K NEXT K); ALTER ROLLBACK SEGMENT "SYSROL" ONLINE;

Linux平台下Oracle的操作

下面對Oracle的操作都是在Linux平台下進行的! su Oracle sqlplus /logon connect test/test assysdba(test/test是Oracle用戶和密碼) startup lsnrctl 首選啟動資料庫 su Oracle sqlplus /nolog conn /as sysdba startup 然後啟動監聽: 進入/opt/Oracle/proct/ /bin/ lsnrctl start 運行shudown命令關閉資料庫 [Oracle@wing /Oracle]$ sqlplus" / as sysdba" //以sysdba用戶登陸資料庫 SQL> shutdown

啟動Oracle i 資料庫 [Oracle@wing bin]$ sqlplus " /as sysdba" SQL> startup

啟動Oracle i監聽程序 Oracle的監聽程序主要是為客戶端的連接提供介面 [Oracle@wing bin]$ lsnrctl LSNRCTL> start

關閉Oracle i監聽程序 [Oracle@wing bin]$ lsnrctl LSNRCTL> stop 先看看Oracle_SID 環境變數設置是否正確 i $ sqlplus /nolog SQL> connect / as sysdba SQL> startup $ lsnrctl start i $ svrmgrl SVRMGR> connect internal SVRMGR> startup $ lsnrctl start 在哪裡報錯?? 一般只要設置這 處就好了~ /etc/oratab ora :/Oracle/app/Oracle/proct/ :Y /etc/inittab oralce: :wait:/bin/su Oracle c /Oracle/app/Oracle/proct/ /bin/lsnrctl start Oracle: :wait:/bin/su Oracle c /Oracle/app/Oracle/proct/ /bin/dbstart

啟動步驟 su Oracle [Oracle@websvr Oracle]$ sqlplus /nolog SQL> connect / as sysdba SQL> startup SQL> quit [Oracle@websvr Oracle]$ lsnrctl start 可用 [Oracle@websvr Oracle]$ lsnrctl status 查看監聽是否已經啟動

lishixin/Article/program/Oracle/201311/19064

⑵ Oracle資料庫監聽配置

近段時間很多網友提出監聽配置相關問題 客戶終端(Client)無法連接伺服器端(Server) 本文現對監聽配置作一簡單槐告介紹 並提出一些客戶終端無法連接伺服器端的解決思路 願對廣大網友與讀者有一些幫助 監聽器(LISTENER) 監聽器是Oracle基於伺服器端的一種網路服務 主要用於監聽客戶端向資料庫伺服器端提出的連接請求 既然是基於伺服器端的服務 那麼它也只存在於資料庫伺服器端 進行監聽器的設置也是在資料庫伺服器端完成的 本地服務名(Tnsname) Oracle客戶端與伺服器端的連接是通過客戶端發出連接請求 由伺服器端監聽器對客戶端連接請求進行合法檢查 如果連接請求有效 則進行連接 否則拒絕該連接 本地服務名是Oracle客戶端網路配置的一種 另外還有Oracle名字伺服器(Oracle Names Server)等 Oracle常用的客戶端配置就是採用的本地服務名 本文中介紹的也主要是基於本鉛悶明地服務名的配置 Oracle 網路連接配置方法 配 置Oracle伺服器端與客戶端都可以在其自帶的圖形化Oracle網路管理器(Oracle Net Manager)里完成(強烈建議在這個圖形化的工具下完成Oracle服務端或客戶端的配置) 在Windows下 點擊 開始/程序/Oracle OraHome /Configuration and Migration Tools/Net Manager 啟動Oracle網路管理器工具 在Linux/Unix下 利用netmgr命令來啟動圖形化Oracle網路管理器 如 $ netmgr Windows下啟動Net Manager圖形窗口如下圖示 圖(一) Oracle監聽器配置(LISTENER) 如 圖(一)示 選中樹形目錄中監聽程序項 再點擊左上側 + 按鈕添加監聽程序 點擊監聽程序目錄 默認新加的監聽器名稱是LISTENER(該名稱也可以 由任意合法字元命名) 選中該名稱 選中窗口右側欄下拉選項中的 監聽位置 點擊添加地址按鈕 在出現的網路地址欄的協議下拉選項中選中 TCP/IP 主機文本框中輸入主機名稱或IP地址(如果主機即用作服務端也作為客戶端 輸入兩項之一均有效 如果主機作為服務端並需要通過網路連 接 建議輸入IP地址) 埠文本框中輸入數字埠 默認是 也可以自定義任意有效數字埠 配置好的監聽位置如下圖示 圖(二) 選 中窗口右側欄下拉選項中的 資料庫服務 點擊添加資料庫按鈕 在出現的資料庫欄中輸入全局資料庫名 如myoracle 注意這里的全局資料庫名與數據 庫SID有所區別 全局資料庫名實際通過域名來控制在同一網段內資料庫全局命名的唯一性 就如Windows下的域名控制器 如這里可以輸入 myoracle Oracle主目錄可以不填寫 輸入SID 如myoracle 完整的資料庫服務配置如下圖示 圖(三) 保 存以上配置 默認即可在Oracle安裝目錄下找到監聽配置文件 (Windows下如D:oracleora eorkadminlistener ora Linux/Unix下$ ORACLE_HOME/neork/admin/listerer ora) 至此 Oracle服務端監聽器配置已經完成 本地服務名配置(Tnsnames) 本 地服務名是基於Oracle客戶端的網路罩並配置 所以 如果客戶端需要連接資料庫伺服器進行操作 則需要配置該客戶端 其依附對象可以是任意一台欲連接數據 庫伺服器進行操作的PC機 也可以是資料庫伺服器自身 如前面所介紹 可以利用Oracle自帶的圖形化管理工具Net Manager來完成Oracle客戶端的配置 選中如圖(一)中的服務命名 再點擊左上側 + 按鈕 彈出如下圖示對話框 圖(四) 輸入Net服務名 如myoracle 點擊下一步 進入下圖示對話框 圖(五) 選中TCP/IP(Internet協議) 點擊下一步 如下圖示 圖(六) 輸入主機名與埠號 注意這里的主機名與埠號必須與資料庫伺服器端監聽器配置的主機名和埠號相同 點擊下一步 如下圖示 圖(七) 選 中(Oracle i或更高版本)服務名 輸入服務名 這里的服務名實際上就是資料庫伺服器端監聽器配置中的全局資料庫名 前者與後者必須相同 連接類型 通常選專用伺服器 這要視資料庫伺服器的配置而定 如果配置的共享資料庫伺服器 這里的連接類型就要選共享伺服器 否則建議選專用伺服器(關於專用伺服器 的介紹請參閱相關文檔) 配置好後點擊下一步 如下圖示 圖(八) 如 果資料庫伺服器端相關服務啟動了 可以點擊測試按鈕進行連接測試 Oracle默認是通過scott/tiger用戶進行測試連接 由於scott用戶是 Oracle自帶的示例用戶 對於正式的業務資料庫或專業測試資料庫可能沒有配置這個用戶 所以需要更改成有效的用戶登錄才可能測試成功 如果這里測試連 接不成功 也不要緊 先點完成按鈕結束配置 回 到Oracle網路管理器(Oracle Net Manager)主窗口 保存配置 默認即可在Oracle安裝目錄下找到本地服務名配置文件 (Windows下如D:oracleora eorkadmin nsnames ora Linux/Unix下$ ORACLE_HOME/neork/admin/ tnsnames ora) 配置完成的本地服務名如下圖示 圖(九) 樹形目錄下的服務命名可以通過編輯菜單里的重命名菜單更改成任意合法字元組成的服務名稱 注意服務名稱前不能有空格字元 否則可能無法連接資料庫伺服器 連接資料庫伺服器 ( ) 啟動伺服器端監聽器與資料庫服務 Linux/Unix下 啟動監聽器 $ lsnrctl start 關閉監聽器 $ lsnrctl stop 查看監聽狀態 $ lsnrctl status 啟動資料庫 $ sqlplus /nolog SQL>conn sys@myoracle as sysdba 這里的myoracle是前面配置的客戶端本地服務名 或 SQL>conn / as sysdba SQL>startup Windows下 啟動監聽器 C:lsnrctl start 啟動Oracle實例服務 C:oradim –startup –sid myoracle 關閉Oracle實例服務 C:oradim –shutdown –sid myoracle 以上服務必須同時啟動 客戶端才能連接資料庫 由於默認配置的監聽器名稱是Listener 上述命令可以正常啟動監聽器 如果監聽器名稱是其它名稱 如aListener 則需要用下列方式才能啟動 Linux/Unix下 $ lsnrctl start aListener Windows下 C:lsnrctl start aListener ( ) 測試連接資料庫伺服器 測試的方法多種多樣 可以在上面配置本地服務名時進行測試 也可以是第三方客戶端工具 如PL/SQL Developer 最方便的是用Oracle自帶的sqlplus工具 以下利用sqlplus進行測試 C:sqlplus /nolog SQL>conn zgh@myoracle 已連接 客戶端連接伺服器端常見問題排除方法 要排除客戶端與伺服器端的連接問題 首先檢查客戶端配置是否正確(客戶端配置必須與資料庫伺服器端監聽配置一致) 再根據錯誤提示解決 下面列出幾種常見的連接問題 ORA : TNS: 沒有監聽器 顯而易見 伺服器端的監聽器沒有啟動 另外檢查客戶端IP地址或埠填寫是否正確 啟動監聽器 $ lsnrctl start 或 C:lsnrctl start ORA : TNS: 監聽程序無法啟動專用伺服器進程 對於Windows而言 沒有啟動Oracle實例服務 啟動實例服務 C:oradim –startup sid myoracle ORA : TNS: 操作超時 出現這個問題的原因很多 但主要跟網路有關 解決這個問題 首先檢查客戶端與服務端的網路是否暢通 如果網路連通 則檢查兩端的防火牆是否阻擋了連接 ORA : TNS: 無法處理服務名 檢 查輸入的服務名與配置的服務名是否一致 另外注意生成的本地服務名文件(Windows下如D:oracleora eorkadmin nsnames ora Linux/Unix下$ORACLE_HOME/neork/admin/tnsnames ora)里每項服務的首 行服務名稱前不能有空格 ORA : TNS: 監聽進程不能解析在連接描述符中給出的 SERVICE_NAME 打開Net Manager 選中服務名稱 檢查服務標識欄里的服務名輸入是否正確 該服務名必須與伺服器端監聽器配置的全局資料庫名一致 Windows下啟動監聽服務提示找不到路徑 用 命令或在服務窗口中啟動監聽提示找不到路徑 或監聽服務啟動異常 打開注冊表 進入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome TNSListener項 查看ImagePath字元串項是否存在 如果沒 有 設定值為D:oracleora BINTNSLSNR 不同的安裝路徑設定值做相應的更改 這種方法同樣適用於Oracle實例服務 同 上 找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE項 查看ImagePath字元串項是否存在 如果沒有 則新建 設定值為d:oracleora binORACLE EXE MYORACLE 以上是Oracle客戶端連接伺服器端常見的一些問題 當然不能囊括所有的連接異常 解決問題的關鍵在於方法與思路 而不是每種問題都有固定的答案 lishixin/Article/program/Oracle/201311/17900

⑶ 如何連接oracle資料庫

如何配置才能使客戶端連到資料庫:x0dx0ax0dx0a要使一個客戶端機器能連接oracle資料庫,需要在客戶端機器上安裝oracle的客戶端軟體,唯一的例外就是java連接資料庫的時候,可以用 x0dx0ajdbc x0dx0athin模式,不用裝oracle的客戶端軟體。加入你在機器上裝了oracle資料庫,就不需要在單獨在該機器上安裝oracle客戶端了,因為裝 x0dx0aoracle資料庫的時候會自動安裝oracle客戶端。x0dx0a 用過sql x0dx0aserver資料庫然後又用oracle的新手可能會有這樣的疑問:問什麼我用sql server的時候不用裝sql x0dx0aserver的客戶端呢?原因很簡單,sql server也是microsoft的,它在操作系統中集成了sql x0dx0aserver客戶端,如果microsoft與oracle有協議,將oracle客戶端也集成到操作系統中,那我們也就不用在客戶端機器裝oraclex0dx0a 客戶端軟機就可訪問資料庫了,不過,這好像是不可能實現的事情。x0dx0a 也有的人會問:為什麼在sql x0dx0aserver中沒有偵聽埠一說,而在oracle中要配置偵聽埠?其實sql x0dx0aserver中也有偵聽埠,只不過microsoft將偵聽埠固定為1433,不允許你隨便改動,這樣給你一個錯覺感覺sql x0dx0aserver中沒有偵聽埠,咳,microsoft把太多的東西都封裝到黑盒子里,方便使用的同時也帶來的需要副作用。而oracle中的偵聽埠直接x0dx0a 在配置文件中,允許隨便改動,只不過無論怎樣改動,要與oracle伺服器端設置的偵聽埠一致。x0dx0a好,言歸正傳,我們如何做才能使客戶端機器連接到oracle資料庫呢?x0dx0aA. 安裝相關軟體x0dx0aB. 進行適當的配置x0dx0ax0dx0aA.在適當的位置安裝適當的軟體:x0dx0a在客戶端機器:x0dx0a1.在客戶端機器上安裝ORACLE的Oracle Net通訊軟體,它包含在oracle的客戶端軟體中。x0dx0a2.正確配置了sqlnet.ora文件:x0dx0aNAMES.DIRECTORY_PATH = (TNSNAMES, ?.)x0dx0aNAMES.DEFAULT_DOMAIN=DB_DOMAINx0dx0a一般情況下我們不用NAMES.DEFAULT_DOMAIN參數。如果想不用該參數用#注釋掉或將該參數刪除即可,對於NAMES.DIRECTORY_PATH參數採用預設值即可,對於NAMES.DEFAULT_DOMAIN參數有時需要注釋掉,在下面有詳細解釋。x0dx0a3.正確配置了tnsname.ora文件x0dx0ax0dx0a在伺服器端機器:x0dx0a1.保證listener已經啟動x0dx0a2.保證資料庫已經啟動。x0dx0a如果資料庫沒有啟動,用:x0dx0aOracle 9i:x0dx0ados>sqlplus 「/ as sysdba」x0dx0asqlplus> startupx0dx0aOracle 8i:x0dx0ados>svrmgrlx0dx0asvrmgrl>connect internalx0dx0asvrmgrl>startupx0dx0a命令啟動資料庫x0dx0a如果listener沒有啟動,用:x0dx0alsnrctl start [listener name]x0dx0alsnrctl status [listener name]x0dx0a命令啟動listenerx0dx0aB.進行適當的配置x0dx0a如何正確配置tnsname.ora文件:x0dx0ax0dx0a可x0dx0a 以在客戶端機器上使用oracle Net Configuration Assistant或oracle Net x0dx0aManager圖形配置工具對客戶端進行配置,該配置工具實際上修改tnsnames.ora文件。所以我們可以直接修改tnsnames.ora文件,x0dx0a 下面以直接修改tnsnames.ora文件為例:x0dx0a該文件的位置為: ?\network\admin\tnsnames.ora (for windows)x0dx0a?/network/admin/tnsnames.ora (for unix)x0dx0a此處,假設伺服器名為testserver,服務名為orcl.testserver.com,使用的偵聽埠為1521,則tnsnams.ora文件中的一個test網路服務名(資料庫別名)為:x0dx0atest =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=x0dx0a(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此處的笑臉為)。x0dx0a 紅色的內容為需要根據實際情況修改的內容,現解釋如下:x0dx0a PROTOCOL:客戶端與伺服器端通訊的協議,一般為TCP,該內容一般不用改。x0dx0ax0dx0aHOST:資料庫偵聽所在的機器的機器名或IP地址,資料庫偵聽一般與資料庫在同一個機器上,所以當我說資料庫偵聽所在的機器一般也是指資料庫所在的機 x0dx0a x0dx0a器。在UNIX或WINDOWS下,可以通過在資料庫偵聽所在的機器的命令提示符下使用hostname命令得到機器名,或通過ipconfig(forx0dx0a WINDOWS) or ifconfig(for x0dx0aUNIX)命令得到IP地址。需要注意的是,不管用機器名或IP地址,在客戶端一定要用ping命令ping通資料庫偵聽所在的機器的機器名,否則需要在x0dx0a hosts文件中加入資料庫偵聽所在的機器的機器名的解析。x0dx0ax0dx0aPORT:資料庫偵聽正在偵聽的埠,可以察看伺服器端的listener.ora文件或在資料庫偵聽所在的機器的命令提示符下通過lnsrctl status [listener name]命令察看。此處Port的值一定要與資料庫偵聽正在偵聽的埠一樣。x0dx0a SERVICE_NAME:在伺服器端,用system用戶登陸後,sqlplus> show parameter service_name命令察看。x0dx0a 如何利用配置的網路服務名連接到資料庫:x0dx0a 用sqlplus程序通過test網路服務名進行測試,如sqlplus system/manager@test。x0dx0a 如果不能連接到資料庫,則在tnsname.ora文件中的test網路服務名(net x0dx0aservice)後面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN參數的值,此處我的參數值為 x0dx0atestserver.com,將其加到網路服務名後面,修改後的tnsname.ora中關於該網路服務名的內容為:x0dx0ax0dx0a 什麼情況下會引起oracle自動設置NAMES.DEFAULT_DOMAIN參數?x0dx0a x0dx0a 出現這種情況的典型環境為windows的客戶端的『我得電腦à屬性à計算機名à更改à其它?à此計算機的主DNS後綴』中設置了『primary x0dx0a dns x0dx0asuffix』,因為在這種情況下安裝客戶端時,會在sqlnet.ora文件中自動設置NAMES.DEFAULT_DOMAIN參數,或許當把計算機x0dx0a 加入域中安裝oracle客戶端時也會出現這種情況,有條件的話大家可以試一下。x0dx0ax0dx0a我在設置oracle的客戶端時一般手工修改tnsnames.ora文件,但是還有許多人喜歡用圖形工具配置,該圖形工具最終還是修改tnsnames.ora文件,但是它有時會引起其它的問題:x0dx0ax0dx0a在用oracle的圖形配置軟體'net assistant'或『Net Configuration x0dx0aAssistant』配置網路服務名時,假如已經設置了『primary dns x0dx0asuffix』,但是在圖形配置軟體中寫的網路服務名的名字中沒有『primary dns x0dx0asuffix』,如只是寫了test,則圖形配置軟體會自動在後面加上『primary dns x0dx0asuffix』,使之變為test.testserver.com,並存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有 x0dx0aNAMES.DEFAULT_DOMAIN參數。此時,用圖形工具進行測試連接是通過的,但是假如此時sqlnet.ora文件中沒有 x0dx0aNAMES.DEFAULT_DOMAIN參數,則你在使用網路服務名時應該使用在tnsnames.ora中的 x0dx0atest.testserver.com,而不是你在圖形配置軟體中鍵入的test。解決的辦法為:x0dx0a<1>可以在sqlnet.ora文件中設置NAMES.DEFAULT_DOMAIN= testserver.com,這時你可以用test或test.testserver.com連接資料庫x0dx0a<2>在sqlnet.ora文件中不設置NAMES.DEFAULT_DOMAIN參數,在tnsnames.ora文件中將test.testserver.com中的.testserver.com去掉,這時你可以用test連接資料庫。x0dx0ax0dx0a關於為什們在網路服務名後面加db_domain參數,需要了解sql*plus連接資料庫的原理,我在後面解決12154常見故障中給出了詳細的說明。x0dx0ax0dx0a如果上面的招數還不奏效的話,只好用一下乾坤大挪移了。x0dx0a將客戶端的網路服務名部分x0dx0atest.testserver.com =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此處的笑臉為)。x0dx0a拷貝到伺服器的tnsnames.ora文件中。然後再伺服器端用sqlplus system/[email protected]連接到資料庫。x0dx0a 如果能連接成功,說明你的客戶端與伺服器端的網路有問題。x0dx0a 如果連接不成功,用前面的部分檢查網路服務名部分部分是否正確,如果確信網路服務名部分正確而且所有的客戶端都連不上資料庫則可能為系統TCP/IP或Oracle系統有問題,建議重新安裝資料庫。x0dx0a該錯誤表示用於連接的網路服務名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的網路服務名只有test,假如用戶在連接時用sqlplus system/manager@test1則就會給出TNS-12154錯誤。x0dx0a要注意的是,有時即使在tnsnames.ora文件中有相應的網路服務名,可是用該網路服務名連接時還會出錯,出現這種情況的典型配置如下(在客戶端的機器上):x0dx0asqlnet.ora文件:x0dx0aNAMES.DIRECTORY_PATH = (TNSNAMES, ?.)x0dx0aNAMES.DEFAULT_DOMAIN = server.comx0dx0atnsnames.ora文件:x0dx0atest =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此處的笑臉為)。x0dx0asql*plus運行基本機理:x0dx0a 在用戶輸入sqlplus system/manager@test後,sqlplus程序會自動到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN參數,假 如該參數存在,則將該參數中的值取出,加到網路服務名的後面, x0dx0ax0dx0a即此例中你的輸入由sqlplus system/manager@test自動變為sqlplus system/[email protected] x0dx0a,然後再到tnsnames.ora文件中找test.server.com網路服務名,這當然找不到了,因為該文件中只有test網路服務名,所以報 x0dx0a 錯。解決的辦法就是將sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN參數注釋掉即可,如 x0dx0a#NAMES.DEFAULT_DOMAIN = x0dx0aserver.com。假如NAMES.DEFAULT_DOMAIN參數不存在,則sqlplus程序會直接到tnsnames.ora文件中找 x0dx0atest網路服務名,然後取出其中的host,port,tcp,service_name,利用這些信息將連接請求發送到正確的資料庫伺服器上。x0dx0a 另外原則上tnsnames.ora中的配置不區分大小寫,但是我的確遇到區分大小寫的情況,所以最好將使用的網路服務與tnsnames.ora中配置的完全一樣。x0dx0aORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descriptor.x0dx0a該錯誤表示能在tnsnames.ora中找到網路服務名,但是在tnsnames.ora中指定的SERVICE_NAME與伺服器端的SERVICE_NAME不一致。解決的辦法是修改tnsnames.ora中的SERVICE_NAME。x0dx0ax0dx0a 易混淆術語介紹:x0dx0a x0dx0a Db_name:對一個資料庫(Oracle database)的唯一標識,該資料庫為第一章講到的Oracle x0dx0adatabase。這種表示對於單個資料庫是足夠的,但是隨著由多個資料庫構成的分布式資料庫的普及,這種命令資料庫的方法給資料庫的管理造成一定的負 x0dx0a 擔,因為各個資料庫的名字可能一樣,造成管理上的混亂。為了解決這種情況,引入了Db_domain參數,這樣在資料庫的標識是由Db_name和 x0dx0aDb_domain兩個參數共同決定的,避免了因為資料庫重名而造成管理上的混亂。這類似於互連網上的機器名的管理。我們將Db_name和 x0dx0aDb_domain兩個參數用』.』連接起來,表示一個資料庫,並將該資料庫的名稱稱為Global_name,即它擴展了Db_name。 x0dx0aDb_name參數只能由字母、數字、』_』、』#』、』$』組成,而且最多8個字元。x0dx0ax0dx0a Db_domain:定義一個資料庫所在的域,該域的命名同互聯網的』域』沒有任何關系,只是資料庫管理員為了更好的管理分布式資料庫而根據實際情況決定的。當然為了管理方便,可以將其等於互聯網的域。x0dx0ax0dx0aGlobal_name:對一個資料庫(Oracle x0dx0adatabase)的唯一標識,oracle建議用此種方法命令資料庫。該值是在創建資料庫是決定的,預設值為Db_name. x0dx0aDb_domain。在以後對參數文件中Db_name與Db_domain參數的任何修改不影響Global_name的值,如果要修改 x0dx0aGlobal_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO x0dx0a命令進行修改,然後修改相應參數。x0dx0ax0dx0aService_name:該參數是oracle8i新引進的。在8i以前,我們用SID來表示標識資料庫的一個實例,但是在Oracle的並行環境中,x0dx0a x0dx0a一個資料庫對應多個實例,這樣就需要多個網路服務名,設置繁瑣。為了方便並行環境中的設置,引進了Service_name參數,該參數對應一個資料庫,x0dx0a 而不是一個實例,而且該參數有許多其它的好處。該參數的預設值為Db_name. x0dx0aDb_domain,即等於Global_name。一個資料庫可以對應多個Service_name,以便實現更靈活的配置。該參數與SID沒有直接關x0dx0a 系,即不必Service name 必須與SID一樣。x0dx0aNet service name:網路服務名,又可以稱為資料庫別名(database alias)。是客戶端程序訪問資料庫時所需要,屏蔽了客戶端如何連接到伺服器端的細節,實現了資料庫的位置透明的特性。

⑷ oracle資料庫怎麼建

有兩種方式
(1)圖形化創建:DBCA,然後根據圖形化提示一步一步的區創建
(2)靜默創建,也就是語句創建create database語句,這個語句很長,很麻煩,要寫的內容很多,很多地方都有相關例子,這里就不贅述了。
下面還有一種不算是創建資料庫的建立方法:
復制資料庫或者導入資料庫:將資料庫整體復制或者導出,然後再新的地方導入。只是復制和導出時也要考慮一些配置文件與參數文件。

⑸ 如何創建oracle資料庫

方法/步驟

1

從Windows桌面執行「開始」→「程序」→「Oracle-」→「配置和移置工具」→「DatabaseAssistant」命令,打開DatabaseAssistant對話框的歡迎界面,單擊該界面中的「下一步」按鈕

2

啟用「創建資料庫」選項,單擊「下一步」按鈕,進入「步驟2:資料庫模板」界面

3

啟用「一般用途或事務處理」選項,單擊「下一步」按鈕,進入「步驟3:資料庫標識」界面

4

在「步驟3:資料庫標識」界面中設置新資料庫的全局資料庫名,這里設置為myorcl,而資料庫實例名(SID)默認與全局資料庫名相同,也為myorcl

5

設置好口令後,單擊「下一步」按鈕,進入「步驟6:存儲選項」界面,在該界面中啟用「文件系統」選項

6

單擊「下一步」按鈕,進入「步驟7:資料庫文件所在位置」界面。設置好存儲位置後,單擊「下一步」按鈕,進入「步驟8

7

¤採用默認設置,單擊「下一步」按鈕,進入「步驟9:資料庫內容」界面,該界面中可以對示例方案及定製腳本進行配置。採用默認設置,單擊「下一步」按鈕,進入「步驟10:初始化參數」界面,該界面中可以對內存、調整大小、字元集和連接模式進行配置。採用默認設置,單擊「下一步」按鈕,進入「步驟11:安全設置」界面,在戚棚該界面中採用默認設置,即啟用「保留增強的11g默認安全設置」選項。¤單擊「頃敗下一步」按鈕,進入「步驟12:自動維護任務」界面,在該界面中選擇「啟用自動維護任務」選項。

8

單擊「下一步」按鈕,進入「步驟13:資料庫存儲」界面,在該界面中可以指定資料庫的存儲參數,單擊「下一步」按鈕,進入「步驟14:創建選項」雀仔顫界面

9

單擊「完成」按鈕,在彈出的「確認」對話框中單擊「確定」按鈕,即可開始新資料庫的創建

熱點內容
社保卡密碼如何異地改密碼 發布:2025-02-01 08:57:22 瀏覽:33
什麼安卓平板最好能開120幀 發布:2025-02-01 08:55:58 瀏覽:380
安卓怎麼凍結蘋果id賬號 發布:2025-02-01 08:45:16 瀏覽:639
pythonforosx 發布:2025-02-01 08:43:50 瀏覽:763
ftp建站工具 發布:2025-02-01 08:42:07 瀏覽:532
linux開啟ntp 發布:2025-02-01 08:31:42 瀏覽:284
excel密碼加密 發布:2025-02-01 08:17:01 瀏覽:539
陌陌在手機哪個文件夾 發布:2025-02-01 08:13:49 瀏覽:317
proe50解壓打不開 發布:2025-02-01 08:11:17 瀏覽:390
密碼按錯三次怎麼辦 發布:2025-02-01 08:00:24 瀏覽:851