Linux ubuntu 3.11.0-12-generic 下oracle12c的基础rpm安装包,具体版本往下看 操作系统的基本特征?

\u64cd\u4f5c\u7cfb\u7edfPV\u662f\u4ec0\u4e48\u610f\u601d\uff1f

\u662f\u64cd\u4f5c\u7cfb\u7edf\u91cc\u8fdb\u7a0b\u4e4b\u95f4\u901a\u4fe1\u7528\u5230\u7684\u4e24\u79cd\u64cd\u4f5c \u5177\u4f53\u53ef\u4ee5\u53c2\u8003\u4e0b\u9762\uff1a

\u5728\u64cd\u4f5c\u7cfb\u7edf\u7406\u8bba\u4e2d\u6709\u4e00\u4e2a\u975e\u5e38\u91cd\u8981\u7684\u6982\u5ff5\u53eb\u505aP,V\u539f\u8bed\u3002\u5728\u6211\u4eec\u7814\u7a76\u8fdb\u7a0b\u95f4\u7684\u4e92\u65a5\u7684\u65f6\u5019\u7ecf\u5e38\u4f1a\u5f15\u5165\u8fd9\u4e2a\u6982\u5ff5\uff0c\u5c06P,V\u64cd\u4f5c\u65b9\u6cd5\u4e0e\u52a0\u9501\u7684\u65b9\u6cd5\u76f8\u6bd4\u8f83\uff0c\u6765\u89e3\u51b3\u8fdb\u7a0b\u95f4\u7684\u4e92\u65a5\u95ee\u9898\u3002\u5b9e\u9645\u4e0a\uff0c\u4ed6\u7684\u5e94\u7528\u8303\u56f4\u5f88\u5e7f\uff0c\u4ed6\u4e0d\u4f46\u53ef\u4ee5\u89e3\u51b3\u8fdb\u7a0b\u7ba1\u7406\u5f53\u4e2d\u7684\u4e92\u65a5\u95ee\u9898\uff0c\u800c\u4e14\u6211\u4eec\u8fd8\u53ef\u4ee5\u5229\u7528\u6b64\u65b9\u6cd5\u89e3\u51b3\u8fdb\u7a0b\u540c\u6b65\u4e0e\u8fdb\u7a0b\u901a\u4fe1\u7684\u95ee\u9898\u3002

[\u4e00]P,V\u539f\u8bed\u7406\u8bba

\u9610\u8ff0P,V\u539f\u8bed\u7684\u7406\u8bba\u4e0d\u5f97\u4e0d\u63d0\u5230\u7684\u4e00\u4e2a\u4eba\u4fbf\u662f\u8d6b\u8d6b\u6709\u540d\u7684\u8377\u5170\u79d1\u5b66\u5bb6E.W.Dijkstra\u3002\u5982\u679c\u4f60\u5bf9\u8fd9\u4f4d\u79d1\u5b66\u5bb6\u6ca1\u6709\u4ec0\u4e48\u5370\u8c61\u7684\u8bdd\uff0c\u63d0\u8d77\u89e3\u51b3\u56fe\u8bba\u4e2d\u6700\u77ed\u8def\u5f84\u95ee\u9898\u7684Dijkstra\u7b97\u6cd5\u5e94\u5f53\u662f\u6211\u4eec\u518d\u719f\u6089\u4e0d\u8fc7\u7684\u4e86\u3002P,V\u539f\u8bed\u7684\u6982\u5ff5\u4ee5\u53caP,V\u64cd\u4f5c\u5f53\u4e2d\u9700\u8981\u4f7f\u7528\u5230\u7684\u4fe1\u53f7\u91cf\u7684\u6982\u5ff5\u90fd\u662f\u7531\u4ed6\u57281965\u5e74\u63d0\u51fa\u7684\u3002

\u4fe1\u53f7\u91cf\u662f\u6700\u65e9\u51fa\u73b0\u7684\u7528\u6765\u89e3\u51b3\u8fdb\u7a0b\u540c\u6b65\u4e0e\u4e92\u65a5\u95ee\u9898\u7684\u673a\u5236\uff0c\u5305\u62ec\u4e00\u4e2a\u79f0\u4e3a\u4fe1\u53f7\u91cf\u7684\u53d8\u91cf\u53ca\u5bf9\u5b83\u8fdb\u884c\u7684\u4e24\u4e2a\u539f\u8bed\u64cd\u4f5c\u3002\u4fe1\u53f7\u91cf\u4e3a\u4e00\u4e2a\u6574\u6570\uff0c\u6211\u4eec\u8bbe\u8fd9\u4e2a\u4fe1\u53f7\u91cf\u4e3a\uff1asem\u3002\u5f88\u663e\u7136\uff0c\u6211\u4eec\u89c4\u5b9a\u5728sem\u5927\u4e8e\u7b49\u4e8e\u96f6\u7684\u65f6\u5019\u4ee3\u8868\u53ef\u4f9b\u5e76\u53d1\u8fdb\u7a0b\u4f7f\u7528\u7684\u8d44\u6e90\u5b9e\u4f53\u6570\uff0csem\u5c0f\u4e8e\u96f6\u7684\u65f6\u5019\uff0c\u8868\u793a\u6b63\u5728\u7b49\u5f85\u4f7f\u7528\u4e34\u754c\u533a\u7684\u8fdb\u7a0b\u7684\u4e2a\u6570\u3002\u6839\u636e\u8fd9\u4e2a\u539f\u5219\uff0c\u5728\u7ed9\u4fe1\u53f7\u91cf\u9644\u521d\u503c\u7684\u65f6\u5019\uff0c\u6211\u4eec\u663e\u7136\u5c31\u8981\u8bbe\u521d\u503c\u5927\u4e8e\u96f6\u3002

p\u64cd\u4f5c\u548cv\u64cd\u4f5c\u662f\u4e0d\u53ef\u4e2d\u65ad\u7684\u7a0b\u5e8f\u6bb5\uff0c\u79f0\u4e3a\u539f\u8bed\u3002P,V\u539f\u8bed\u4e2dP\u662f\u8377\u5170\u8bed\u7684Passeren\uff0c\u76f8\u5f53\u4e8e\u82f1\u6587\u7684pass, V\u662f\u8377\u5170\u8bed\u7684Verhoog,\u76f8\u5f53\u4e8e\u82f1\u6587\u4e2d\u7684incremnet\u3002

P\u539f\u8bed\u64cd\u4f5c\u7684\u52a8\u4f5c\u662f\uff1a

\uff081\uff09 sem\u51cf1\uff1b

\uff082\uff09 \u82e5sem\u51cf1\u540e\u4ecd\u5927\u4e8e\u6216\u7b49\u4e8e\u96f6\uff0c\u5219\u8fdb\u7a0b\u7ee7\u7eed\u6267\u884c\uff1b

\uff083\uff09 \u82e5sem\u51cf1\u540e\u5c0f\u4e8e\u96f6\uff0c\u5219\u8be5\u8fdb\u7a0b\u88ab\u963b\u585e\u540e\u8fdb\u5165\u4e0e\u8be5\u4fe1\u53f7\u76f8\u5bf9\u5e94\u7684\u961f\u5217\u4e2d\uff0c\u7136\u540e\u8f6c\u8fdb\u7a0b\u8c03\u5ea6\u3002



V\u539f\u8bed\u64cd\u4f5c\u7684\u52a8\u4f5c\u662f\uff1a

\uff081\uff09 sem\u52a01\uff1b

\uff082\uff09 \u82e5\u76f8\u52a0\u7ed3\u679c\u5927\u4e8e\u96f6\uff0c\u5219\u8fdb\u7a0b\u7ee7\u7eed\u6267\u884c\uff1b

\uff083\uff09 \u82e5\u76f8\u52a0\u7ed3\u679c\u5c0f\u4e8e\u6216\u7b49\u4e8e\u96f6\uff0c\u5219\u4ece\u8be5\u4fe1\u53f7\u7684\u7b49\u5f85\u961f\u5217\u4e2d\u5524\u9192\u4e00\u7b49\u5f85\u8fdb\u7a0b\uff0c\u7136\u540e\u518d\u8fd4\u56de\u539f\u8fdb\u7a0b\u7ee7\u7eed\u6267\u884c\u6216\u8f6c\u8fdb\u7a0b\u8c03\u5ea6\u3002



\u9700\u8981\u63d0\u9192\u5927\u5bb6\u4e00\u70b9\u5c31\u662fP,V\u64cd\u4f5c\u5bf9\u4e8e\u6bcf\u4e00\u4e2a\u8fdb\u7a0b\u6765\u8bf4\uff0c\u90fd\u53ea\u80fd\u8fdb\u884c\u4e00\u6b21\u3002\u800c\u4e14\u5fc5\u987b\u6210\u5bf9\u4f7f\u7528\u3002\u4e14\u5728P,V\u613f\u8bed\u6267\u884c\u671f\u95f4\u4e0d\u5141\u8bb8\u6709\u4e2d\u65ad\u7684\u53d1\u751f\u3002

\u5bf9\u4e8e\u5177\u4f53\u7684\u5b9e\u73b0\uff0c\u65b9\u6cd5\u975e\u5e38\u591a\uff0c\u53ef\u4ee5\u7528\u786c\u4ef6\u5b9e\u73b0\uff0c\u4e5f\u53ef\u4ee5\u7528\u8f6f\u4ef6\u5b9e\u73b0\u3002\u6211\u4eec\u91c7\u7528\u5982\u4e0b\u7684\u5b9a\u4e49\uff1a

procedure p(var s:samephore);
{
s.value=s.value-1;
if (s.value<0) asleep(s.queue);
}
procedure v(var s:samephore);
{
s.value=s.value+1;
if (s.value<=0) wakeup(s.queue);
}
\u5176\u4e2d\u7528\u5230\u4e24\u4e2a\u6807\u51c6\u8fc7\u7a0b\uff1a
asleep(s.queue);\u6267\u884c\u6b64\u64cd\u4f5c\u7684\u8fdb\u7a0b\u63a7\u5236\u5757\u8fdb\u5165s.queue\u5c3e\u90e8\uff0c\u8fdb\u7a0b\u53d8\u6210\u7b49\u5f85\u72b6\u6001
wakeup(s.queue);\u5c06s.queue\u5934\u8fdb\u7a0b\u5524\u9192\u63d2\u5165\u5c31\u7eea\u961f\u5217
\u5bf9\u4e8e\u8fd9\u4e2a\u8fc7\u7a0b\uff0cs.value\u521d\u503c\u4e3a1\u65f6\uff0c\u7528\u6765\u5b9e\u73b0\u8fdb\u7a0b\u7684\u4e92\u65a5\u3002

\u867d\u8f6f\u8bf4\u4fe1\u53f7\u91cf\u673a\u5236\u6bd5\u52a0\u9501\u65b9\u6cd5\u8981\u597d\u5f97\u591a\uff0c\u4f46\u662f\u4e5f\u4e0d\u662f\u8bf4\u5b83\u6ca1\u6709\u4efb\u4f55\u7684\u7f3a\u9677\u3002\u7531\u6b64\u6211\u4eec\u4e5f\u53ef\u4ee5\u6e05\u6670\u5730\u770b\u5230\uff0c\u8fd9\u79cd\u4fe1\u53f7\u91cf\u673a\u5236\u5fc5\u987b\u6709\u516c\u5171\u5185\u5b58\uff0c\u4e0d\u80fd\u7528\u4e8e\u5206\u5e03\u5f0f\u64cd\u4f5c\u7cfb\u7edf\uff0c\u8fd9\u662f\u5b83\u6700\u5927\u7684\u5f31\u70b9\u3002

[\u4e8c]P,V\u539f\u8bed\u7684\u5e94\u7528

\u6b63\u5982\u6211\u4eec\u5728\u6587\u4e2d\u6700\u5f00\u59cb\u7684\u65f6\u5019\u63d0\u5230\u7684\uff0cP,V\u539f\u8bed\u4e0d\u4f46\u53ef\u4ee5\u89e3\u51b3\u8fdb\u7a0b\u7ba1\u7406\u5f53\u4e2d\u7684\u4e92\u65a5\u95ee\u9898\uff0c\u800c\u4e14\u6211\u4eec\u8fd8\u53ef\u4ee5\u5229\u7528\u6b64\u65b9\u6cd5\u89e3\u51b3\u8fdb\u7a0b\u540c\u6b65\u4e0e\u8fdb\u7a0b\u901a\u4fe1\u7684\u95ee\u9898\u3002

\uff081\uff09\u7528P V\u539f\u8bed\u5b9e\u73b0\u8fdb\u7a0b\u4e92\u65a5

\u628a\u4e34\u754c\u533a\u7f6e\u4e8eP(sem) \u548cV(sem)\u4e4b\u95f4\u3002\u5f53\u4e00\u4e2a\u8fdb\u7a0b\u60f3\u8981\u8fdb\u5165\u4e34\u754c\u533a\u65f6\uff0c\u5b83\u5fc5\u987b\u5148\u6267\u884cP\u539f\u8bed\u64cd\u4f5c\u4ee5\u5c06\u4fe1\u53f7\u91cfsem\u51cf1\uff0c\u5728\u8fdb\u7a0b\u5b8c\u6210\u5bf9\u4e34\u754c\u533a\u7684\u64cd\u4f5c\u540e\uff0c\u5b83\u5fc5\u987b\u6267\u884cV\u539f\u8bed\u64cd\u4f5c\u4ee5\u91ca\u653e\u5b83\u6240\u5360\u7528\u7684\u4e34\u754c\u533a\u3002\u4ece\u800c\u5c31\u5b9e\u73b0\u4e86\u8fdb\u7a0b\u7684\u4e92\u65a5\uff1a

\u5177\u4f53\u7684\u8fc7\u7a0b\u6211\u4eec\u53ef\u4ee5\u7b80\u5355\u7684\u63cf\u8ff0\u5982\u4e0b\uff1a

PA:

P(sem)

;

V(sem)

PB:

P(sem)

;

V(sem)

(2) \u7528P V\u539f\u8bed\u5b9e\u73b0\u8fdb\u7a0b\u540c\u6b65

\u8fdb\u7a0b\u540c\u6b65\u95ee\u9898\u7684\u89e3\u51b3\u540c\u6837\u53ef\u4ee5\u91c7\u7528\u8fd9\u79cd\u64cd\u4f5c\u6765\u89e3\u51b3\uff0c\u6211\u4eec\u5047\u8bbe\u4e24\u4e2a\u8fdb\u7a0b\u9700\u8981\u540c\u6b65\u8fdb\u884c\uff0c\u4e00\u4e2a\u8fdb\u7a0b\u662f\u8ba1\u7b97\u8fdb\u7a0b\uff0c\u53e6\u4e00\u4e2a\u8fdb\u7a0b\u662f\u6253\u5370\u8fdb\u7a0b\uff0c\u90a3\u4e48\u8fd9\u4e2a\u65f6\u5019\u4e24\u4e2a\u8fdb\u7a0b\u7684\u5b9a\u4e49\u53ef\u4ee5\u8868\u793a\u4e3a\uff1a

PC\uff08\u8868\u793a\u8ba1\u7b97\u8fdb\u7a0b\uff09

A: local buf

repeat

buf=buf

until buf=\u7a7a

\u8ba1\u7b97

\u5f97\u5230\u8ba1\u7b97\u7ed3\u679c

buf=\u8ba1\u7b97\u7ed3\u679c

goto A

PP:\uff08\u8868\u793a\u6253\u5370\u8fdb\u7a0b\uff09

B: local pri

repeat

pri=buf

until pri!=\u7a7a

\u6253\u5370buf\u4e2d\u7684\u6570\u636e

\u6e05\u9664buf\u4e2d\u7684\u6570\u636e

goto B

\u76f8\u5e94\u7528P,V\u539f\u8bed\u7684\u5b9e\u73b0\u8fc7\u7a0b\u4e3a\uff1a

PA: deposit(data)

Begin local x

P(bufempty)

\u6309FIFO\u65b9\u5f0f\u9009\u62e9\u4e00\u4e2a\u7a7a\u7f13\u51b2\u533abuf(x)

buf(x)=data

buf(x)\u7f6e\u6ee1\u6807\u8bb0

V(buffull)

end

PB:remove(data)

Begin local x

P(buffull)

\u6309FIFO\u65b9\u5f0f\u9009\u62e9\u4e00\u4e2a\u88c5\u6ee1

\u6570\u636e\u7684\u7f13\u51b2\u533abuf(x)

data=buf(x)

buf(x)\u7f6e\u7a7a\u6807\u8bb0

V(bufempty)

end

\uff083\uff09\u7528P V\u539f\u8bed\u5b9e\u73b0\u8fdb\u7a0b\u901a\u4fe1

\u6211\u4eec\u4ee5\u90ae\u7bb1\u901a\u4fe1\u4e3a\u4f8b\u8bf4\u660e\u95ee\u9898\uff1a

\u90ae\u7bb1\u901a\u4fe1\u6ee1\u8db3\u7684\u6761\u4ef6\u662f\uff1a

;\u53d1\u9001\u8fdb\u7a0b\u53d1\u9001\u6d88\u606f\u7684\u65f6\u5019\uff0c\u90ae\u7bb1\u4e2d\u81f3\u5c11\u8981\u6709\u4e00\u4e2a\u7a7a\u683c\u80fd\u5b58\u653e\u8be5\u6d88\u606f\u3002

;\u63a5\u6536\u8fdb\u7a0b\u63a5\u6536\u6d88\u606f\u65f6\uff0c\u90ae\u7bb1\u4e2d\u81f3\u5c11\u8981\u6709\u4e00\u4e2a\u6d88\u606f\u5b58\u5728\u3002

\u53d1\u9001\u8fdb\u7a0b\u548c\u63a5\u6536\u8fdb\u7a0b\u6211\u4eec\u53ef\u4ee5\u8fdb\u884c\u5982\u4e0b\u7684\u63cf\u8ff0\uff1a

Deposit(m)\u4e3a\u53d1\u9001\u8fdb\u7a0b\uff0c\u63a5\u6536\u8fdb\u7a0b\u662fremove(m). Fromnum\u4e3a\u53d1\u9001\u8fdb\u7a0b\u7684\u79c1\u7528\u4fe1\u53f7\u91cf\uff0c\u4fe1\u7bb1\u7a7a\u683c\u6570n\u3002mesnum\u4e3a\u63a5\u6536\u8fdb\u7a0b\u7684\u79c1\u7528\u4fe1\u53f7\u91cf\uff0c\u521d\u503c\u4e3a0.

Deposit(m):

Begin local x

P(fromnum)

\u9009\u62e9\u7a7a\u683cx

\u5c06\u6d88\u606fm\u653e\u5165\u7a7a\u683cx\u4e2d

\u7f6e\u683cx\u7684\u6807\u5fd7\u4e3a\u6ee1

V(mesnum)

end



Remove(m)

Begin local x

P(mesnum)

\u9009\u62e9\u6ee1\u683cx

\u628a\u6ee1\u683cx\u4e2d\u7684\u6d88\u606f\u53d6\u51fa\u653em\u4e2d

\u7f6e\u683cx\u6807\u5fd7\u4e3a\u7a7a

V(fromnum)

end

\u7b14\u8005\u4ec5\u4ece\u6700\u57fa\u672c\u7684\u8fdb\u7a0b\u95ee\u9898\u4e0a\u8bba\u8ff0P,V\u539f\u8bed\u7684\u5e94\u7528\u3002\u5f53\u7136\u5173\u4e8e\u8fd9\u4e00\u90e8\u5206\u7684\u5e94\u7528\u662f\u5341\u5206\u5e7f\u6cdb\u7684\u3002\u6bd4\u5982\u64cd\u4f5c\u7cfb\u7edf\u6587\u5316\u53f2\u4e0a\u975e\u5e38\u7ecf\u5178\u7684\u54f2\u5b66\u5bb6\u5c31\u9910\u95ee\u9898\uff0c\u751f\u4ea7-\u6d88\u8d39\u95ee\u9898\uff0c\u8bfb\u8005-\u5199\u8005\u95ee\u9898\uff0c\u7406\u53d1\u5e08\u95ee\u9898\u7b49\u7b49\u3002\u5927\u5bb6\u4e0d\u59a8\u5c1d\u8bd5\u4e00\u4e0b\u7528\u4fe1\u53f7\u91cf\u7684\u65b9\u6cd5\u8fdb\u884c\u5b9e\u73b0\u3002

\u4e3b\u8981\u53c2\u8003\u4e66\u76ee\uff1a

\u300a\u8ba1\u7b97\u673a\u64cd\u4f5c\u7cfb\u7edf\u6559\u7a0b\u300b\u6e05\u534e\u5927\u5b66\u51fa\u7248\u793e \u5f20\u5c27\u5b66

Operating Systems--Design and Implementation,Prentice Hall

\u5e76\u53d1\u6027\u3001\u5171\u4eab\u6027\u3001\u865a\u62df\u6027\u3001\u5f02\u6b65\u6027\u3002\u5e76\u53d1\uff1a\u6307\u4e24\u4e2a\u6216\u591a\u4e2a\u4e8b\u4ef6\u5728\u540c\u4e00\u65f6\u95f4\u95f4\u9694\u5185\u53d1\u751f\uff0c\u8fd9\u4e9b\u4e8b\u4ef6\u5b8f\u89c2\u4e0a\u662f\u540c\u65f6\u53d1\u751f\u7684\uff0c\u4f46\u5728\u5fae\u89c2\u4e0a\u662f\u4ea4\u66ff\u53d1\u751f\u7684\u3002\u5e76\u884c\uff1a\u6307\u4e24\u4e2a\u6216\u591a\u4e2a\u4e8b\u4ef6\u5728\u540c\u4e00\u65f6\u523b\u53d1\u751f\u3002\u64cd\u4f5c\u7cfb\u7edf\u7684\u5e76\u53d1\u6027\uff1a\u6307\u8ba1\u7b97\u673a\u7cfb\u7edf\u4e2d\u201c\u540c\u65f6\u201d\u5730\u8fd0\u884c\u7740\u591a\u4e2a\u7a0b\u5e8f\uff0c\u8fd9\u4e9b\u7a0b\u5e8f\u5b8f\u89c2\u4e0a\u662f\u540c\u65f6\u8fd0\u884c\u7684\uff0c\u5728\u5fae\u89c2\u4e0a\u662f\u4ea4\u66ff\u8fd0\u884c\u7684\u3002\u64cd\u4f5c\u7cfb\u7edf\u548c\u7a0b\u5e8f\u5e76\u53d1\u662f\u4e00\u8d77\u8bde\u751f\u7684\u3002\u6211\u4eec\u7684\u8ba1\u7b97\u673a\u7684CPU\u6709\u5355\u6838\u7684\uff0c\u53cc\u6838\u7684\uff0c\u56db\u6838\u7684\uff0c\u516b\u6838\u7684\uff01\u5355\u6838CPU\u540c\u4e00\u65f6\u523b\u53ea\u80fd\u8fd0\u884c\u4e00\u4e2a\u7a0b\u5e8f\uff0c\u5404\u4e2a\u7a0b\u5e8f\u53ea\u80fd\u5e76\u53d1\u5730\u6267\u884c\uff08\u4ea4\u66ff\u5730\u4f7f\u7528CPU\uff09\uff01\u591a\u6838CPU\u540c\u4e00\u65f6\u523b\u53ef\u4ee5\u6267\u884c\u591a\u4e2a\u7a0b\u5e8f\uff0c\u591a\u4e2a\u7a0b\u5e8f\u53ef\u4ee5\u5e76\u884c\u5730\u6267\u884c\uff08\u540c\u65f6\u53d1\u751f\u8fd0\u884c\uff09\u3002\u5171\u4eab\uff1a\u5373\u8d44\u6e90\u5171\u4eab\uff0c\u662f\u6307\u7cfb\u7edf\u4e2d\u7684\u8d44\u6e90\u53ef\u4f9b\u5185\u5b58\u4e2d\u591a\u4e2a\u5e76\u53d1\u6267\u884c\u7684\u8fdb\u7a0b\u4e2d\u540c\u65f6\u4f7f\u7528\u3002\u6240\u8c13\u201c\u540c\u65f6\u201d\uff0c\u5f80\u5f80\u662f\u5b8f\u89c2\u4e0a\u7684\uff0c\u800c\u5728\u5fae\u89c2\u4e0a\uff0c\u8fd9\u4e9b\u8fdb\u7a0b\u53ef\u80fd\u662f\u4ea4\u66ff\u5730\u5bf9\u8d44\u6e90\u8fdb\u884c\u8bbf\u95ee\u7684\uff08\u5373\u5206\u65f6\u5171\u4eab\uff09\u3002\u4e24\u79cd\u8d44\u6e90\u5171\u4eab\u65b9\u5f0f\uff1a\u4e92\u65a5\u5171\u4eab\u65b9\u5f0f\u548c\u540c\u65f6\u5171\u4eab\u65b9\u5f0f\u3002\u4e92\u65a5\u5171\u4eab\u65b9\u5f0f\uff1a\u7cfb\u7edf\u4e2d\u7684\u67d0\u4e9b\u8d44\u6e90\uff0c\u867d\u7136\u53ef\u4ee5\u63d0\u4f9b\u7ed9\u591a\u4e2a\u8fdb\u7a0b\u4f7f\u7528\uff0c\u4f46\u4e00\u4e2a\u65f6\u95f4\u6bb5\u5185\u53ea\u5141\u8bb8\u4e00\u4e2a\u8fdb\u7a0b\u8bbf\u95ee\u8be5\u8d44\u6e90\u3002\u540c\u65f6\u5171\u4eab\u65b9\u5f0f\uff1a\u7cfb\u7edf\u4e2d\u7684\u67d0\u4e9b\u8d44\u6e90\uff0c\u5141\u8bb8\u4e00\u4e2a\u65f6\u95f4\u6bb5\u5185\u7531\u591a\u4e2a\u8fdb\u7a0b\u201c\u540c\u65f6\u201d\u5bf9\u5b83\u4eec\u8fdb\u884c\u8bbf\u95ee\u3002\u5e76\u53d1\u6027\u548c\u5171\u4eab\u6027\u4e92\u4e3a\u5b58\u5728\u6761\u4ef6\u7684\u3002\u865a\u62df\uff1a\u662f\u6307\u4e00\u4e2a\u7269\u7406\u4e0a\u7684\u5b9e\u4f53\u53d8\u4e3a\u82e5\u5e72\u4e2a\u903b\u8f91\u4e0a\u7684\u5bf9\u5e94\u7269\uff0c\u7269\u7406\u5b9e\u4f53\uff08\u524d\u8005\uff09\u662f\u5b9e\u9645\u5b58\u5728\u7684\uff0c\u800c\u903b\u8f91\u4e0a\u5bf9\u5e94\u7269\uff08\u540e\u8005\uff09\u662f\u7528\u6237\u611f\u53d7\u5230\u7684\u3002\u5f02\u6b65\uff1a\u5728\u591a\u9053\u7a0b\u5e8f\u73af\u5883\u4e0b\uff0c\u5141\u8bb8\u591a\u4e2a\u7a0b\u5e8f\u5e76\u53d1\u7684\u6267\u884c\uff0c\u4f46\u7531\u4e8e\u8d44\u6e90\u6709\u9650\uff0c\u8fdb\u7a0b\u7684\u6267\u884c\u4e0d\u662f\u4e00\u7ba1\u5230\u5e95\u7684\uff0c\u800c\u662f\u8d70\u8d70\u505c\u505c\u5df2\u4e0d\u53ef\u9884\u77e5\u7684\u901f\u5ea6\u5411\u524d\u63a8\u8fdb\uff0c\u8fd9\u5c31\u662f\u8fdb\u7a0b\u7684\u5f02\u6b65\u6027\uff01\u53ea\u6709\u7cfb\u7edf\u62e5\u6709\u5e76\u53d1\u6027\uff0c\u624d\u6709\u53ef\u80fd\u5bfc\u81f4\u5f02\u6b65\u6027\uff0c\u6ca1\u6709\u5e76\u53d1\u548c\u5171\u4eab\uff0c\u5c31\u8c08\u4e0d\u4e0a\u865a\u62df\u548c\u5f02\u6b65\u3002\u64cd\u4f5c\u7cfb\u7edf\uff08OperationSystem,OS\uff09\u662f\u6307\u63a7\u5236\u548c\u7ba1\u7406\u6574\u4e2a\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u786c\u4ef6\u548c\u8f6f\u4ef6\u8d44\u6e90\uff0c\u5e76\u5408\u7406\u5730\u7ec4\u7ec7\u548c\u8c03\u5ea6\u8ba1\u7b97\u673a\u7684\u5de5\u4f5c\u548c\u8d44\u6e90\u7684\u5206\u914d\uff0c\u4ee5\u63d0\u4f9b\u7ed9\u7528\u6237\u548c\u5176\u4ed6\u8f6f\u4ef6\u65b9\u4fbf\u5730\u63a5\u53e3\u548c\u73af\u5883\uff0c\u5b83\u662f\u8ba1\u7b97\u673a\u7cfb\u7edf\u4e2d\u6700\u57fa\u672c\u7684\u7cfb\u7edf\u8f6f\u4ef6\u3002\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u548c\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u4ea4\u4e92\uff0c\u4f46\u662f\u5927\u591a\u6570\u60c5\u51b5\u4e0b\u90fd\u662f\u901a\u8fc7\u5e94\u7528\u8f6f\u4ef6\u4e0e\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u4ea4\u4e92\u3002\u786c\u4ef6\u6307\u7684\u662fCPU\u3001\u5185\u5b58\u3001\u786c\u76d8\u7b49\u8d44\u6e90\u3002

别拿ubuntu装oracle了,尤其还是虚拟机……
那个写了一大串答案的那个是适用于Fedora、Centos之类系统的。
除非你想sudo apt-get install yum,之后将Centos的安装盘CD1和CD2种Packages文件夹中所有你需要的rpm包拷到你虚拟机下硬盘,再构建本地yum源,之后再按照那一大串答案写的来。
配置本地yum源的方法是我写的:
yum仓库的配置文件是保存在/etc/yum.repos.d/目录下的,以mirrorlist动态控制仓库路径(似乎也有用baseurl配置的)。如果想创建本地的yum仓库,只需要如下几步(假使我有一个叫Luna的用户):
1、以root身份登录
 即$ 
su -
2、插入Centos安装U盘中,并将其Packages文件夹中所有rpm文件拷贝到一个文件夹中;
 先在系统中随意建立一个文件夹(我建立的文件夹就直接叫Packages),如/home/Luna/Packages/
 即# cp /media/CenrOS(之后按tab)/Packages/* /home/Luna/Packages
 # *代表U盘里Packages文件夹下所有文件。
 ps:拷贝个十几分钟很正常,可以加上 -rv参数解解闷……
 pss:这步如果不是闲着没事干完全可以通过图形界面操作——即复制粘贴。
3、通过rpm命令手工安装createrepo软件(即创建一个索引信息);
 createrepo的rpm包在Centos iso DVD1的Packages里。
 不过在# rpm -ivh createrepo(之后按tab)时会出现提示缺少依赖——这都不是事儿,把缺少的一并装了——把缺的和creatwewpo一块安就能安上了。
 运行createrepo命令,
 即# createrepo -v /home/Luna/Packages
 继续等吧,尤其是虚拟机,没个十几分钟甭想结束……加上参数 -v是解闷用的。
 这步如果闲着没事干也可以通过图形界面操作——虽然从四千个rpm包里找createrepo和几个依赖项挺有趣的。
4、之后需要在yum仓库的配置文件中添加几行,让yum能指向本地源。
 即在/etc/yum.repos.d/目录下新建一个文件(名字随意起,只要以.repo结尾就成。)
 假设我建立文件CentOS-Local.repo
 即# vim /etc/yum.repos.d/CentOS-Local.repo
 ps:这一步需要会vi编辑器,不会的话可以在桌面以root身份创建一个叫Centos-Local.repo的文件,写好内容后复制到/etc/yum.repos.d/目录下,
 即# 
cp /home/Luna/Desktop/CentOS-Local.repo /etc/yum.repos.d/
 文件内容是:
 [CentOS-Local]
 name = local yum 
repo   #名字随便起。
 baseurl = file:///home/yum-data/ #注意是仨斜杠——file://是本地协议,之后那个/是路径根目录。
 enabled = 1
 gpgcheck = 1 #这个写0也行
5、清除各种缓存文件。
 运行命令# yum clean all   #运行后好像会出现四行字。
 再瞅瞅  # yum list   #这步如果没联网会显出奇怪的东西。
ps:如果有分组信息,则在运行命令的时候使用参数 -g制定分组文件
 Centos/RHEL的分组信息保存在光盘repodata/目录下,文件名以comps.xml结尾的xml文件(前面一大陀数字,文件大约有1M多)。
 假设我把该文件复制到桌面上,即可运行
 # createrepo -g /home/Luna/Desktop/*comps.xml /home/Luna/Packages

看恶心了吧……别拿ubuntu装Oracle玩了……

 

 

这是别人写的,我自己没有试过: 

(1) 安装系统 ,安装系统起用户名的时候千万不要使用起 oracle 这个用户名,因为安装 oracle 的时候需要创建,并有权限问题。

(2) 把系统更新到最新,安装如下包

网上是说要使用命令 sudo apt-get install 将下列包全部安装 , 大部分的包是必须得有的 , 在后面的安装过程中会报错,还得找这些包,拷贝到相应的目录下

alien binutils gcc ia32-libs lesstif2 lesstif2-dev lib32stdc++6 lib32z1 libaio1

libc6 libc6-dev libc6-dev-i386 libc6-i386 libmotif3 make libstdc++5 rpm

(3) 创建用户

因为 oracle 一定要 oracle 用户来进行安装,所以首先需要创建 oracle 用户和相关联的用户组

yurocy@yurocy-desktop:~$ sudo addgroup oinstall

yurocy@yurocy-desktop:~$ sudo addgroup dba

yurocy@yurocy-desktop:~$ sudo addgroup nobody

yurocy@yurocy-desktop:~$ sudo useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle

v@yurocy-desktop:~$ sudo usermod -g nobody nobody

(4) 创建安装目录

yurocy@yurocy-desktop:~$ sudo mkdir -p /opt/oracle

yurocy@yurocy-desktop:~$ sudo chown -R oracle:oinstall /opt/oracle/

yurocy@yurocy-desktop:~$ sudo chmod -R 755 /opt/oracle/

(5) 修改 linux 内核参数

yurocy@yurocy-desktop:~$ sudo vim /etc/sysctl.conf

# 按 I 进入编辑,添加如下参数

kernel.shmmax = 3147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

 

yurocy@yurocy-desktop:~$ sudo vim /etc/security/limits.conf

# 添加如下参数

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

 

# 让修改后的参数生效

yurocy@desktop-desktop:~$ sudo sysctl -p

 

创建链接:

yurocy@desktop-desktop:~$ sudo ln -s /usr/bin/awk /bin/awk

yurocy@desktop-desktop:~$ sudo ln -s /usr/bin/rpm /bin/rpm

yurocy@desktop-desktop:~$ sudo ln -s /usr/bin/basename /bin/basename

 

(6) 设置用户环境

#切换到 oracle 用户

yurocy@desktop-desktop:~$ su oracle

Password: #输入刚才创建的 oracle 用户密码

 

oracle@desktop-desktop:~$ vim ~/.profile

#按 I 进入编辑模式,添加如下内容 , 但网有说是 bash_profile 文件 , 应该是一样,可能是 ubuntu 版本问题

if [-f ~/.bashrc ]; then

~/.bashrc

fi

# 编辑完后按 ESC 再按 Shift+ZZ 保存并退出,接着编辑 .bashrc

 

oracles@desktop-desktop:~$ vim ~ /.bashrc

#增加如下内容

export ORACLE_BASE=/home/oracle/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_2

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export ORACLE_OWNER=oracle

export ORACLE_SID=orcl

export ORACLE_TERM=xterm

# 创建 oracle 用户密码

yurocy@yurocy-desktop:~$ sudo passwd oracle

 

(7) 开始做安装准备

需要在 /etc/ 目录下创建一个文件 redhat-release , 需要权限进行创建,创建好后添加如下内容

yurocy@yurocy-desktop:~$ sudo vim /etc/redhat-release

#添加

Red Hat Linux release 3.1 (drupal)

 

然后在本机 (windows) 下载一个 xmanager ,安装后 xstart 连接到 Ubuntu 上,

xmanager 下载地址:  http://www.onlinedown.net/softdown/32684_2.htm

安装后进行配置, protocol 配置成 SSH,Execution Command 选择: xterm(Linux: Type 2)

 

 

(8) 安装 oracle

到 http://www.oracle.com/technology/software/products/database/index.html 下载相应的版本,注意查看自己的机器是 32 位的还是 64 位的

需要注册一个用户名和密码,是免费的哦。

然后登录到 xmanager ,进行如下的操作

# 前面提到过需要 oracle 进行安装,现在注销下系统改成 oracle 进行登录

oracle@yurocy-desktop:~$ unzip 10201_database_linux32.zip( 如果下载的是 .cpio 文件,就用 cpio -idmv < 10201_database_linux_x86_64.cpio 来解压)

oracle@yurocy-desktop:~$ cd database

为了后面安装的时候界面不显示中文乱码,可以安装一下 jdk ,但是我直接选择使用英文显示,这样就不用安装 jdk ,直接在命令行输入如下命令就行了

oracle@yurocy-desktop:~/database$ export LANG=en_US

然后运行如下命令 , 就进入 oracle 的安装界面了

oracle@yurocy-desktop:~/database$ ./runInstaller

 

(9) 安装过程中遇到的问题:

  1. 在安装的过程中会报各种错误,但是最好是时刻查看一下 $ORACLE_HOME/oraInventory/logs 以 installActions 开头的日志,这个日志里面显示的内容比较全。出错信息也比较多。

    2. 因为在前面的配置文件中设置了 $ORACLE_SID 等于 orcl ,所以在安装的过程中最好默认选择这个,并要记录下你的 global database name 和 database password 信息

    3. 在安装的过程中遇到了 ora-27125 unable to create shared memory segment 的错误,这个时候查看 installerActions 日志,会有详细信息,因为每次安装的错误原因都不一样,

    所以可能解决方式都会不一样,但是我这个错误网上写的是 export DISABLE_HUGETLBFS=1 ,但是不太生效,我查了很多资料终于搞清楚了,要解决该问题,在 Oracle 用户下执行 $export DISABLE_HUGETLBFS=1

     # cd $ORACLE_HOME/bin

   # mv oracle oracle.bin

   # cat> oracle <<"EOF"

   #!/bin/bash

   export DISABLE_HUGETLBFS=1

   exec $ORACLE_HOME/bin/oracle.bin $@

   EOF

   #chmod +x oracle

    这样解决问题后,后面的安装就很顺畅,这个问题不解决,后面就进行不下去,当然可能产生这个错误的原因是别的,要自己尝试

  4 . 安装到最后会弹出一个界面,提示  需要用 root 用户去运行两个脚本文件 orainstRoot.sh 和 root.sh 这个时候不要点 OK ,打开终端用 root 进行登录,执行就可以了。

(10) 如果需要安装配置新的数据库,则在 xmanager 中输入命令 dbca 就可以了,其实在 oracle 安装过程中会默认创建一个数据库的也就是我们配置的 orcl ,所以在安装的过程中就会在后台自动调用 dbca ,如果安装过程不出错,后面调用 dbca 的时候也不会出错

 

 

oracle 的卸载,在 linux 下卸载 oracle 非常容易,命令如下:

    1. 运行 $ORACLE_HOME/bin/localconfig delete

   2. rm -rf $ORACLE_BASE/*

   3. rm -f /etc/oraInst.loc /etc/oratab

   4. rm -rf /etc/oracle

   5. rm -f /etc/inittab.cssd

   6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv

    7. rm -rf $ORCLE_HOME

   

  Oracle 安装完后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。

       先用 sqlplus /nolog 登录

然后 connect / as sysdba 或者 connect sys/sys 的密码 @ 数据库名 as sysdba

1 . 假如现在已经建好名为 'news' 的数据库,此时在 /oracle/product/10.1.0/oradata/ 目录下已经存在 news 目录(注意:我的 Oracle10g 安装在 /oracle 下,若你的 Oracle 安装在别的目录,那么你新建的数据库目录就在 */product/10.1.0/oradata/ 目录下)。

    2. 在创建用户之前,先要创建表空间:

    其格式为:格式 :  create tablespace 表间名 datafile ' 数据文件名 ' size 表空间大小 ;

    如:

    SQL> create tablespace news_tablespace datafile 'F:/oracle/product/10.1.0/oradata/news/news_data.dbf' size 500M;

    其中 'news_tablespace' 是你自定义的表空间名称,可以任意取名; 'F:/oracle/product/10.1.0/oradata/news/news_data.dbf' 是数据文件的存放位置, 'news_data.dbf' 文件名也是任意取; 'size 500M' 是指定该数据文件的大小,也就是表空间的大小。

 

    3. 现在建好了名为 'news_tablespace' 的表空间,下面就可以创建用户了:

    其格式为:格式 :  create user  用户名 identified by 密码   default tablespace 表空间表 ;

    如:

    SQL> create user news identified by news default tablespace news_tablespace;

    默认表空间 'default tablespace' 使用上面创建的表空间。

 

    4. 接着授权给新建的用户:

    SQL> grant connect,resource to news;  -- 表示把 connect,resource 权限授予 news 用户

    SQL> grant dba to news;  -- 表示把 dba 权限授予给 news 用户

    授权成功。

     ok! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!



这些应该是安装开发环境需要安装的包,系统光盘里面已经有这些包了。你只要搭建好yum之后,用yum安装,用groupinstall  组安装

安装开发环境,你只要安装开发库 和开发工具

#yum  -y  groupinstall  开发库  开发工具


如果是英文的话,就用这个

#yum  -y  groupinstall   Development Library   Development Tools


祝你好运~~~



在Ubuntu下安装Oracle实在是太苦逼了,为什么不用红帽或CentOS?

扩展阅读:java windowbuilder ... linux mint gnome ... ubuntu touch anbox ... ubuntu touch ssh ... vmware workstation ... ubuntu touch docker ... fedora linux ... linux mint mate ... ubuntu 2404 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网