sql創建實例
1. sqlserver2008 怎樣 新建 實例
創建實例,首選當然是用安裝光碟,在圖形化界面安裝。
如果你要用命令行,可以在安裝光碟找到setup文件,然後運行Setup,後面有很多參數需要你加上去。
2. sQL server 什麼是實例
實例在資料庫中,代表一些程序的集合。如Oracle中,實例就是一些能支撐資料庫運行的資料庫程序。
在面向對象程序設計中,「類」在實例化之後叫做一個「實例」。 「類」是靜態的,不佔進程內存,而「實例」擁有動態內存。
實例化是指在面向對象的編程中,把用類創建對象的過程稱為實例化。是將一個抽象的概念類,具體到該類實物的過程。實例化過程中一般由類名 對象名 = new 類名(參數1,參數2...參數n)構成。
(2)sql創建實例擴展閱讀
實例(instance)和對象(object)的區別
實例和對象基本上是同義詞,它們常常可以互換使用。對象代表了類的一個特定的實例。對象具有身份(identity)和屬性值(attribute values)2個特徵。實例是對象的具體表示,操作可以作用於實例,實例可以有狀態地存儲操作結果。實例被用來模擬現實世界中存在的、具體的或原型的東西。
對象就是類的實例,所有的對象都是實例,但並不是所有的實例都是對象。例如,一個關聯(UML關系中的一種)的實例不是一個對象,它只是一個實例、一個連接。我們常見的實例都是類的實例,此時二者沒有區別。除了類的實例外的實例都不是對象。
3. 創建一個新的sql server實例是什麼意思
sqlserver在默認安裝時有一個實例名local。安裝新的實例就是要求你再安裝的時候起一個不同的實例名,比如你裝microsoft
.net
framework
sdk
的時候會要求你安裝一個名為netsdk的sqlserver實例
4. SQL如何新建個實例啊 有了一個默認的了
我是sqlserver2000的,第一次安裝的時候,安裝的是默認實例。再次插入光碟安裝的時候,可以選擇新建一個實例,這樣就新創建了一個實例。
5. 如何新建立一個mysql實例
在原有實例下創建副本應該可以達到效果。
大多情況下,需要可靠而有效地克隆 MySQL 實例數據。這包括 MySQL 高可用的解決方案,其中需要在將實例加入組復制集群之前配置實例,或者在經典復制模型中將其添加為 Slave。
為復制拓撲而創建 MySQL 副本一直很麻煩。涉及的步驟很多,首先要備份 MySQL 伺服器,通過網路將備份傳輸到我們想要添加到復制集的新 MySQL 節點,然後在該節點上恢復備份並手動啟動 MySQL 伺服器。為了高可用,最好還要將其正確設置備份的 GTID,並啟動並運行群集。涉及的手動步驟數量過多不利於高可用。CLONE 插件解決了這個問題並簡化了副本配置。使您可以使用 MySQL 客戶端(和 SQL 命令)來配置新節點並在發生時觀察克隆進度。無需手動處理多個步驟並維護自己的基礎架構來配置新的 MySQL 節點。
MySQL 8.0.17 引入了 CLONE SQL 語句,使當前的 MySQL 伺服器成為另一個運行在不同節點的 MySQL 伺服器的「克隆」。我們將執行 clone 語句的伺服器實例稱為「受體」。克隆的源伺服器實例稱為「供體」。供體克隆以一致的快照存儲在 InnoDB 存儲引擎中的所有數據和元數據,以替換受體中的數據。
成功執行 CLONE SQL 語句後,將自動重新啟動受體伺服器。重新啟動涉及恢復克隆的快照數據,就像用老方法復制數據一樣。恢復完成後,受體就是供體的克隆版,隨時可以使用!
這里有一些關於克隆過程的重要注意事項。
不克隆 MySQL 配置參數,並且受體保留所有原始配置參數,如克隆之前。這樣做是因為許多配置可能特定於節點(例如 PORT),因此保留它們似乎是一個不錯的選擇。另一方面,一些存儲配置確實需要在供體和受體之間匹配(例如 innodbpagesize),如果這樣的配置參數不匹配,CLONE 將報告錯誤。
CLONE 插件不會克隆二進制日誌。
CLONE 插件目前僅支持 InnoDB 存儲引擎。在其他存儲引擎(如 MyISAM 和 CSV)中創建的表將被克隆為空表。克隆基礎架構的設計允許克隆 MySQL 支持的任何存儲引擎。但是,只有 InnoDB 序列化和反序列化方法已經實現並經過測試。
克隆會阻止供體中的所有並發 DDL。
需要注意的事實是受體放棄所有數據以及任何二進制日誌,以便成為供體實例的克隆。在執行 CLONE 之前,如果認為有必要,需要備份當前受體數據。
6. 如何在sqlserver2008 R2 上創建一個實例
你是創建實例還是創建資料庫?創建實例應該重新安裝SQL
Server
2008
R2,在安裝過程中選擇實例時輸入實例名稱,這樣就創建了新的實例。創建資料庫不需要重新安裝SQL
Server
2008
R2,在已經安裝的SQL
Server
2008
R2創建即可。
7. 如何創建資料庫實例
按照DBCA給出的提示,很容易創建一個新資料庫實例。
在創建資料庫的時候,DBCA還提供了兩個選項,讓你可以根據剛剛設置好的參數生成一個資料庫實例模板和一份資料庫實例創建腳本。這兩個東西是非常好,非常有用的東西,資料庫模板由Oracle自己管理維護,已經創建好的資料庫實例模板可以在DBCA圖形程序新建資料庫實例時作為模板來使用,另外在DBCA使用responseFile文件或者命令行參數創建資料庫時也需要用到(見後面介紹);資料庫創建腳本是一組腳本,包括shell腳本和sql腳本,這些腳本共同實現一個功能,那就是按照你之前在DBCA中設置好的那樣創建一個資料庫實例(後面也會有介紹),你需要做的只是將這些腳本在你的代碼中調用起來。當然,你也可以選擇只生成資料庫模板或者資料庫腳本,而不用去創建一個真的資料庫(這通常很費時間)。
DBCA是一個非常強大的工具,上面看到的只是DBCA最常用的創建一個資料庫實例的使用,其實DBCA還提供另外兩種使用方法,分別是responseFile和命令行帶參調用。
先說DBCA的responseFile使用方法,responseFile這個東東並不陌生,前文講的Oracle自動安裝就是使用responseFile完成的,DBCA的responseFile使用方法和Oracle安裝程序的responseFile使用方法基本一致。但DBCA的responseFile的來源只能是Oracle安裝包中提供的模板文件,而不能向Oracle安裝程序的responseFile一樣,先自己record一個,然後再用這個record去指導Oracle的自動安裝。從Oracle安裝包中獲取到DBCA的responseFile模板文件後,你可以根據自己的需要編輯修改該模板文件,以完成對資料庫實例的某些參數設置(DBCA圖形界面所提供的參數設置,responseFile中都可以設置,而且該responseFile模板文件的注釋寫的很好,你完全不用擔心無法搞定那些繁雜的資料庫實例參數設置,贊Oralce一個!)。該模板文件在Oracle安裝包中的位置一般在${ORACLE_PACKAGE}/response目錄下。
有了responseFile之後,你只需在調用DBCA的時候指定responseFile的位置和另外一些參數:
dbca [-silent|-progressOnly] -responseFile responseFile名稱
其中-silent|-progressOnly選項意義和Oracle安裝程序命令行參數中的同名選項一樣,表示完全字元界面自動安裝或者帶圖形提示界面的半自動化安裝。
responseFile名稱當然就是responseFile的具體位置了。
但是,有一點不是很好,那就是使用DBCA的responseFile方式創建Oracle資料庫實例,需要事先已經存在一個資料庫實例模板了,在responseFile中再指定該資料庫實例模板名,然後DBCA再依據這個已有的資料庫實例模板完成新資料庫實例的創建,所以就會有前面講到的DBCA圖形界面創建資料庫實例時提供生成資料庫實例模板的選項(資料庫實例模板也可以從一個已有資料庫實例生成),就是在這要用到的。
從上面調用DBCA使用responseFile的命令中,應該已經看到了DBCA是提供一些命令行參數選項的,其實DBCA提供的命令行參數選項遠比你想像的強大,甚至可以這么說,所有DBCA圖形界面和responseFile能夠辦到的事,通過DBCA豐富的命令行參數選項都可以辦到。你在DBCA圖形界面上設置的參數或者在responseFile中指定的參數值都可以通過DBCA的命令行參數選項來進行設置,所以你完全可以只通過DBCA的命令行帶參調用來完成一個資料庫實例的創建(當然也包括刪除、修改資料庫實例等所有DBCA圖形界面所能提供的功能)。其實,我更願意這樣認為,DBCA的responseFile應用也是一種DBCA命令行帶參調用的使用。需要注意的是,當DBCA的命令行參數和responseFile同時設置一個參數時,命令行參數的優先順序是比responseFile要高的。另外,使用DBCA命令行帶參調用新建資料庫實例和使用responseFile新建資料庫實例一樣,也是需要事先已經存在一個資料庫實例模板,才能完成新資料庫實例的創建。一份非常詳細的DBCA所有命令行參數選項列表,你可以通過執行dbca -help獲得。
到現在你可能已經發現,DBCA圖形界面、DBCA的responseFile使用以及DBCA的命令行帶參調用,其實是三個分別具備完全資料庫實例設置功能的工具或者介面,分別對應不同的應用場景,它們可以滿足你幾乎所有的應用需求(使用這樣的工具來幫助構建自己的軟體真是非常愜意的一件事情,再贊Oracle一個!)。
第二種是通過腳本(是否稱為命令行方式更合適,下文描述的腳本方式其實都是命令行方式的非互動式方法,或者說命令行的自動化方式,但其實所有腳本方式都可以將shell腳本或sql腳本中的shell命令、sqlplus命令拆分出來,手工在shell中或者sqlplus界面中進行互動式的輸入執行,這可以稱為命令行的手工方式)來完成資料庫實例的代碼中自動創建。這里說的腳本包括shell腳本和sql腳本,這種方式可以說是最適合與編程結合的,因為這些shell腳本或者sql腳本都可以直接在shell命令中調用執行,所以可以很好與shell編程相結合。而這其實是基於一個非常重要的事實,即Oracle提供了一個互動式的命令行工具sqlplus(類似與DB2的db2cmd),這個工具可以認為是一個Oracle資料庫管理工具,通過它可以執行一些Oracle的資料庫管理命令,來完成一些資料庫管理工作(這當然就包括資料庫實例的創建),同時你也可以把它當作一個SQL語句執行器,直接在里邊執行你想要執行的SQL語句或者存儲過程等,並獲取執行結果。並且,更重要的是,sqlplus可以直接在shell命令行中進行非互動式的調用執行(通常是調用執行一段sqlplus語句,或者是一個由一些sqlplus語句組成的sql腳本,我所說的sqlplus語句包括Oracle資料庫管理維護命令、SQL語句和存儲過程等),這就為在shell編程中使用sqlplus完成資料庫實例自動創建工作提供了可能。
shell命令行中非互動式調用sqlplus執行一段sqlplus語句是利用shell編程中重定向命令的一個特性,即分隔符重定向輸入。一般用法如下:
command<<任意自定義分隔符
>(換行)內容
>(換行)內容
>自定義分隔符
shell中遇到<<則會自動將下一個單詞認作分隔符,並將分隔符後面的文本當作command命令執行的內容傳遞給command依次全部執行直至遇到下一個分隔符單詞才結束。這里的分隔符可以是任意自定義的單詞,通常使用EOF,舉例:
sqlplus / as sysdba<<EOF
startup nomount;
select * from v$version;
shutdown immediate;
exit;
EOF
這段shell程序調用sqlplus執行了若干sqlplus語句,用來啟動資料庫實例,查詢資料庫版本信息,然後關閉資料庫實例,退出sqlplus。
shell命令行中非互動式調用sqlplus執行一個sql腳本是利用sqlplus本身提供的命令行參數。在sqlplus界面中可以通過start命令和@命令來執行一個sql腳本,兩者功效相同,用法如下:
SQL>start sql腳本絕對路徑;
SQL>@sql腳本絕對路徑;
而在shell命令行中可以使用@來完成sqlplus對sql腳本的調用執行,舉例:
sqlplus / as sysdba @./MySQL.sql
以上命令會調用sqlplus執行當前目錄下的MySQL.sql腳本。
使用腳本來完成資料庫實例的創建工作,也分為兩種情況。
一種是誠如前文所述的那樣,在使用DBCA圖形工具創建資料庫實例的同時生成一份資料庫實例創建腳本(包括若干shell腳本和sql腳本),那麼你就可以使用這份腳本,在shell中進行調用,完成資料庫實例的代碼自動創建。使用這份資料庫實例創建腳本創建的新資料庫實例和原資料庫實例是完全一樣,當然,你可以將生成的腳本進行修改,以完成你對資料庫實例的某些設置,但是請在你對腳本內容已經足夠了解,並且知道你自己在干什麼的情況下修改腳本,否則你很有可能使用修改後的腳本無法正確創建資料庫實例。這種方法中shell腳本對sqlplus的使用,更多的是使用sqlplus來執行一些Oracle生成的sql腳本(這些sql腳本的內容是就是一些sqlplus語句的集合,它們的任務就是完成資料庫實例的創建以及設置)。
另一種情況則是不依靠DBCA生成的腳本,完全由自己來編寫實現一份shell腳本,在腳本中你可以調用sqlplus執行一段sqlplus語句或者其它一些sql腳本,以完成資料庫實例的創建和設置,這完全取決於你的實現;而最常用的用來創建資料庫實例的一個方法就是在sqlplus中使用create database語句,create database語句提供了許多豐富的選項和參數設置,確保你能完全創建一個自己所需要的資料庫實例。當然,還有一些其它方法可以創建資料庫實例,比如調用執行oracle提供某些存儲過程等。
至於create database語句的詳細介紹可以參考oracle的sql reference。
第三種嚴格來說不能算作一種創建Oracle資料庫實例的方法,它是通過已有的資料庫實例為基礎來完成新資料庫實例的創建的。這種方法是首先通過第一種或者第二種方法來創建好一個資料庫實例,然後將該資料庫實例的物理文件進行備份,然後直接使用備份的物理文件恢復出一個與原資料庫實例完全一樣新的資料庫實例,所以這種方法需要和第一、二種方法相配合才能使用。這種方法其實已經屬於Oracle數據備份與恢復的范疇了,就是Oracle數據備份恢復方式中的物理備份恢復,所以這種方法可以叫做物理恢復法。
簡單介紹物理恢復法,首先將一個已經存在資料庫實例(最好已關閉)進行物理備份,所謂物理備份其實就是復制該資料庫實例所使用的操作系統文件,這些文件主要包括DataFiles、RedoLogs、ControlFiles和UndoFiles(這些文件一般存在於$ORACLE_HOME/oradata目錄下),進行資料庫實例恢復的時候只需將備份的操作系統文件復制到新的oradata目錄下即可,可以直接啟動使用恢復後的該資料庫實例。不難看出,這種備份恢復是依賴於操作系統平台的。
詳細的物理備份和恢復介紹可以參考oracle的backup and recovery basics以及backup and recovery advanced user's guide。
說完了資料庫實例的創建,現在來說說資料庫實例的刪除和修改。其實介紹完了資料庫實例的創建,資料庫實例的刪除和修改就非常簡單了。基本和前文資料庫實例創建的內容相一致,且比較而言更簡單。
資料庫實例的刪除從上文中資料庫實例的創建不難得到,大致有兩種方法,DBCA工具和命令行方式。
DBCA工具除了能夠用來創建資料庫實例,當然也能夠用來刪除資料庫實例了,且同樣可以用使用responseFile或者命令行帶參調用等方法來完成資料庫實例的刪除,請參考資料庫實例創建部分。
命令行刪除資料庫實例的方式,嚴格來講,是使用一組sqlplus命令來完成資料庫實例的刪除,這組sqlplus命令可以組織在一個sql腳本中,然後在shell命令行中調用sqlplus程序來執行該sql腳本,或者直接在shell命令行中利用shell程序重定向特性調用sqlplus依次完全執行這組sqlplus命令,再或者使用手工的互動式輸入執行,使用方法請參考資料庫實例創建部分。
其中涉及到的sqlplus命令參考以下:
SQL>startup restrict mount;
SQL>drop database;
使用sqlplus命令刪除資料庫實例,必須先以restrict mount方式將資料庫實例載入(但不打開),然後使用drop database語句刪除該資料庫實例。
資料庫實例的修改和資料庫實例的創建,情況類似,DBCA方式或者命令行方式。只要是DBCA方式能夠修改的資料庫實例參數,命令行方式也都能辦到。