**linux系統作業的DB2~使用命令行狀態執行**
***linux system operations with the DB2~*~command
line executed to create an instance of DB2 show!!*l**DB2*와 리눅스 시스템 작업 ~* DB2 쇼의 인스턴스를 생성하기 위해 실행~
명령 줄***))~!
**首先,系統原有的DB2信息,安裝目錄 : /opt/ibm/db2/V9.7DB2inst1實例目錄 : /home/DB2inst1現在需要創建DB2cz實例:2.然後給DB2cz實例創建實例用戶和組:創建用戶useradd db2czuseradd dbfencz參照db2inst1把用戶分配到組:usermod -a -g db2iadm1 db2czusermod -a -g db2fadm1 db2fencz創建DB2實例DB2cz:用root 用戶,
cd /db2_install_path/instances/ 執行./db2icrt -u db2fencz db2czdb2fence 用來運行“受防護用戶定義的函數(UDF)
和受防護存儲過程的進程”。看看create function / procedure的語法,有個fenced的選項。
udf和udp是可以用到外部程序的,萬一用到的程序出了問題,db2很可能跟著也掛了。
現在有了db2fence db2fmp,它掛了就掛了。 db2沒事……4.建數據庫,建表================================================== =======5.配置遠程連接端口首先為遠程連接配置空閒端口: (查看端口使用情況命令:
netstat -na | grep 50000 查看50000端口是否已使用中)vi /etc/services 查看分配給DB2實例DB2inst2的端口.
返回結果中db這一塊的有# Local servicesDB2_DB2inst1 60000/tcpDB2_DB2inst1_1 60001/tcpDB2_DB2inst1_2 60002/tcpDB2_DB2inst1_END 60003/tcpDB2c_DB2inst1 50000/tcpDB2i_DB2inst1 50001/tcp)DB2_DB2inst2 60004/tcpDB2_DB2inst2_1 60005/tcpDB2_DB2inst2_2 60006/tcpDB2_DB2inst2_END 60007/tcp)在裡面添加兩條:DB2c_DB2inst2 70000/tcpDB2i_DB2inst2 70001/tcp分別為為DB2inst2實例的偵聽端口和中斷端口。網上找到的大部分創建第二個實例以及建表的方法就至此結束了,
但是實際使用的時候,遠程連接還是連接不上的。後來找到了通過另一實例DB2inst1使用CATALOG編目的方法來實現
遠程連接的成功方法。首先切換到另一用戶,這裡使用DB2inst1:在root下:su - DB2inst1編目節點名,取任意名稱,如為inst3,指向DB2機器所在,
之前在etc/services文件中為DB2inst2實例配置的偵聽端口:DB2 "catalog tcpip node inst3 remote 10.213.1.95 server 70000"然後給節點指向的DB2inst2實例新建的數據庫配置別名:DB2 "catalog db gpending as gpending at node inst3"編目成功後,可以嘗試連接(在DB2inst1用戶下):用命令: connect to gpending user DB2inst2 using password或命令: DB2 attach to inst3 user DB2inst2 using password系統會報出如下一個通信協議的錯誤,類似於:SQL30081N 檢測到---
---通信錯誤。正在使用的通信協議:"TCP/IP"。
正在使用的通信API:"SOCKETS"。檢測到錯誤的位置:"10.213.1.95"。檢測到錯誤的通信函數:"connect"。協議特定的錯誤代碼:"111"、"*"、"*"。 SQLSTATE=08001,(這一段是網上搜索到的:為什麼通訊協議會出錯呢?系統不是會默認地給實例設置一些基礎的屬性嗎?並非如此! ! !通過DB2SETUP方式創建的實例(即使用DB2安裝文件來新建實例),
有些參數會默認的幫你設置成缺省的參數值。但通過命令行方式創建實例時,DB2實例參數並沒有被設置。
所以DB2inst2實例的通訊協議沒有定義,因此發生剛才的現象。因此,在用戶DB2inst1下,通過命令DB2set ,你可以看到如下信息:DB2_INLIST_TO_NLJN=YESDB2_EVALUNCOMMITTED=yesDB2_RR_TO_RS=YESDB2COMM=tcpip (該屬性是指明該DB2實例使用的通信協議,
一個實例可以使用多個通信協議,多個通信協議之間使用逗號分開,
如:TCPIP、IPX、APPC、NPIPE……)DB2AUTOSTART=yes( 設置實例是否在系統啟動是自動啟動,
在Windows系統中DB2的實例是作為服務形式啟動的)但是在用戶db2inst2下使用命令db2set,你將什麼也看不到!所以要手動設置參數:在 db2inst2下:db2set DB2COMM=tcpipdb2set DB2AUTOSTART=yes然後給db2inst2實例指定端口(即在etc/services文件中添加的兩條,
之前先做過)然後查看實例的配置文件:命令: db2 get dbm config返回的結果中發現SVCENAME的值是空的配置SVCENAME的值,
即在services文件中為db2inst2實例指定的偵聽端口
(70000)的服務名:db2c_db2inst2命令:db2 update dbm config using SVCENAME db2c_db2inst2然後重啟整個db2……用客戶端工具連接實例,成功!
要注意的是,用遠程機器上的客戶端連接時,要配置的信息:用戶標識:“db2inst2”密碼下:“password”數據庫名稱: “gpending”服務器 : “10.213.1.95”端口號:“50000” (注意:這裡填的不是70000)(端口寫為db2inst2分配的70000端口時,客戶端連接時怎麼也不成功,
後來改成50000,發現就可以了,這可能就是編目的原因吧,
理解可能就是通過連接50000端口,即db2inst1 ,然後通過編目gpending
映射到db2inst2的gpending 表,然後用用戶名和密碼連接 **)
至此,DB2實例db2inst2的配置成功完成!**
**EN~**First, the system existing DB2 informationInstallation directory: / opt/ibm/db2/V9.7DB2inst1 instance directory: / home/DB2inst1Now you need to create DB2cz instance:2 and then to create instances DB2cz instance user and group:Create a useruseradd db2czuseradd dbfenczRefer db2inst1Assigned to the user group: usermod-a-g db2iadm1 db2czusermod-a-g db2fadm1 db2fenczCreate a DB2 instance DB2cz:Root user, cd / db2_install_path/instances / executive ./db2icrt-u
db2fencz db2czdb2fence used to run the "fenced user-defined function (UDF) and
fenced stored procedure process."See create function / procedure syntax, there is a fenced option. udf and
udp can be used in an external program,Procedures used in case of a problem, db2 is likely to follow too hung up.
Now with db2fence db2fmp, it hung hung up. db2 nothing ......4 built databases, build tables================================================== =======5 Configure the remote connection portThe first free port for remote connection configuration: (view port usage
command: netstat-na | grep 50000 View 50000 port is in use)vi / etc / services assigned to the DB2 instance DB2inst2 view port
. return results in this one of a db# Local servicesDB2_DB2inst1 60000/tcpDB2_DB2inst1_1 60001/tcpDB2_DB2inst1_2 60002/tcpDB2_DB2inst1_END 60003/tcpDB2c_DB2inst1 50000/tcpDB2i_DB2inst1 50001/tcp)DB2_DB2inst2 60004/tcpDB2_DB2inst2_1 60005/tcpDB2_DB2inst2_2 60006/tcpDB2_DB2inst2_END 60007/tcp)They add two:DB2c_DB2inst2 70000/tcpDB2i_DB2inst2 70001/tcpRespectively, for the DB2inst2 instance listens on port and interrupt ports.Most of the Internet to find and create a second instance of the table
method so far built over, but the actual use of the time,
a remote connection or connections are not.Later found DB2inst1 through another instance using the CATALOG
cataloging methods to achieve successful remote connection method.First, switch to another user, used here DB2inst1:Under the root:su - DB2inst1Cataloging the node name, take any name, such as the inst3,
pointing to the DB2 machine is located, before etc / services
file for DB2inst2 instance configured listening port:DB2 "catalog tcpip node inst3 remote 10.213.1.95 server 70000"Then pointing to the node instances of the new database
configuration DB2inst2 Alias:DB2 "catalog db gpending as gpending at node inst3"Cataloging successfully, you can try to connect (in DB2inst1 user under):Use the command: connect to gpending user DB2inst2 using passwordOr the command: DB2 attach to inst3 user DB2inst2 using passwordSystem will be reported as a communication protocol error, similar to:
SQL30081N communication error is detected. Communication protocol
being used: "TCP / IP". The communication is being used API: "SOCKETS".Position error was detected: "10.213.1.95".
Communication function detecting the error: "connect".Protocol-specific error code: "111", "*", "*." SQLSTATE = 08001,(This paragraph is the online search to:Why protocol wrong? The system is not set up by default to
give examples of some basic attributes?Not so! ! !By DB2SETUP way to create an instance (ie using the DB2 installation--
-- files to create a new instance), some parameters will help you set a
default default parameter values.But through the command line when you create an instance,
DB2 instance parameter has not been set. So DB2inst2 instance
protocol is not defined, therefore occur earlier phenomenon.Therefore, the user DB2inst1, through command DB2set,
you can see the following information:DB2_INLIST_TO_NLJN = YESDB2_EVALUNCOMMITTED = yesDB2_RR_TO_RS = YESDB2COMM = tcpip (This attribute is specified in the communication
protocols used by the DB2 instance, an instance can use multiple
communication protocols, multiple communication protocols used
between commas, such as: TCPIP, IPX, APPC, NPIPE ......)DB2AUTOSTART = yes (to set whether the instance is started
automatically during system startup, the Windows system DB2
instance is started as a service in the form of)But in the user db2inst2 using the command db2set,
you will not see anything!So to manually set the parameters:In db2inst2 follows:db2set DB2COMM = tcpipdb2set DB2AUTOSTART = yesThen give db2inst2 instance specified port (ie etc / services file to
add the two, before you did)Then view the instance configuration file:Command: db2 get dbm configReturned results found SVCENAME value is empty configuration
SVCENAME value, ie services file for db2inst2 instance specified
listening port (70000) service name: db2c_db2inst2Command: db2 update dbm config using SVCENAME db2c_db2inst2Then restart the entire db2 ......Examples client tools to connect with success!
Note that, with the client on the remote machine when connecting
to the configuration:User ID: "db2inst2"Under Password: "password"Database Name: "gpending"Server: "10.213.1.95"Port number: "50000" (Note: This is not the filling 70,000)(Written as db2inst2 assigned port 70000 port, the client is not connected
to how successful, later changed to 50,000, can be found,
this may be the reason for cataloging, I understand the possible connection
is through port 50000, which db2inst1 , and then mapped to the db2inst2
cataloging gpending the gpending table,
and then use the user name and password to connect.)
At this point, DB2 instance db2inst2 completed successfully!*****
**KR*~첫째, 시스템은 DB2 정보를 기존의설치 디렉토리 : / opt/IBM/db2/V9.7에는DB2INST1 인스턴스 디렉토리 : / home/DB2inst1지금 당신은 DB2cz 인스턴스를 생성해야다음 2 인스턴스 DB2cz 인스턴스 사용자 및 그룹을 만들려면사용자를 생성useradd db2czuseradd dbfenczDB2INST1 참조usermod가-A-G db2iadm1이 db2cz : 사용자 그룹에 할당usermod가-A-G db2fadm1 db2fenczDB2 인스턴스 DB2cz를 만듭니다 :루트 사용자, CD / db2_install_path/instances / 임원 ./db2icrt-u db2fencz db2czdb2fence을 실행하는 데 사용되는 "분리 사용자 정의 함수 (UDF)
및 프로 시저 프로세스를 저장 울타리."함수 / 프로 시저 구문 만들기를 참조 울타리 옵션이 있습니다.
UDF와 UDP는 외부 프로그램에서 사용할 수 있습니다문제의 경우에 사용 절차, DB2는 너무 끊었 따를 가능성이 높다.
지금 db2fence의 db2fmp 프로와 함께, 그것은 끊었 끊었어요.
DB2 아무것도 ......4 내장 데이터베이스는 테이블을 구축================================================== =======5 원격 연결 포트를 구성원격 연결 구성에 대한 첫 번째 무료 포트 (뷰 포트 사용 명령 :
NETSTAT-NA | 그렙 50000보기 50000 포트가 사용 중입니다)DB이 하나의 DB2 인스턴스 db2inst2 사용자 뷰 포트에 할당
VI / 등 / 서비스를 제공합니다. 결과를 반환# 지역 서비스DB2_DB2inst1 60000/tcpDB2_DB2inst1_1 60001/tcpDB2_DB2inst1_2 60002/tcpDB2_DB2inst1_END 60003/tcpDB2c_DB2inst1 50000/tcpDB2i_DB2inst1 50001/tcp)DB2_DB2inst2 60004/tcpDB2_DB2inst2_1 60005/tcpDB2_DB2inst2_2 60006/tcpDB2_DB2inst2_END 60007/tcp)그들은 두 가지를 추가합니다 :DB2c_DB2inst2 70000/tcpDB2i_DB2inst2 70001/tcp각각 db2inst2 사용자 인스턴스에 대한 포트와 인터럽트
포트에서 수신 대기합니다.인터넷의 대부분은 발견 지금까지 위에 지어진 테이블 메서드의 두 번째
인스턴스를 만들 수 있지만 시간의 실제 사용은 원격 연결 또는
연결이되지 않습니다 수 있습니다.이후 원격 연결을 성공적으로 방법을 달성하기 위해 방법을 카탈로그
카탈로그를 사용하여 다른 인스턴스를 통해 DB2INST1을 발견했다.첫째, 여기 DB2INST1 사용하는 다른 사용자로 전환 :루트 아래 :SU - DB2INST1db2inst2 사용자 예를 들어 etc / services 파일을 수신 대기 포트를
구성하기 전에 노드 이름을 카탈로그 화하려면, DB2 머신을 가리키는
등 inst3로, 어떤 이름을 위치 :DB2 "카탈로그 TCPIP 노드 inst3 원격 10.213.1.95 서버 70000"그런 다음 새 데이터베이스 구성 db2inst2 사용자 별칭의 노드
인스턴스를 가리키는 :DB2 "카탈로그 DB 노드 inst3에 gpending로 gpending"성공적으로 카탈로그, 당신은 (아래 db2inst1 인 사용자)
에 연결을 시도 할 수 있습니다 :명령을 사용하여 암호를 사용하여 사용자 db2inst2
사용자를 gpending에 연결또는 명령 : DB2 암호를 사용하여 inst3 사용자 db2inst2 사용자에 연결시스템은 유사한 통신 프로토콜 오류로보고됩니다 :
SQL30081N 통신 오류가 감지됩니다. 사용되는 통신 프로토콜 :
"TCP / IP". 통신 API를 사용하고 있습니다 : "SOCKETS".위치 오류가 발견되었습니다 :
"10.213.1.95을." 오류를 검출 통신 기능 : "연결".프로토콜 특정 오류 코드 : "111", "*", "*." SQLSTATE = 08001,(이 단락에 대한 온라인 검색입니다 :왜 프로토콜 문제? 이 시스템은 몇 가지 기본적인 속성의 예를
제공하기 위해 기본적으로 설정되어 있지 않습니다?그렇지 않습니다! ! !(새 인스턴스를 만들려면 DB2 설치 파일을 사용하여 즉,)
인스턴스를 만들려면 db2setup을 방법으로, 어떤 매개 변수는
기본 기본 매개 변수 값을 설정하는 데 도움이됩니다.그러나 명령 줄을 통해이 인스턴스를 만들 때,
DB2 인스턴스 매개 변수가 설정되지 않았습니다.
그래서 db2inst2 사용자 인스턴스 프로토콜이 정의되지 않은,
따라서 이전에 현상을 발생합니다.따라서, 사용자 DB2INST1는 명령 DB2SET을 통해 다음과
같은 정보를 볼 수 있습니다 :DB2_INLIST_TO_NLJN = YESDB2_EVALUNCOMMITTED = 예DB2_RR_TO_RS = YESDB2COMM = TCPIP는 (: TCPIP, IPX, APPC, NPIPE ......이
속성은 DB2 인스턴스에 의해 사용되는 통신 프로토콜에 지정된 경우,
인스턴스는 여러 통신 프로토콜과 같은 쉼표 사이에 사용되는 여러
통신 프로토콜을 사용할 수있다)를DB2AUTOSTART = 예 (인스턴스가 시스템 시작시 자동으로
시작할지 여부를 설정하려면 Windows 시스템에 DB2 인스턴스는
형태의 서비스로 시작됩니다)그러나 명령 다음 db2set을 사용하여 사용자 db2inst2 사용자로,
당신은 아무것도 볼 수 없습니다!수동으로 매개 변수를 설정하려면 :db2inst2 사용자에서 다음과 같이 :DB2SET DB2COMM = TCPIPDB2SET DB2AUTOSTART = 예그런 다음 지정된 db2inst2 사용자 인스턴스를 제공 포트
(당신이 한 전에 즉, 등 / 서비스는 두 가지를 추가하는 파일)그런 다음 인스턴스 구성 파일을 볼 수 있습니다 :명령 : DB2가 설정 DBM을db2c_db2inst2 : 반환 된 결과는 SVCENAME 값이 비어있는
구성 SVCENAME 값, 포트 (70000) 서비스 이름을 듣는 지정
db2inst2 사용자 인스턴스 즉, 서비스 파일 발견명령 : DB2 업데이트를 구성 SVCENAME db2c_db2inst2를 사용하여 DBM다음 전체 DB2를 다시 시작합니다 ......예제 클라이언트 도구는 성공을 연결하는!
구성에 연결하는 원격 시스템의 클라이언트와 그 참고 : 사용자 ID : "db2inst2 사용자""비밀번호": 비밀번호 이하데이터베이스 이름은 "gpending"서버 : "10.213.1.95"포트 번호 : "50000"(참고 :이 충만 70,000 아닙니다)(db2inst2 사용자 지정 포트 70000 포트로 작성된 클라이언트가
나중에 50,000로 변경, 발견 할 수있는 방법을 성공적으로
연결되지 않은,이 카탈로그에 대한 이유가있을 수 있습니다,
어느 DB2INST1이 가능한 연결 포트 50000를 통해 이해 하고
gpending 테이블을 gpending 카탈로그 db2inst2 사용자로 매핑
한 후 사용자 이름과 연결하는 암호를 사용합니다.))이 시점에서, DB2 인스턴스 db2inst2 사용자가 성공적으로 완료되었습니다 !!)
**)
* http://www.linux.org/ * ** http://www.linux.org/ ********** http://www.linux.org/
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&