Oracle傳輸表空間

一、簡介


可傳輸表空間(還有個集)最大的優勢是其速度比export/import或unload/load要快的多。因為可傳輸表空間主要是復制數據文件到目標路徑,然后再使用export/import或Data Pump export/import等應用僅導出/導入表空間對象的元數據到新數據庫。


(1)可傳輸表空間的特性主要用于進行庫對庫的表空間復制,要進行傳輸的表空間必須置于read-only模式。如果生產庫不允許表空間置為只讀模式,沒關系,方法還是有的,通過RMAN備份也可以創建可傳輸表空間集。

(2)要使用可傳輸表空間的特性,oracle至少是8i企業版或更高版本。如果是相同操作系統平臺相互導入,則8i及以上版本均可支持,但如果是不同操作系統平臺,數據庫版本至少10g。

(3)被傳輸的表空間即可以是字典管理,也可以是本地管理。并且自oracle9i開始,被傳輸表空間的block size可以與目標數據庫的block size不同。


? ? 一些操作系統(包括 Windows)在低位內存地址中用最低有效字節存儲多字節二進制數據;因此這種系統被稱為低地址低字節序。相反,其它的操作系統(包括 Solaris)將最高有效字節存儲在低位內存地址中,因此這種系統被稱為低地址高字節序。當一個低地址高字節序的系統試圖從一個低地址低字節序的系統中讀取數據時,需要一個轉換過程— 否則,字節順序將導致不能正確解釋讀取的數據。不過,當在相同字節順序的平臺之間傳輸表空間時,不需要任何轉換。

? ? 如果平臺間的endian不同,那么在執行導入操作之之前必須首先轉換源平臺的表空間到目標格式,如果平臺間endian format相同,則可以跳過轉換的步驟,即使是不同平臺。當然前提是各平臺的數據庫版本都不低于10g。

在表空間可被傳輸到不同平臺之前,數據文件的文件頭必須能夠識別其所屬的原平臺是什么,對于oracle數據庫初始化參數中COMPATIBLE置為10.0.0或更高之后,你必須至少將表空間置為read-write一次,這點非常重要。


表空間傳輸是通過oracle的邏輯導出命令exp/imp添加參數transport_tablespace=y進行導出導入。


1.1、執行表空間傳輸有以下限制條件:

(1)源數據庫和目標數據庫必須處于相同的平臺。10g以后可以用RMAN命令修改數據文件實現跨平臺移動表空間。

(2)對于源數據庫和目標數據庫版本不同時,源數據庫的版本必須低于目標數據庫。

(3)兩邊設置的數據庫字符集和國家字符集必須一致。

(4)目標數據庫不能存在需要導入的表空間。

(5)源數據庫和目標數據庫的blocksize必須一致(9i前)。


注意:

? 自oracle10gR2開始,可以傳輸含XMLTypes的表空間,不過必須使用imp/exp而不能選擇數據泵(impdp/expdp)。并確保imp/exp命令的CONSTRAINTS和TRIGGERS參數設置為Y。


下列腳本可以列出數據庫中哪些表空間含XMLTypes:

select distinct p.tablespace_name   

from dba_tablespaces p,

? ? ?dba_xml_tables x,

? ? ?dba_users u,

? ? ?all_all_tables t

where t.table_name = x.table_name

? and t.tablespace_name = p.tablespace_name

? and x.owner = u.username;


1.2、傳輸表空間的一些限制:

(1)高級隊列(Advanced Queues):可傳輸表空間的特性并不支持8.0兼容的高級隊列

(2)系統表空間(SYSTEM Tablespace Objects):不能傳輸SYSTEM表空間或者SYS用戶擁有的對象。

(3)映射類型(Opaque Types):由應用指定并且映射到數據庫(如RAW,BFILE等)的類型可以被傳輸,但是它們并不會被做為跨平臺轉換的一部分。其實際類型是什么只有指定它的應用清楚,所以必須保證這個應用解決讀取各種endian問題后再考慮將其傳輸到新平臺。

(4)浮點數據(Floating-Point Numbers):BINARY_FLOAT和BINARY_DOUBLE類型可以使用數據泵導入導出但不支持EXP。


注意:

? ?對于跨平臺的傳輸,查詢V$TRANSPORTABLE_PLATFORM視圖檢查兩平臺的endian format。如果你準備傳輸表空間集到不同endian平臺,必須首先轉換表空間集的endian與目標平臺相同。前面提到,如果涉及了endian的轉換,可以在生成可傳輸表空間集時進行(源平臺進行),或者在導入表空間集之前進行(目標平臺進行),轉換的命令都是一個,只是參數略有不同,關于命令的用法暫且不提,后面會有專門章節介紹和實踐。在這里我們先來深入一個這個操作究竟放在哪里合適。按說這個操作放在哪里執行都可以,應該沒有什么可爭辯的,但是值的注意的是針對我們操作的數據庫,特別是對于正在運行的生產數據庫,三思建議你采用在目標平臺上進行轉換的操作,緣由如下:

(1)縮短停機時間

  在創建可傳輸表空間集之前,需要將要傳輸的表空間狀態置為read-only。你可以將數據文件迅速復制一份鏡像,并生成包含元數據的export文件,然后即可將表空間狀態置為read-write狀態。這種安排使得表空間必須保持為只讀的時間盡可能的短。

(2) 提高執行性能

  生產數據庫往往同時在處理多個應用,而此時如果再用其進行轉換操作可能增加系統負載,并且系統此時由于執行的任務較多,轉換效率也并非最高。將轉換操作移到目標平臺進行,通常對于目標平臺都是做為備份角色,其系統負載相對是比較低的,執行轉換操作的效率相對也會更高。

(3)簡化復制操作

  通過在目標平臺執行轉換命令時指定db_file_name_convert參數,直接將數據文件轉換到目標目錄內,簡化復制時的操作。


二、表空間傳輸的步驟:


2.1、需要移動的表空間必須是自包含的。

? 如果表空間中的數據與其他表空間中的數據有參照關系,那么在移動表空間時,凡是相關的表空間都需要一同移動。、

可以通過如下命令檢查是否為自包含表空間:

SQL>execute dbms_tts.transport_set_check(ts_list=>'<tablespace>',incl_constraints=>TRUE);

參數ts_list指定需要傳輸的表空間,incl_constraints指定是否檢查完整性約束。執行完后,檢查臨時表transport_set_violations,如果沒有返回信息,表示表空間為自包含。



2.2、將需要傳輸的表空間設置為只讀。(如果是生成數據庫也是可以有辦法的,可以使用rman功能)

SQL>alter tablespace XXX read only;

如果生產庫不允許表空間只讀,可以選擇通過RMAN備份生成表空間集的方式進行



2.3、以sysdba身份連接數據庫執行exp導出。

C:>exp userid='sys/sys@jiong as sysdba' file=d:\testspace.dmp log=d:\testspaceexp.log transport_tablespace=y tablespaces=testspace buffer=10240000

只是導出的待傳輸表空間的目錄結構信息(元數據),并不包含實際數據,因此導出的速度非常快,而且文件也很小



2.4、使用RMAN轉換所要傳輸表空間的數據文件頭為目標系統文件(10g下在不同的平臺傳輸時)

這步轉換可以在源數據庫也可以在目標數據庫進行。

RMAN>convert tablespace "TESTSPACE" to platform 'Microsoft Windows IA (32-bit)' format 'd:\TESTSPACE01.DBF'

記住這步結束后別忘了將表空間置回可寫:

alter tablespace TESTSPACE read write


關于platform參數可以通過查詢v$db_transportable_platform得到。

(1)v$db_transportable_platform

V$DB_TRANSPORTABLE_PLATFORM displays all platforms to which the database can be transported using the RMAN CONVERT DATABASE command. The transportable database feature only supports transports of the same endian platform. Therefore, V$DB_TRANSPORTABLE_PLATFORM displays fewer rows than V$TRANSPORTABLE_PLATFORM.

(2)v$transportable_platform

V$TRANSPORTABLE_PLATFORM displays all platform names and their identifiers


2.5、復制表空間轉換后的數據文件及導出文件到目標平臺


2.6、使用imp導入表空間

? ?這里需要注意,在目標數據庫需要先建立原先表空間里對象所屬的用戶,但是又不能使用同名的表空間,所以這個用戶會建立在其他表空間上。

還有,如果傳輸的表空間集block_size與目標庫的默認block_size不同,那你的第一步就得是設置目標庫中DB_nK_CACHE_SIZE的初始化參數(9i以上)。

c:>imp userid='sys/sys@mood as sysdba' file=d:\testspace.dmp log=d:\testspaceimp.log tablespaces=testspace datafiles=d:\TESTSPACE01.DBF transport_tablespace=y

將用戶默認表空間修改為導入的表空間:

alter user TUSER default tablespace TESTSPACE

如果需要,將導入到目標數據庫的表空間置為可寫,因為導入后也是處于read only狀態。

alter tablespace TESTSPACE read write


#####################################################

? ? ? ? ? ? ? ? ? ?創建傳輸表空間測試

##############################################

一、測試環境

Source 端:

操作系統: OracleLinux 6.2 64位

endianness格式: little

數據庫版本:11.2.0.3

?

Target 端:

操作系統:OracleLinux 6.2 64位

endianness 格式: little

數據庫版本:11.2.0.3


二、開始測試

2.1、在source端創建測試表空間

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SQL>?select?tablespace_name,?status???from?dba_tablespaces;??
???
TABLESPACE_NAME????????????????STATUS??
------------------------------?---------??
SYSTEM?????????????????????????ONLINE??
UNDOTBS1???????????????????????ONLINE??
SYSAUX?????????????????????????ONLINE??
TEMPTS1????????????????????????ONLINE??
USERS??????????????????????????ONLINE??
OUTLN??????????????????????????ONLINE??
???
6?rows?selected.??
???
SQL>?select?file_name?from?dba_data_files;??
???
FILE_NAME??
------------------------------------------------??
/u01/app/oracle/oradata/normal/system01.dbf??
/u01/app/oracle/oradata/normal/undotbs01.dbf??
/u01/app/oracle/oradata/normal/sysaux01.dbf??
/u01/app/oracle/oradata/normal/users01.dbf??
/u01/app/oracle/oradata/normal/undotbs02.dbf??
/u01/app/oracle/oradata/normal/system02.dbf??
/u01/app/oracle/oradata/normal/outln01.dbf??
???
7?rows?selected.

2.2、創建表空間創建表空間 tset ?

1
2
SQL>?create?tablespace?tset?datafile?'/u01/app/oracle/oradata/normal/test01.dbf'?size?50M;??
Tablespace?created.

??

2.3、創建用戶source_test,并指定表空間 ?

??

1
2
3
4
5
6
7
8
9
10
11
--在source端??
SQL>?create?user?source_test???identified?by?oracle???default?tablespace?tset???temporary?tablespace?TEMPTS1;??
???
SQL>?grant?connect,resource?to?source_test;??
???
Grant?succeeded.??
???
--在target端(暫時只先創建用戶)??
SQL>?create?user?target_test???identified?by?oracle??temporary?tablespace?TEMPTS1;??
???
SQL>?grant?connect,resource?to?target_test;

2.4、創建測試表 ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SQL>?conn?source_test/oracle??
SQL>?create?table?t1(id?number,?name?varchar2(30));??
???
SQL>?insert?into?t1?values(1,?'AAAAA');??
???
SQL>?insert?into?t1?values(2,?'BBBBB');??
???
SQL>?commit;??
???
Commit?complete.??
???
SQL>?select?*?from?t1;??
???
????????ID?NAME??
----------?------------------------------??
?????????1?AAAAA??
?????????2?BBBBB

? ? ? ? ? ? ? ? ? ? ??

3、在source端和target端創建 backup 的目錄

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[oracle@normal?~]$?mkdir?-p?/u01/backup??
[oracle@normal?~]$?ls?-l?/u01??
total?24??
drwxr-xr-x?3?oracle?oinstall??4096?Jul?28?12:31?app??
drwxr-xr-x?2?oracle?oinstall??4096?Sep?14?16:21?backup??
???
SQL>?show?user??
USER?is?"SYS"??
SQL>?create?directory?backup?as?'/u01/backup';??
???
Directory?created.??
???
SQL>?col?owner?format?a5??
SQL>?col?directory_name?format?a25??
SQL>?col?DIRECTORY_PATH?format?a50?????
???
SQL>?select?*?from?dba_directories;?????
OWNER?DIRECTORY_NAME????????????DIRECTORY_PATH??
-----?-------------------------?--------------------------------------------------??
SYS???BACKUP????????????????????/u01/backup??
SYS???OUTLN_DIR?????????????????/home/oracle??
SYS???DATA_PUMP_DIR?????????????/u01/app/oracle/product/11.2.0/db_1/rdbms/log/??
SYS???ORACLE_OCM_CONFIG_DIR?????/u01/app/oracle/product/11.2.0/db_1/ccr/state??
???
SQL>?GRANT?read,?write?ON?DIRECTORY?backup?TO?source_test;??
???
Grant?succeeded.

3.1、在target端 ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[oracle@test?~]$?mkdir?-p?/u01/backup??
[oracle@test?~]$?ls?-l?/u01??
total?24??
drwxr-xr-x?3?oracle?oinstall??4096?Aug?28?09:09?app??
drwxr-xr-x?2?oracle?oinstall??4096?Sep?14?16:40?backup??
???
SQL>?show?user??
USER?is?"SYS"??
SQL>?create?directory?backup?as?'/u01/backup';??
???
Directory?created.??
???
SQL>?col?owner?format?a5??
SQL>?col?directory_name?format?a25??
SQL>?col?DIRECTORY_PATH?format?a50??
SQL>?select?*?from?dba_directories;??
???
OWNER?DIRECTORY_NAME????????????DIRECTORY_PATH??
-----?-------------------------?--------------------------------------------------??
SYS???BACKUP????????????????????/u01/backup??
SYS???OUTLN_DIR?????????????????/home/oracle??
SYS???DATA_PUMP_DIR?????????????/u01/app/oracle/product/11.2.0/db_1/rdbms/log/??
SYS???ORACLE_OCM_CONFIG_DIR?????/u01/app/oracle/product/11.2.0/db_1/ccr/state??
???
SQL>?GRANT?read,?write?ON?DIRECTORY?backup?TO?target_test;??
???
Grant?succeeded.

4、檢查表空間自包含(就是改表空間里的數據沒有和其他表空間數據有關聯,如果有關聯會報錯)

1
2
3
SQL>?execute?dbms_tts.transport_set_check('TSET',?TRUE);??
???
PL/SQL?procedure?successfully?completed.

--查看自包含驗證結果: ?

SQL> select * from transport_set_violations; ?

??

--沒有記錄說明沒有錯 ?


5、將表空間TSET設置成read--only

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQL>?alter?tablespace?TSET?read?only;??
???
SQL>?select?tablespace_name,?status??from?dba_tablespaces;??
???
TABLESPACE_NAME????????????????STATUS??
------------------------------?---------??
SYSTEM?????????????????????????ONLINE??
UNDOTBS1???????????????????????ONLINE??
SYSAUX?????????????????????????ONLINE??
TEMPTS1????????????????????????ONLINE??
USERS??????????????????????????ONLINE??
OUTLN??????????????????????????ONLINE??
TSET???????????????????????????READ?ONLY??
???
7?rows?selected.

6、生成:Transportable Tablespace Set

Transportable Tablespace Set有兩部分:


1.expdp 導出的表空間的metadata


2.還有就是表空間對應的數據文件


6.1、expdp 導出的表空間的metadata ? ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[oracle@normal?normal]$?pwd??
/u01/app/oracle/oradata/normal??
[oracle@normal?normal]$?ll??
total?2294664??
-rw-r-----?1?oracle?oinstall???9781248?Sep?14?16:46?control01.ctl??
drwx------?2?oracle?oinstall?????16384?Aug?22?12:44?lost+found??
-rw-r-----?1?oracle?oinstall??20979712?Sep?14?15:52?outln01.dbf??
-rw-r-----?1?oracle?oinstall??52429312?Sep?14?16:45?redo01a.log??
-rw-r-----?1?oracle?oinstall??52429312?Sep?14?16:45?redo01b.log??
-rw-r-----?1?oracle?oinstall??52429312?Sep?14?15:52?redo02a.log??
-rw-r-----?1?oracle?oinstall??52429312?Sep?14?15:52?redo02b.log??
-rw-r-----?1?oracle?oinstall??52429312?Sep?14?15:52?redo03a.log??
-rw-r-----?1?oracle?oinstall??52429312?Sep?14?15:52?redo03b.log??
-rw-r--r--?1?oracle?oinstall?????22633?Aug?22?17:00?su.lst??
-rw-r-----?1?oracle?oinstall?340795392?Sep?14?16:40?sysaux01.dbf??
-rw-r-----?1?oracle?oinstall?340795392?Sep?14?16:43?system01.dbf??
-rw-r-----?1?oracle?oinstall?314580992?Sep?14?16:43?system02.dbf??
-rw-r-----?1?oracle?oinstall??20979712?Sep?14?15:53?temp01.dbf??
-rw-r-----?1?oracle?oinstall??52436992?Sep?14?15:53?temp02.dbf??
-rw-r-----?1?oracle?oinstall??52436992?Sep?14?16:31?test01.dbf??
-rw-r-----?1?oracle?oinstall?209723392?Sep?14?16:43?undotbs01.dbf??
-rw-r-----?1?oracle?oinstall?209723392?Sep?14?16:40?undotbs02.dbf??
-rw-r-----?1?oracle?oinstall?524296192?Sep?14?15:52?users01.dbf??
???
[oracle@normal?normal]$?expdp?dumpfile=test01.dmp?directory=backup?transport_tablespaces=TSET?transport_full_check=y?logfile=TSET.log???
???
Export:?Release?11.2.0.3.0?-?Production?on?Sun?Sep?14?16:54:30?2014??
???
Copyright?(c)?1982,?2011,?Oracle?and/or?its?affiliates.??All?rights?reserved.??
???
Username:?/?as?sysdba??
???
Connected?to:?Oracle?Database?11g?Enterprise?Edition?Release?11.2.0.3.0?-?64bit?Production??
With?the?Partitioning,?OLAP,?Data?Mining?and?Real?Application?Testing?options??
Starting?"SYS"."SYS_EXPORT_TRANSPORTABLE_01":??/********/?AS?SYSDBA?dumpfile=test01.dmp?directory=backup?transport_tablespaces=TSET?transport_full_check=y?logfile=TSET.log???
Processing?object?type?TRANSPORTABLE_EXPORT/PLUGTS_BLK??
Processing?object?type?TRANSPORTABLE_EXPORT/TABLE??
Processing?object?type?TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK??
Master?table?"SYS"."SYS_EXPORT_TRANSPORTABLE_01"?successfully?loaded/unloaded??
******************************************************************************??
Dump?file?set?for?SYS.SYS_EXPORT_TRANSPORTABLE_01?is:??
??/u01/backup/test01.dmp??
******************************************************************************??
Datafiles?required?for?transportable?tablespace?TSET:??
??/u01/app/oracle/oradata/normal/test01.dbf??
Job?"SYS"."SYS_EXPORT_TRANSPORTABLE_01"?successfully?completed?at?16:55:13??
???
[oracle@normal?normal]$?ls?-l?/u01/backup/????
total?80??
-rw-r-----?1?oracle?oinstall?77824?Sep?14?16:55?test01.dmp??
-rw-r--r--?1?oracle?oinstall??1160?Sep?14?16:55?TSET.log

7、將Transportable Tablespace set 傳送到Target端

1)將表空間test 對應的數據文件copy到Target 對應的ORADATA目錄下。


2)將expdp 導出的表空間metadta 數據copy 到Target 端的backup 目錄下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--將表空間test?對應的數據文件copy到Target?對應的ORADATA目錄下。??
[oracle@normal?normal]$?scp?/u01/backup/test01.dmp?192.168.137.12:/u01/backup??
oracle@192.168.137.12?s?password:???
test01.dmp??????????????????????????????????100%???76KB??76.0KB/s???00:00???
????????????
--將expdp?導出的表空間metadta?數據copy?到Target?端的backup?目錄下?????
[oracle@normal?normal]$?scp?test01.dbf?192.168.137.12:/u01/app/oracle/oradata/normal/test01.dbf??
oracle@192.168.137.12?s?password:???
test01.dbf??????????????????????????????????100%???50MB??16.7MB/s???00:03????
???
--在target端查看文件是否已經傳輸??
[oracle@test?~]$?ll?/u01/backup/???????????????
total?76??
-rw-r-----?1?oracle?oinstall?77824?Sep?14?17:03?test01.dmp??
???
[oracle@test?~]$?ll?$ORACLE_BASE/oradata/normal/test01.dbf??
-rw-r-----?1?oracle?oinstall?52436992?Sep?14?17:04?/u01/app/oracle/oradata/normal/test01.dbf


8、在Target 系統上Import 表空間的metadata(使用target_test用戶,需要用到remap_schema)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[oracle@test?~]$?impdp?directory=backup?dumpfile=test01.dmp?transport_datafiles=/u01/app/oracle/oradata/normal/test01.dbf?remap_schema=source_test:target_test?logfile=test.log??
???
Import:?Release?11.2.0.3.0?-?Production?on?Sun?Sep?14?17:09:25?2014??
???
Copyright?(c)?1982,?2011,?Oracle?and/or?its?affiliates.??All?rights?reserved.??
???
Username:?/?as?sysdba??
???
Connected?to:?Oracle?Database?11g?Enterprise?Edition?Release?11.2.0.3.0?-?64bit?Production??
With?the?Partitioning,?OLAP,?Data?Mining?and?Real?Application?Testing?options??
Master?table?"SYS"."SYS_IMPORT_TRANSPORTABLE_01"?successfully?loaded/unloaded??
Starting?"SYS"."SYS_IMPORT_TRANSPORTABLE_01":??/********/?AS?SYSDBA?directory=backup?dumpfile=test01.dmp?transport_datafiles=/u01/app/oracle/oradata/normal/test01.dbf?remap_schema=source_test:target_test?logfile=test.log???
Processing?object?type?TRANSPORTABLE_EXPORT/PLUGTS_BLK??
Processing?object?type?TRANSPORTABLE_EXPORT/TABLE??
Processing?object?type?TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK??
Job?"SYS"."SYS_IMPORT_TRANSPORTABLE_01"?successfully?completed?at?17:09:55??
9、查看并修改表空間狀態
SQL>?select?tablespace_name,status??from?dba_tablespaces;??
???
TABLESPACE_NAME????????????????STATUS??
------------------------------?---------??
SYSTEM?????????????????????????ONLINE??
UNDOTBS1???????????????????????ONLINE??
SYSAUX?????????????????????????ONLINE??
TEMPTS1????????????????????????ONLINE??
USERS??????????????????????????ONLINE??
OUTLN??????????????????????????ONLINE??
TSET???????????????????????????READ?ONLY??
???
7?rows?selected.??
???
SQL>?alter?tablespace?TSET?read?write;??
???
Tablespace?altered.

10、驗證

SQL> conn target_test/oracle ?

Connected. ?

??

SQL> select * from t1; ?

??

? ? ? ? ID NAME ?

---------- ------------------------------ ?

? ? ? ? ?1 AAAAA ?

? ? ? ? ?2 BBBBB ?
















本文轉自一個笨小孩51CTO博客,原文鏈接:http://blog.51cto.com/fengfeng688/1951438?,如需轉載請自行聯系原作者




本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256982.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

進程控制塊PCB結構體 task_struct 描述

進程控制塊&#xff0c;英文名&#xff08;Processing Control Block&#xff09;&#xff0c;簡稱 PCB 。 進程控制塊是系統為了管理進程設置的一個專門的數據結構&#xff0c;主要表示進程狀態。 每一個進程都對應一個PCB來維護進程相關的信息&#xff1b; 在Linux中&#xf…

基于OpenCV與tensorflow實現實時手勢識別

基于OpenCV與tensorflow object detection API使用遷移學習&#xff0c;基于SSD模型訓練實現手勢識別完整流程&#xff0c;涉及到數據集收集與標注、VOC2012數據集制作&#xff0c;tfrecord數據生成、SSD遷移學習與模型導出&#xff0c;OpenCV攝像頭實時視頻流讀取與檢測處理&a…

學習筆記(25):Python網絡編程并發編程-Thread其他屬性和守護線程

立即學習:https://edu.csdn.net/course/play/24458/296440?utm_sourceblogtoedu 1.Thread其他的屬性 CurrentThread().getName():獲得當前線程的名字 t.is_Alive:判斷線程是否還在運行 t.join():等待線程運行結束再執行join后面的代碼 t.setName("name"):為線程…

AIX主機信任關系配置

1.配置主機信任關系的時候&#xff0c;需要先在兩臺主機/etc/hosts文件中添加要信任主機的&#xff29;&#xff30;&#xff0c;假設有(192.168.8.190 aix190,192.168.8.191 aix191)2個主機,在191主機配置如下所示 192.168.8.190 aix190 2.如果系統配置DNS&#xff0c;則需要去…

Sprint2團隊貢獻分

團隊貢獻分&#xff1a; 郭志豪&#xff1a;31% http://www.cnblogs.com/gzh13692021053/ 楊子健&#xff1a;22%http://www.cnblogs.com/yzj666/ 譚宇森&#xff1a;23%http://www.cnblogs.com/yzj666/ 劉森松&#xff1a;24% http://www.cnblogs.com/lssh/轉載于:https://w…

學習筆記(26):Python網絡編程并發編程-GIL與自定義互斥鎖的區別

立即學習:https://edu.csdn.net/course/play/24458/296443?utm_sourceblogtoedu 1.GIL的基本概念 答&#xff1a;GIL本質上就是一把鎖&#xff0c;只是他是一把在python解釋器上的鎖 2.GIL與互斥鎖的區別 答&#xff1a; 1&#xff09;GIL保護的是在python解釋器上的參數&a…

多目標跟蹤檢測

方法&#xff1a; 1、實時性&#xff0c;每幀視頻10ms 2、方法&#xff0c;首先深度學習檢測到目標&#xff0c;然后再寫跟蹤算法

2014年最具人氣國外WORDPRESS主題

在國外&#xff0c;WrodPress這個博客系統極為受歡迎&#xff0c;使用WordPress來建站可以降低很多成本&#xff0c;另外還能以十分便宜的價格獲得一個漂亮的WP網站模板。 今天向大家分享來自Themeforest 2014年最具人氣的高級WrodPress主題&#xff0c;這些主題無論是設計還是…

軟件工程學習感想

通過這半學期我對軟件工程的學習&#xff0c;從軟件工程的基礎到考試用戶的需求分析與求解&#xff0c;最后到黑盒白盒測試通過自身做過的一些案例&#xff0c;講解了軟件工程這門本身枯燥乏味的課程&#xff0c;這不僅增強了學生學習的積極性&#xff0c;也通過讓我們自己去做…

開源視覺salm算法介紹

當前的開源SLAM方案 開源方案傳感器形式地址鏈接MonoSLAM單目https://github.com/hanmekim/SceneLib2 PTAM單目 http://www.robots.ox.ac.uk/~gk/PTAM/ORB-SLAM 單目為主http://webdiis.unizar.es/~raulmur/orbslam/ORB-SLAM2單目https://github.com/raulmur/ORB_SLAM2LSD-SLAM…

學習筆記(27):Python網絡編程并發編程-GIL與多線程

立即學習:https://edu.csdn.net/course/play/24458/296444?utm_sourceblogtoedu GIL與多線程 1.須知&#xff1a; 1&#xff09;cpu主要是為了提升計算性能&#xff0c;增加CPU提升計算性能&#xff1b; 2&#xff09;每一個CPU一旦遇到阻塞狀態都會處于等待狀態&#xff0c…

J0ker的CISSP之路:復習-Access Control(3)

本文同時發表在&#xff1a;[url]http://netsecurity.51cto.com/art/200801/63649.htm[/url] 在《J0ker的CISSP之路》系列的上一篇文章里&#xff0c;J0ker給大家介紹了訪問控制CBK里面一些常見的破壞信息資產保密性的威脅類型&#xff0c;那么什么類型的威脅會破壞信息資產的完…

C#中對泛型List進行分組輸出元素

背景&#xff1a;在輸出列表時&#xff0c;往往需要按照某一字段進行分組&#xff0c;比如在輸出城市列表時&#xff0c;按照首字母進行分組&#xff0c;輸出學生列表時&#xff0c;按照年級進行分組&#xff0c;然后再對分組的結果按照其他的字段進行排序。 如存在以下STU學生…

分頁3

http://www.cnblogs.com/ChrisLee2011/p/4288194.html 頁面的HTML部分如下&#xff1a; < div class "tableContainer"> < input id "currentPage" type "hidden" value " ViewData[ "currentPage"] "/> < i…

最優化課堂筆記01: 第一章 最優化的基本概念

第一章 最優化的基本概念 1.最優化求解的數學模型建立 2.例題&#xff08;考試第一大題&#xff1a;數學模型建立&#xff09; 解析&#xff1a;優化變量、目標函數&#xff08;一般取最小化&#xff09;、約束條件 注意&#xff1a; 1&#xff09;約束條件一般形式為&#…

面向對象中構造函數的小練習

//寫一個Ticket類&#xff0c;有一個距離屬性&#xff08;本屬性只讀&#xff0c;在構造方法中賦值&#xff09;&#xff0c;不能為負數//有一個價格屬性&#xff0c;價格屬性為只讀&#xff0c;并且根據距離distance計算價格Price(1元/公里)//0--100公里 票價不打折//101-20…

EIGRP非等價負載均衡

1、等價負載均衡 當到達目的地有多條路徑時&#xff0c;而有多條路徑的metric值一樣&#xff0c;這時就可以做等價負載均衡&#xff0c;讓數據包均衡轉發&#xff0c;不過要看該路由器的轉發方式&#xff0c;如果是快速轉發方式&#xff0c;這種方式無用&#xff08;本地產生的…

ubuntu100%快速安裝搜狗輸入法

1、進入搜狗官方網站&#xff0c;下載最新版本的for ubuntu輸入法deb安裝包 2、下載完成以后&#xff0c;進入下載好的文件目錄&#xff0c;在空白處點擊鼠標右鍵&#xff0c;打開終端 在終端窗口輸入如下的指令開始安裝搜狗拼音輸入法。 #sudo dpkg -i sogoupinyin_2.2.0.01…

提升權限終極技巧

文章作者&#xff1a;WekweN本篇文章結合了許多高手提升權限的技巧和自己的一些想法 當我們取得一個webshell時候&#xff0c;下一部要做的就是提升權限 個人總結如下&#xff1a; 1: C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 看能否跳轉到…

移動設備頁面高度不足時min-height 的尷尬處理

移動設備頁面高度不足時min-height 的尷尬處理 在做html5的頁面時&#xff0c;經常遇到頁面內容太少撐不起來整個手機屏幕的高度。 我們經常使用min-height來處理&#xff0c;比如min-height:568px; 對應的是iPhone5 的高度&#xff1b; 而這樣iPhone6plus下方就會出現空白。 而…