搜尋
首頁資料庫mysql教程oracle12c_Row-archival

今天看了下oracle12c 的 In-Database Archiving – Row-archival ,做了下实验 环境准备 SQL CREATE TABLE row_arch (id NUMBER,name varchar2(30),addr varchar2(30),phone NUMBER);?TABLE created.?SQL INSERT INTO row_arch VALUES (100,'travel1','beiji

今天看了下oracle12c 的 In-Database Archiving – Row-archival ,做了下实验

环境准备

SQL> CREATE TABLE row_arch (id NUMBER,name varchar2(30),addr varchar2(30),phone NUMBER);
?
TABLE created.
?
SQL> INSERT INTO row_arch VALUES (100,'travel1','beijing','100')
  2  ;
?
1 ROW created.
?
SQL> INSERT INTO row_arch VALUES (101,'travel2','beijing2','100')
  2  ;
?
1 ROW created.
?
SQL> INSERT INTO row_arch VALUES (102,'travel3','beijing2','100');
?
1 ROW created.
?
SQL> INSERT INTO row_arch VALUES (103,'travel4','beijing2','100');
?
1 ROW created.
?
SQL> commit;
?
Commit complete.
?
SQL> @DESC row_arch
           Name                            NULL?    TYPE
           ------------------------------- -------- ----------------------------
    1      ID                                       NUMBER
    2      NAME                                     VARCHAR2(30)
    3      ADDR                                     VARCHAR2(30)
    4      PHONE                                    NUMBER

开启row archival

SQL> ALTER TABLE row_arch ROW ARCHIVAL;
?
TABLE altered.
?
SQL> col name FOR a10
SQL> col addr FOR a15
SQL> col ORA_ARCHIVE_STATE FOR a10
SQL> SELECT t.*,ORA_ARCHIVE_STATE FROM row_arch t;
?
        ID NAME       ADDR                 PHONE ORA_ARCHIV
---------- ---------- --------------- ---------- ----------
       100 travel1    beijing                100 0
       101 travel2    beijing2               100 0
       102 travel3    beijing2               100 0
       103 travel4    beijing2               100 0
?
?
SQL> SELECT t.*,ORA_ARCHIVE_STATE,rowid FROM row_arch t;
?
        ID NAME       ADDR                 PHONE ORA_ARCHIV ROWID
---------- ---------- --------------- ---------- ---------- ------------------
       100 travel1    beijing                100 0          AAAWegAAGAAAADdAAA
       101 travel2    beijing2               100 0          AAAWegAAGAAAADdAAB
       102 travel3    beijing2               100 0          AAAWegAAGAAAADdAAC
       103 travel4    beijing2               100 0          AAAWegAAGAAAADdAAD
?
SQL> @lookup_rowid AAAWegAAGAAAADdAAA
?
+------------------------------------------------------------------------+
| Report   : lookup_rowid.SQL                                            |
| Instance : noncdb                                                      |
| USER     : TRAVEL                                                      |
+------------------------------------------------------------------------+
?
ROWID: AAAWegAAGAAAADdAAA
Object#: 92064
RelFile#: 6
Block#: 221
ROW#: 0
?
PL/SQL PROCEDURE successfully completed.
?
SQL> @dump 6 221
?
?
NEW tracefile_identifier=/u01/app/oracle/diag/rdbms/noncdb/noncdb/trace/noncdb_ora_3526_0001.trc
?
SQL> 
?
?
SQL> @seg row_arch
?
OWNER                SEGMENT_NAME                   SEG_PART_NAME                  SEGMENT_TYPE         SEG_TABLESPACE_NAME                                              SEG_MB
-------------------- ------------------------------ ------------------------------ -------------------- ------------------------------------------------------------ ----------
    BLOCKS     HDRFIL     HDRBLK
---------- ---------- ----------
TRAVEL               ROW_ARCH                                                      TABLE                USERS                                                               .06
         8          6        218
?
SQL> /
?
     FILE# NAME
---------- --------------------------------------------------
         1 /oradata/noncdb/system01.dbf
         2 /oradata/noncdb/ado_t1.dbf
         3 /oradata/noncdb/sysaux01.dbf
         4 /oradata/noncdb/undotbs01.dbf
         5 /oradata/noncdb/ado_t2.dbf
         6 /oradata/noncdb/users01.dbf
?
6 ROWS selected.
?
SQL> ALTER system dump datafile 6 block 221;
?
System altered.

查看下block dump

Block header dump:  0x018000dd
 Object id on Block? Y
 seg/obj: 0x167a0  csc: 0x00.1ce0a2  itc: 2  flg: E  typ: 1 - DATA
     brn: 0  bdba: 0x18000d8 ver: 0x01 opc: 0
     inc: 0  exflg: 0
?
 Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x0006.008.00000671  0x010037ca.00c7.2c  --U-    4  fsc 0x0000.001ce0b1
0x02   0x0000.000.00000000  0x00000000.0000.00  ----    0  fsc 0x0000.00000000
bdba: 0x018000dd
data_block_dump,data header at 0x7f10171b6264
===============
tsiz: 0x1f98
hsiz: 0x1a
pbl: 0x7f10171b6264
     76543210
flag=--------
ntab=1
nrow=4
frre=-1
fsbo=0x1a
fseo=0x1f2e
avsp=0x1f14
tosp=0x1f14
0xe:pti[0]      nrow=4  offs=0
0x12:pri[0]     offs=0x1f7f
0x14:pri[1]     offs=0x1f64
0x16:pri[2]     offs=0x1f49
0x18:pri[3]     offs=0x1f2e
block_row_dump:
tab 0, row 0, @0x1f7f
tl: 25 fb: --H-FL-- lb: 0x1  cc: 4
col  0: [ 2]  c2 02
col  1: [ 7]  74 72 61 76 65 6c 31
col  2: [ 7]  62 65 69 6a 69 6e 67
col  3: [ 2]  c2 02
tab 0, row 1, @0x1f64
tl: 27 fb: --H-FL-- lb: 0x1  cc: 4
col  0: [ 3]  c2 02 02
col  1: [ 7]  74 72 61 76 65 6c 32
col  2: [ 8]  62 65 69 6a 69 6e 67 32
col  3: [ 2]  c2 02
tab 0, row 2, @0x1f49
tl: 27 fb: --H-FL-- lb: 0x1  cc: 4
col  0: [ 3]  c2 02 03
col  1: [ 7]  74 72 61 76 65 6c 33
col  2: [ 8]  62 65 69 6a 69 6e 67 32
col  3: [ 2]  c2 02
tab 0, row 3, @0x1f2e
tl: 27 fb: --H-FL-- lb: 0x1  cc: 4
col  0: [ 3]  c2 02 04
col  1: [ 7]  74 72 61 76 65 6c 34
col  2: [ 8]  62 65 69 6a 69 6e 67 32
col  3: [ 2]  c2 02
end_of_block_dump
End dump data blocks tsn: 4 file#: 6 minblk 221 maxblk 221

在没有进行归档之前数据存储和普通块一样,下面进行归档

SQL> UPDATE row_arch SET ORA_ARCHIVE_STATE=DBMS_ILM.ARCHIVESTATENAME(1) WHERE id IN (100,101);
?
2 ROWS updated.
?
SQL> commit;
?
Commit complete.
?
?
?
SQL> ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL;
?
SESSION altered.
?
SQL> SELECT t.*,ORA_ARCHIVE_STATE,rowid FROM row_arch t;
?
        ID NAME       ADDR            PHONE ORA_ARCHIV ROWID
---------- ---------- ---------- ---------- ---------- ------------------
       100 travel1    beijing           100 1          AAAWegAAGAAAADdAAA
       101 travel2    beijing2          100 1          AAAWegAAGAAAADdAAB
       102 travel3    beijing2          100 0          AAAWegAAGAAAADdAAC
       103 travel4    beijing2          100 0          AAAWegAAGAAAADdAAD
?
SQL> 
?
?
?
SQL> SELECT t.*,ORA_ARCHIVE_STATE,rowid FROM row_arch t;
?
        ID NAME       ADDR            PHONE ORA_ARCHIV ROWID
---------- ---------- ---------- ---------- ---------- ------------------
       102 travel3    beijing2          100 0          AAAWegAAGAAAADdAAC
       103 travel4    beijing2          100 0          AAAWegAAGAAAADdAAD
?
SQL> ALTER SESSION SET ROW ARCHIVAL VISIBILITY = ALL;
?
SESSION altered.
?
SQL> SELECT t.*,ORA_ARCHIVE_STATE,rowid FROM row_arch t;
?
        ID NAME       ADDR            PHONE ORA_ARCHIV ROWID
---------- ---------- ---------- ---------- ---------- ------------------
       100 travel1    beijing           100 1          AAAWegAAGAAAADdAAA
       101 travel2    beijing2          100 1          AAAWegAAGAAAADdAAB
       102 travel3    beijing2          100 0          AAAWegAAGAAAADdAAC
       103 travel4    beijing2          100 0          AAAWegAAGAAAADdAAD
?
SQL> ALTER system checkpoint;
?
System altered.
?
SQL> ALTER system FLUSH buffer_Cachel
  2  
SQL> ALTER system FLUSH buffer_Cache;
?
System altered.
?
SQL> ALTER system dump datafile 6 block 221;
?
System altered.

可以看到在归档后,在没有设置ROW ARCHIVAL VISIBILITY = ALL之前是看不到归档的数据,看下dump

Block header dump:  0x018000dd
 Object id on Block? Y
 seg/obj: 0x167a0  csc: 0x00.1ce60f  itc: 2  flg: E  typ: 1 - DATA
     brn: 0  bdba: 0x18000d8 ver: 0x01 opc: 0
     inc: 0  exflg: 0
?
 Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x0006.008.00000671  0x010037ca.00c7.2c  C---    0  scn 0x0000.001ce0b1
0x02   0x0005.001.00000629  0x01003f2a.00e9.24  --U-    2  fsc 0x0000.001ce610
bdba: 0x018000dd
data_block_dump,data header at 0x7f10171b6264
===============
tsiz: 0x1f98
hsiz: 0x1a
pbl: 0x7f10171b6264
     76543210
flag=--------
ntab=1
nrow=4
frre=-1
fsbo=0x1a
fseo=0x1ef2
avsp=0x1f0c
tosp=0x1f0c
0xe:pti[0]      nrow=4  offs=0
0x12:pri[0]     offs=0x1f11
0x14:pri[1]     offs=0x1ef2
0x16:pri[2]     offs=0x1f49
0x18:pri[3]     offs=0x1f2e
block_row_dump:
tab 0, row 0, @0x1f11
tl: 29 fb: --H-FL-- lb: 0x2  cc: 6
col  0: [ 2]  c2 02
col  1: [ 7]  74 72 61 76 65 6c 31
col  2: [ 7]  62 65 69 6a 69 6e 67
col  3: [ 2]  c2 02
col  4: [ 1]  01
col  5: [ 1]  31
tab 0, row 1, @0x1ef2
tl: 31 fb: --H-FL-- lb: 0x2  cc: 6
col  0: [ 3]  c2 02 02
col  1: [ 7]  74 72 61 76 65 6c 32
col  2: [ 8]  62 65 69 6a 69 6e 67 32
col  3: [ 2]  c2 02
col  4: [ 1]  01
col  5: [ 1]  31
tab 0, row 2, @0x1f49
tl: 27 fb: --H-FL-- lb: 0x0  cc: 4
col  0: [ 3]  c2 02 03
col  1: [ 7]  74 72 61 76 65 6c 33
col  2: [ 8]  62 65 69 6a 69 6e 67 32
col  3: [ 2]  c2 02
tab 0, row 3, @0x1f2e
tl: 27 fb: --H-FL-- lb: 0x0  cc: 4
col  0: [ 3]  c2 02 04
col  1: [ 7]  74 72 61 76 65 6c 34
col  2: [ 8]  62 65 69 6a 69 6e 67 32
col  3: [ 2]  c2 02
end_of_block_dump
End dump data blocks tsn: 4 file#: 6 minblk 221 maxblk 221

oracle在归档的行增加了2列,查看下这两列是干什么的

SQL> col owner FOR a10
SQL> col TABLE_NAME FOR a10
SQL> col COLUMN_NAME FOR a15
SQL> col COLUMN_ID fro a10
SQL> col COLUMN_ID FOR a10
SQL> col COLUMN_ID FOR 9999
?
?
SQL> SELECT OWNER,TABLE_NAME,COLUMN_NAME,COLUMN_ID FROM DBA_TAB_COLS WHERE TABLE_NAME='ROW_ARCH';
?
OWNER      TABLE_NAME COLUMN_NAME     COLUMN_ID
---------- ---------- --------------- ---------
TRAVEL     ROW_ARCH   ORA_ARCHIVE_STA
                      TE
?
TRAVEL     ROW_ARCH   SYS_NC00005$
TRAVEL     ROW_ARCH   PHONE                   4
TRAVEL     ROW_ARCH   ADDR                    3
TRAVEL     ROW_ARCH   NAME                    2
TRAVEL     ROW_ARCH   ID                      1
?
6 ROWS selected.
?
?
?
SQL> col NAME FOR a15
SQL> col DEFAULT$ FOR a10
SQL> col SPARE4 FOR a1
SQL> col SPARE5 FOR a1
SQL> col SPARE6 FOR a1
SQL> SELECT * FROM col$ WHERE obj#='92064';
?
      OBJ#       COL#    SEGCOL# SEGCOLLENGTH     OFFSET NAME                 TYPE#     LENGTH FIXEDSTORAGE PRECISION#      SCALE      NULL$  DEFLENGTH DEFAULT$      INTCOL#   PROPERTY  CHARSETID CHARSETFORM EVALEDITION# UNUSABLEBEFORE# UNUSABLEBEGINNING#     SPARE1     SPARE2     SPARE3 S S S     SPARE7     SPARE8
---------- ---------- ---------- ------------ ---------- --------------- ---------- ---------- ------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------- ------------ --------------- ------------------ ---------- ---------- ---------- - - - ---------- ----------
     92064          1          1           22          0 ID                       2         22            0                                0                                1          0          0           0            0                                             0          0          0
     92064          2          2           30          0 NAME                     1         30            0                                0                                2          0        873           1            0                                             0          0         30
     92064          3          3           30          0 ADDR                     1         30            0                                0                                3          0        873           1            0                                             0          0         30
     92064          4          4           22          0 PHONE                    2         22            0                                0                                4          0          0           0            0                                             0          0          0
     92064          0          5          126          0 SYS_NC00005$            23        126            0                                0                                5 5.4976E+11          0           0            0                                             0          0          0
     92064          0          6         4000          0 ORA_ARCHIVE_STA          1       4000            0                                0          1 0                   6 2.2001E+12        873           1            0                                             0          0       4000
                                                         TE
?
?
6 ROWS selected.

可以看出oracle在底层col$里增加了2列,并设置col#为0,不可正常看到

SQL> @v DBA_TAB_COLS
SHOW SQL text OF views matching "%DBA_TAB_COLS%"...
?
VIEW_NAME                      TEXT
------------------------------ ----------------------------------------------------------------------------------------------------
DBA_TAB_COLS_V$                SELECT u.name, o.name,
                               c.name,
                               decode(c.TYPE#, 1, decode(c.charsetform, 2, 'NVARCHAR2', 'VARCHAR2'),
                               2, decode(c.scale, NULL,
                               decode(c.PRECISION#, NULL, 'NUMBER', 'FLOAT'),
                               'NUMBER'),
                               8, 'LONG',
                               9, decode(c.charsetform, 2, 'NCHAR VARYING', 'VARCHAR'),
                               12, 'DATE',
                               23, 'RAW', 24, 'LONG RAW',
                               58, nvl2(ac.synobj#, (SELECT o.name FROM obj$ o
                               WHERE o.obj#=ac.synobj#), ot.name),
                               69, 'ROWID',
                               96, decode(c.charsetform, 2, 'NCHAR', 'CHAR'),
                               100, 'BINARY_FLOAT',
                               101, 'BINARY_DOUBLE',
                               105, 'MLSLABEL',
                               106, 'MLSLABEL',
                               111, nvl2(ac.synobj#, (SELECT o.name FROM obj$ o
                               WHERE o.obj#=ac.synobj#), ot.name),
                               112, decode(c.charsetform, 2, 'NCLOB', 'CLOB'),
                               113, 'BLOB', 114, 'BFILE', 115, 'CFILE',
                               121, nvl2(ac.synobj#, (SELECT o.name FROM obj$ o
                               WHERE o.obj#=ac.synobj#), ot.name),
                               122, nvl2(ac.synobj#, (SELECT o.name FROM obj$ o
                               WHERE o.obj#=ac.synobj#), ot.name),
                               123, nvl2(ac.synobj#, (SELECT o.name FROM obj$ o
                               WHERE o.obj#=ac.synobj#), ot.name),
                               178, 'TIME(' ||c.scale|| ')',
                               179, 'TIME(' ||c.scale|| ')' || ' WITH TIME ZONE',
                               180, 'TIMESTAMP(' ||c.scale|| ')',
                               181, 'TIMESTAMP(' ||c.scale|| ')' || ' WITH TIME ZONE',
                               231, 'TIMESTAMP(' ||c.scale|| ')' || ' WITH LOCAL TIME ZONE',
                               182, 'INTERVAL YEAR(' ||c.PRECISION#||') TO MONTH',
                               183, 'INTERVAL DAY(' ||c.PRECISION#||') TO SECOND(' ||
                               c.scale || ')',
                               208, 'UROWID',
                               'UNDEFINED'),
                               decode(c.TYPE#, 111, 'REF'),
                               nvl2(ac.synobj#, (SELECT u.name FROM "_BASE_USER" u, obj$ o
                               WHERE o.owner#=u.USER# AND o.obj#=ac.synobj#),
                               ut.name),
                               c.LENGTH, c.PRECISION#, c.scale,
                               decode(sign(c.NULL$),-1,'D', 0, 'Y', 'N'),
                               decode(c.col#, 0, to_number(NULL), c.col#), --这里col#为0则转换为null
                               c.deflength,
                               c.DEFAULT$, h.distcnt,
                               CASE WHEN SYS_OP_DV_CHECK(o.name, o.owner#) = 1
                               THEN h.lowval
                               ELSE NULL
                               END,
                               CASE WHEN SYS_OP_DV_CHECK(o.name, o.owner#) = 1
                               THEN h.hival
                               ELSE NULL
                               END,
                               h.density, h.null_cnt,
                               CASE WHEN nvl(h.distcnt,0) = 0 THEN h.distcnt
                               -- no histogram
                               WHEN h.row_cnt = 0 THEN 1
                               -- hybrid
                               WHEN EXISTS(SELECT 1 FROM sys.histgrm$ hg
                               WHERE c.obj# = hg.obj# AND c.intcol# = hg.intcol#
                               AND hg.ep_repeat_count > 0 AND rownum  0
                               THEN h.row_cnt
                               -- freq
                               WHEN (bitand(h.spare2, 32) > 0 OR h.bucket_cnt > 2049 OR
                               (h.bucket_cnt >= h.distcnt AND h.density*h.bucket_cnt  0 AND rownum  0
                               THEN 'TOP-FREQUENCY'
                               WHEN (bitand(h.spare2, 32) > 0 OR h.bucket_cnt > 2049 OR
                               (h.bucket_cnt >= h.distcnt AND h.density*h.bucket_cnt 
<p>测试下odu</p>
  • 数据字典存在
[oracle@localhost odu]$ ./odu 
?
Oracle Data Unloader:Release 4.3.3
?
Copyright (c) 2008-2014 XiongJun. All rights reserved.
?
Web: http://www.oracleodu.com
Email: magic007cn@gmail.com
?
loading default config.......
?
byte_order little
block_size  8192
block_buffers 1024
db_timezone -7
Invalid db timezone:-7
client_timezone 8
Invalid client timezone:8
asmfile_extract_path   /asmfile
data_path   data
lob_path    /odu/data/lob
charset_name US7ASCII
ncharset_name AL16UTF16
output_format text
lob_storage infile
clob_byte_order big
trace_level 1
delimiter |
unload_deleted no
file_header_offset 0
is_tru64 no
record_row_addr no
convert_clob_charset yes
use_scanned_lob  yes
trim_scanned_blob yes
lob_switch_dir_rows 20000
db_block_checksum yes
db_block_checking yes
rdba_file_bits 10
compatible 10
load config file 'config.txt' successful
loading default asm disk file ......
?
?
grp# dsk# bsize ausize disksize diskname        groupname       path
---- ---- ----- ------ -------- --------------- --------------- --------------------------------------------
?
load asm disk file 'asmdisk.txt' successful
loading default control file ......
?
?
 ts#   fn  rfn bsize   blocks bf offset filename
---- ---- ---- ----- -------- -- ------ --------------------------------------------
   0    1    1  8192    99840 N       0 /oradata/noncdb/system01.dbf
   6    2    2  8192    25600 N       0 /oradata/noncdb/ado_t1.dbf
   1    3    3  8192    98560 N       0 /oradata/noncdb/sysaux01.dbf
   2    4    4  8192    18560 N       0 /oradata/noncdb/undotbs01.dbf
   7    5    5  8192    51200 N       0 /oradata/noncdb/ado_t2.dbf
   4    6    6  8192     8160 N       0 /oradata/noncdb/users01.dbf
load control file 'oductl.dat' successful
loading dictionary data......done
?
loading scanned data......done
?
ODU> unload dict
CLUSTER C_USER# file_no: 1 block_no: 208
TABLE OBJ$ obj_no: 18 file_no: 1 block_no: 240
CLUSTER C_OBJ# file_no: 1 block_no: 144
CLUSTER C_OBJ# file_no: 1 block_no: 144
found IND$'s obj# 19
found IND$'s dataobj#:2,ts#:0,file#:1,block#:144,tab#:3
found TABPART$'s obj# 694
found TABPART$'s dataobj#:694,ts#:0,file#:1,block#:4712,tab#:0
found INDPART$'s obj# 699
found INDPART$'s dataobj#:699,ts#:0,file#:1,block#:4752,tab#:0
found TABSUBPART$'s obj# 706
found TABSUBPART$'s dataobj#:706,ts#:0,file#:1,block#:4808,tab#:0
found INDSUBPART$'s obj# 711
found INDSUBPART$'s dataobj#:711,ts#:0,file#:1,block#:4848,tab#:0
found IND$'s obj# 19
found IND$'s dataobj#:2,ts#:0,file#:1,block#:144,tab#:3
found LOB$'s obj# 108
found LOB$'s dataobj#:2,ts#:0,file#:1,block#:144,tab#:6
found LOBFRAG$'s obj# 727
found LOBFRAG$'s dataobj#:727,ts#:0,file#:1,block#:4976,tab#:0
ODU> desc travel.row_arch
?
?
Object ID:92064
Storage(Obj#=92064 DataObj#=92064 TS#=4 File#=6 Block#=218 Cluster=0)
?
NO. SEG INT Column Name                    Null?     Type                          
--- --- --- ------------------------------ --------- ------------------------------
  0   5   5 SYS_NC00005$                             RAW(126)                      
  0   6   6 ORA_ARCHIVE_STATE                        VARCHAR2(4000)                
  1   1   1 ID                                       NUMBER                        
  2   2   2 NAME                                     VARCHAR2(30)                  
  3   3   3 ADDR                                     VARCHAR2(30)                  
  4   4   4 PHONE                                    NUMBER                        
?
ODU> unload table travel.row_arch
?
Unloading table: ROW_ARCH,object ID: 92064 at 2014-05-26 21:05:04
Unloading segment,storage(Obj#=92064 DataObj#=92064 TS#=4 File#=6 Block#=218 Cluster=0)
?
Table ROW_ARCH 4 rows unloaded
At 2014-05-26 21:05:04 
?
ODU> quit
Invalid command.
ODU> exit 
ODU> 
[oracle@localhost odu]$ ls -l
total 10232
-rwxr-xr-x 1 oracle oinstall      90 Mar 22  2011 asmdisk.txt
-rw-r--r-- 1 oracle oinstall 4447252 May 26 21:04 col.odu
-rwxr-xr-x 1 oracle oinstall     559 Apr  7  2011 config.txt
-rwxr-xr-x 1 oracle oinstall     492 May 26 20:38 control.txt
drwxr-xr-x 2 oracle oinstall    4096 May 26 21:05 data
-rw-r--r-- 1 oracle oinstall   55429 May 26 21:04 ind.odu
-rw-r--r-- 1 oracle oinstall     352 May 26 21:04 lobfrag.odu
-rw-r--r-- 1 oracle oinstall   34234 May 26 21:04 lob.odu
-rw-r--r-- 1 oracle oinstall 3420310 May 26 21:04 obj.odu
-rwxr-xr-x 1 oracle oinstall 2306912 Apr  7 12:09 odu
-rw-r--r-- 1 oracle oinstall    1051 May 26 21:04 oductl.dat
-rw-r--r-- 1 oracle oinstall     295 May 26 20:38 oductl.txt
-rw-r--r-- 1 oracle oinstall       0 May 26 20:38 odu_trace.txt
-rw-r--r-- 1 oracle oinstall  137024 May 26 21:04 tab.odu
-rw-r--r-- 1 oracle oinstall    2170 May 26 21:04 user.odu
[oracle@localhost odu]$ cd data/
[oracle@localhost data]$ ls -l
total 12
-rw-r--r-- 1 oracle oinstall 323 May 26 21:05 TRAVEL_ROW_ARCH.ctl
-rw-r--r-- 1 oracle oinstall 128 May 26 21:05 TRAVEL_ROW_ARCH.sql
-rw-r--r-- 1 oracle oinstall  99 May 26 21:05 TRAVEL_ROW_ARCH.txt
[oracle@localhost data]$ cat TRAVEL_ROW_ARCH.txt
100|travel1|beijing|100
101|travel2|beijing2|100
102|travel3|beijing2|100
103|travel4|beijing2|100
[oracle@localhost data]$ cat  TRAVEL_ROW_ARCH.sql
CREATE TABLE "TRAVEL"."ROW_ARCH"
(
    "ID" NUMBER ,
    "NAME" VARCHAR2(30) ,
    "ADDR" VARCHAR2(30) ,
    "PHONE" NUMBER 
);
[oracle@localhost data]$
  • 数据字典不存在
  • ODU> scan extent tablespace 4;
    ?
    scan extent start: 2014-05-26 21:39:18
    scanning extent...
    scanning extent finished.
    scan extent completed: 2014-05-26 21:39:18
    ?
    ODU> uload object all sample;
    Invalid command.
    ODU> unload object all sample
    ?
    Unloading Object,object ID: 73633,  Cluster: 0
    output data is in file :  'ODU_0000073633.txt' 
    ?
    Sample result:
      object id: 73633
      tablespace no: 4
      sampled 8 rows
      column count: 4
      column    1  type: NUMBER
      column    2  type: NUMBER
      column    3  type: VARCHAR2
      column    4  type: NUMBER
    ?
    COMMAND: 
    unload object 73633 tablespace 4 column NUMBER NUMBER VARCHAR2 NUMBER 
    ?
    ?
    Unloading Object,object ID: 73634,  Cluster: 0
    output data is in file :  'ODU_0000073634.txt' 
    block is not a iot index block
    ?
    Sample result:
      object id: 73634
      tablespace no: 4
      no data.
    ?
    ?
    Unloading Object,object ID: 73635,  Cluster: 0
    output data is in file :  'ODU_0000073635.txt' 
    ?
    Sample result:
      object id: 73635
      tablespace no: 4
      sampled 3 rows
      column count: 7
      column    1  type: NUMBER
      column    2  type: NUMBER
      column    3  type: NUMBER
      column    4  type: DATE
      column    5  type: DATE
      column    6  type: VARCHAR2
      column    7  type: NUMBER
    ?
    COMMAND: 
    unload object 73635 tablespace 4 column NUMBER NUMBER NUMBER DATE DATE VARCHAR2 NUMBER 
    ?
    ?
    Unloading Object,object ID: 73636,  Cluster: 0
    output data is in file :  'ODU_0000073636.txt' 
    block is not a iot index block
    ?
    Sample result:
      object id: 73636
      tablespace no: 4
      no data.
    ?
    ?
    Unloading Object,object ID: 73643,  Cluster: 0
    output data is in file :  'ODU_0000073643.txt' 
    ?
    Sample result:
      object id: 73643
      tablespace no: 4
      sampled 9 rows
      column count: 3
      column    1  type: NUMBER
      column    2  type: NUMBER
      column    3  type: VARCHAR2
    ?
    COMMAND: 
    unload object 73643 tablespace 4 column NUMBER NUMBER VARCHAR2 
    ?
    ?
    Unloading Object,object ID: 73644,  Cluster: 0
    output data is in file :  'ODU_0000073644.txt' 
    block is not a iot index block
    ?
    Sample result:
      object id: 73644
      tablespace no: 4
      no data.
    ?
    ?
    Unloading Object,object ID: 91884,  Cluster: 0
    output data is in file :  'ODU_0000091884.txt' 
    ?
    Sample result:
      object id: 91884
      tablespace no: 4
      sampled 4 rows
      column count: 3
      column    1  type: NUMBER
      column    2  type: VARCHAR2
      column    3  type: VARCHAR2
    ?
    COMMAND: 
    unload object 91884 tablespace 4 column NUMBER VARCHAR2 VARCHAR2 
    ?
    ?
    Unloading Object,object ID: 91885,  Cluster: 0
    output data is in file :  'ODU_0000091885.txt' 
    block is not a iot index block
    ?
    Sample result:
      object id: 91885
      tablespace no: 4
      no data.
    ?
    ?
    Unloading Object,object ID: 91890,  Cluster: 0
    output data is in file :  'ODU_0000091890.txt' 
    ?
    Sample result:
      object id: 91890
      tablespace no: 4
      sampled 14 rows
      column count: 8
      column    1  type: NUMBER
      column    2  type: VARCHAR2
      column    3  type: VARCHAR2
      column    4  type: NUMBER
      column    5  type: DATE
      column    6  type: NUMBER
      column    7  type: NUMBER
      column    8  type: NUMBER
    ?
    COMMAND: 
    unload object 91890 tablespace 4 column NUMBER VARCHAR2 VARCHAR2 NUMBER DATE NUMBER NUMBER NUMBER 
    ?
    ?
    Unloading Object,object ID: 91893,  Cluster: 0
    output data is in file :  'ODU_0000091893.txt' 
    block is not a iot index block
    ?
    Sample result:
      object id: 91893
      tablespace no: 4
      no data.
    ?
    ?
    Unloading Object,object ID: 91907,  Cluster: 0
    output data is in file :  'ODU_0000091907.txt' 
    ?
    Sample result:
      object id: 91907
      tablespace no: 4
      sampled 5 rows
      column count: 3
      column    1  type: NUMBER
      column    2  type: NUMBER
      column    3  type: NUMBER
    ?
    COMMAND: 
    unload object 91907 tablespace 4 column NUMBER NUMBER NUMBER 
    ?
    ?
    Unloading Object,object ID: 92007,  Cluster: 0
    output data is in file :  'ODU_0000092007.txt' 
    ?
    Sample result:
      object id: 92007
      tablespace no: 4
      sampled 1058 rows
      column count: 18
      column    1  type: VARCHAR2
      column    2  type: VARCHAR2
      column    3  type: RAW
      column    4  type: NUMBER
      column    5  type: NUMBER
      column    6  type: VARCHAR2
      column    7  type: DATE
      column    8  type: DATE
      column    9  type: VARCHAR2
      column   10  type: VARCHAR2
      column   11  type: VARCHAR2
      column   12  type: VARCHAR2
      column   13  type: VARCHAR2
      column   14  type: NUMBER
      column   15  type: RAW
      column   16  type: VARCHAR2
      column   17  type: VARCHAR2
      column   18  type: VARCHAR2
    ?
    COMMAND: 
    unload object 92007 tablespace 4 column VARCHAR2 VARCHAR2 RAW NUMBER NUMBER VARCHAR2 DATE DATE VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 NUMBER RAW VARCHAR2 VARCHAR2 VARCHAR2 
    ?
    ?
    Unloading Object,object ID: 92035,  Cluster: 0
    output data is in file :  'ODU_0000092035.txt' 
    ?
    Sample result:
      object id: 92035
      tablespace no: 4
      sampled 1127 rows
      column count: 18
      column    1  type: VARCHAR2
      column    2  type: VARCHAR2
      column    3  type: VARCHAR2
      column    4  type: NUMBER
      column    5  type: NUMBER
      column    6  type: VARCHAR2
      column    7  type: DATE
      column    8  type: DATE
      column    9  type: VARCHAR2
      column   10  type: VARCHAR2
      column   11  type: VARCHAR2
      column   12  type: VARCHAR2
      column   13  type: VARCHAR2
      column   14  type: NUMBER
      column   15  type: RAW
      column   16  type: VARCHAR2
      column   17  type: VARCHAR2
      column   18  type: VARCHAR2
    ?
    COMMAND: 
    unload object 92035 tablespace 4 column VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER VARCHAR2 DATE DATE VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 NUMBER RAW VARCHAR2 VARCHAR2 VARCHAR2 
    ?
    ?
    Unloading Object,object ID: 92064,  Cluster: 0
    output data is in file :  'ODU_0000092064.txt' 
    ?
    Sample result:
      object id: 92064
      tablespace no: 4
      sampled 4 rows
      column count: 6
      column    1  type: NUMBER
      column    2  type: VARCHAR2
      column    3  type: VARCHAR2
      column    4  type: NUMBER
      column    5  type: RAW
      column    6  type: VARCHAR2
    ?
    COMMAND: 
    unload object 92064 tablespace 4 column NUMBER VARCHAR2 VARCHAR2 NUMBER RAW VARCHAR2 
    ?
    ODU> unload object 92064 tablespace 4 column NUMBER VARCHAR2 VARCHAR2 NUMBER RAW VARCHAR2 
    ?
    Unloading Object,object ID: 92064,  Cluster: 0 at 2014-05-26 21:39:47
    4 rows unloaded
    At 2014-05-26 21:39:47
    ?
    ODU> 
    ?
    [oracle@localhost data]$ cat ODU_0000092064.txt
    100|travel1|beijing|100|01|1
    101|travel2|beijing2|100|01|1
    102|travel3|beijing2|100
    103|travel4|beijing2|100
    ?
    [oracle@localhost data]$ cat ODU_0000092064.sql
    CREATE TABLE "ODU_0000092064"
    (
        "C0001" NUMBER ,
        "C0002" VARCHAR2(4000) ,
        "C0003" VARCHAR2(4000) ,
        "C0004" NUMBER ,
        "C0005" RAW(2000) ,
        "C0006" VARCHAR2(4000) 
    );

    在没有数据字典的情况下把字段全部识别,不光是这个功能包含以前的存在隐藏列的都在恢复都需要注意

    关闭ROW ARCHIVAL;

    SQL> ALTER TABLE travel.row_arch NO ROW ARCHIVAL;
    ?
    TABLE altered.
    ?
    SQL> SELECT * FROM travel.row_arch;
    ?
            ID NAME            ADDR                                                              PHONE
    ---------- --------------- ------------------------------------------------------------ ----------
           100 travel1         beijing                                                             100
           101 travel2         beijing2                                                            100
           102 travel3         beijing2                                                            100
           103 travel4         beijing2                                                            100
    ?
    ?
    SQL> ALTER system dump datafile 6 block 221;
    ?
    System altered.
    ?
    SQL> @show_trace
    ?
    TRACE_FILE_NAME
    -------------------------------------------------------------------------------------
    /u01/app/oracle/diag/rdbms/noncdb/noncdb/trace/noncdb_ora_4078.trc
    ?
    ?
    ?
    Block header dump:  0x018000dd
     Object id ON Block? Y
     seg/obj: 0x167a0  csc: 0x00.1ce60f  itc: 2  flg: E  typ: 1 - DATA
         brn: 0  bdba: 0x18000d8 ver: 0x01 opc: 0
         inc: 0  exflg: 0
    ?
     Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
    0x01   0x0006.008.00000671  0x010037ca.00c7.2c  C---    0  scn 0x0000.001ce0b1
    0x02   0x0005.001.00000629  0x01003f2a.00e9.24  --U-    2  fsc 0x0000.001ce610
    bdba: 0x018000dd
    data_block_dump,DATA header at 0x7f2cb3265064
    ===============
    tsiz: 0x1f98
    hsiz: 0x1a
    pbl: 0x7f2cb3265064
         76543210
    flag=--------
    ntab=1
    nrow=4
    frre=-1
    fsbo=0x1a
    fseo=0x1ef2
    avsp=0x1f0c
    tosp=0x1f0c
    0xe:pti[0]      nrow=4  offs=0
    0x12:pri[0]     offs=0x1f11
    0x14:pri[1]     offs=0x1ef2
    0x16:pri[2]     offs=0x1f49
    0x18:pri[3]     offs=0x1f2e
    block_row_dump:
    tab 0, ROW 0, @0x1f11
    tl: 29 fb: --H-FL-- lb: 0x2  cc: 6
    col  0: [ 2]  c2 02
    col  1: [ 7]  74 72 61 76 65 6c 31
    col  2: [ 7]  62 65 69 6a 69 6e 67
    col  3: [ 2]  c2 02
    tab 0, ROW 1, @0x1ef2
    tl: 31 fb: --H-FL-- lb: 0x2  cc: 6
    col  0: [ 3]  c2 02 02
    col  1: [ 7]  74 72 61 76 65 6c 32
    col  2: [ 8]  62 65 69 6a 69 6e 67 32
    col  3: [ 2]  c2 02
    tab 0, ROW 2, @0x1f49
    tl: 27 fb: --H-FL-- lb: 0x0  cc: 4
    col  0: [ 3]  c2 02 03
    col  1: [ 7]  74 72 61 76 65 6c 33
    col  2: [ 8]  62 65 69 6a 69 6e 67 32
    col  3: [ 2]  c2 02
    tab 0, ROW 3, @0x1f2e
    tl: 27 fb: --H-FL-- lb: 0x0  cc: 4
    col  0: [ 3]  c2 02 04
    col  1: [ 7]  74 72 61 76 65 6c 34
    col  2: [ 8]  62 65 69 6a 69 6e 67 32
    col  3: [ 2]  c2 02
    end_of_block_dump
    END dump DATA blocks tsn: 4 file#: 6 minblk 221 maxblk 221
    [oracle@localhost odu]$ 
    SQL> SELECT * FROM col$ WHERE obj#='92064';
    ?
          OBJ#       COL#    SEGCOL# SEGCOLLENGTH     OFFSET NAME                 TYPE#     LENGTH FIXEDSTORAGE PRECISION#      SCALE      NULL$  DEFLENGTH DEFAULT$      INTCOL#   PROPERTY  CHARSETID CHARSETFORM EVALEDITION# UNUSABLEBEFORE# UNUSABLEBEGINNING#     SPARE1     SPARE2     SPARE3 S S S     SPARE7     SPARE8
    ---------- ---------- ---------- ------------ ---------- --------------- ---------- ---------- ------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------- ------------ --------------- ------------------ ---------- ---------- ---------- - - - ---------- ----------
         92064          1          1           22          0 ID                       2         22            0                                0                                1          0          0           0            0                                             0          0          0
         92064          2          2           30          0 NAME                     1         30            0                                0                                2          0        873           1            0                                             0          0         30
         92064          3          3           30          0 ADDR                     1         30            0                                0                                3          0        873           1            0                                             0          0         30
         92064          4          4           22          0 PHONE                    2         22            0                                0                                4          0          0           0            0                                             0          0          0
    ?
    SQL> SELECT OWNER,TABLE_NAME,COLUMN_NAME,COLUMN_ID FROM DBA_TAB_COLS WHERE TABLE_NAME='ROW_ARCH';
    ?
    OWNER      TABLE_NAME COLUMN_NAME     COLUMN_ID
    ---------- ---------- --------------- ---------
    TRAVEL     ROW_ARCH   PHONE                   4
    TRAVEL     ROW_ARCH   ADDR                    3
    TRAVEL     ROW_ARCH   NAME                    2
    TRAVEL     ROW_ARCH   ID                      1

    col$表的结构

    create table col$                                            /* column table */
    ( obj#          number not null,             /* object number of base object */
      col#          number not null,                 /* column number as created */
      segcol#       number not null,                 /* column number in segment */
      segcollength  number not null,             /* length of the segment column */
      offset        number not null,                         /* offset of column */
      name          varchar2("M_IDEN") not null,               /* name of column */
      type#         number  not null,                     /* data type of column */
                                               /* for ADT column, type# = DTYADT */
      length        number  not null,               /* length of column in bytes */
      fixedstorage  number  not null,   /* flags: 0x01 = fixed, 0x02 = read-only */
      precision#    number,                                         /* precision */
      scale         number,                                             /* scale */
      null$         number not null,                     /* 0 = NULLs permitted, */
                                                    /* > 0 = no NULLs permitted  */
      deflength     number,              /* default value expression text length */
      default$      long,                       /* default value expression text */
    ?
      /*
       * If a table T(c1, addr, c2) contains an ADT column addr which is stored
       * exploded, the table will be internally stored as
       *              T(c1, addr, C0003$, C0004$, C0005$, c2)
       * Of these, only c1, addr and c2 are user visible columns. Thus, the
       * user visible column numbers for (c1, addr, C0003$, C0004$, C0005$, c2)
       * will be 1,2,0,0,0,3. And the corresponding internal column numbers will
       * be 1,2,3,4,5,6.
       *
       * Some dictionary tables like icol$, ccol$ need to contain intcol# so
       * that we can have indexes and constraints on ADT attributes. Also, these
       * tables also need to contain col# to maintain backward compatibility.
       * Most of these tables will need to be accessed by col#, intcol# so
       * indexes are created on them based on (obj#, col#) and (obj#, intcol#).
       * Indexes based on col# have to be non-unique if ADT attributes might
       * appear in the table. Indexes based on intcol# can be unique.
       */
      intcol#       number not null,                   /* internal column number */
      property      number not null,           /* column properties (bit flags): */
                    /* 0x0001 =       1 = ADT attribute column                   */
                    /* 0x0002 =       2 = OID column                             */
                    /* 0x0004 =       4 = nested table column                    */
                    /* 0x0008 =       8 = virtual column                         */
                    /* 0x0010 =      16 = nested table's SETID$ column           */
                    /* 0x0020 =      32 = hidden column                          */
                    /* 0x0040 =      64 = primary-key based OID column           */
                    /* 0x0080 =     128 = column is stored in a lob              */
                    /* 0x0100 =     256 = system-generated column                */
                    /* 0x0200 =     512 = rowinfo column of typed table/view     */
                    /* 0x0400 =    1024 = nested table columns setid             */
                    /* 0x0800 =    2048 = column not insertable                  */
                    /* 0x1000 =    4096 = column not updatable                   */
                    /* 0x2000 =    8192 = column not deletable                   */
                    /* 0x4000 =   16384 = dropped column                         */
                    /* 0x8000 =   32768 = unused column - data still in row      */
                /* 0x00010000 =   65536 = virtual column                         */
                /* 0x00020000 =  131072 = place DESCEND operator on top          */
                /* 0x00040000 =  262144 = virtual column is NLS dependent        */
                /* 0x00080000 =  524288 = ref column (present as oid col)        */
                /* 0x00100000 = 1048576 = hidden snapshot base table column      */
                /* 0x00200000 = 2097152 = attribute column of a user-defined ref */
                /* 0x00400000 = 4194304 = export hidden column,RLS on hidden col */
                /* 0x00800000 = 8388608 = string column measured in characters   */
               /* 0x01000000 = 16777216 = virtual column expression specified    */
               /* 0x02000000 = 33554432 = typeid column                          */
               /* 0x04000000 = 67108864 = Column is encrypted                    */
              /* 0x20000000 = 536870912 = Column is encrypted without salt       */
    ?
          /* 0x000800000000 = 34359738368 = default with sequence                */
          /* 0x001000000000 = 68719476736 = default on null                      */
          /* 0x002000000000 = 137438953472 = generated always identity column    */
          /* 0x004000000000 = 274877906944 = generated by default identity col   */
          /* 0x080000000000 = 8796093022208 = Column is sensitive                */
    ?
      /* The spares may be used as the column's NLS character set,
       * the number of distinct column values, and the column's domain.
       */
      /* the universal character set id maintained by NLS group */
      charsetid     number,                              /* NLS character set id */
      /*
       * charsetform
       */
      charsetform   number,
      /* 1 = implicit: for CHAR, VARCHAR2, CLOB w/o a specified set */
      /* 2 = nchar: for NCHAR, NCHAR VARYING, NCLOB */
      /* 3 = explicit: for CHAR, etc. with "CHARACTER SET ..." clause */
      /* 4 = flexible: for PL/SQL "flexible" parameters */
      evaledition#  number,                                /* evaluation edition */
      unusablebefore#    number,                      /* unusable before edition */
      unusablebeginning# number,              /* unusable beginning with edition */
      spare1        number,                      /* fractional seconds precision */
      spare2        number,                  /* interval leading field precision */
      spare3        number,            /* maximum number of characters in string */
      spare4        varchar2(1000),          /* NLS settings for this expression */
      spare5        varchar2(1000),
      spare6        date,
      spare7        number,
      spare8        number
    )
    cluster c_obj#(obj#)
    /
    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    主板上的数字音频输出接口-SPDIF OUT主板上的数字音频输出接口-SPDIF OUTJan 14, 2024 pm 04:42 PM

    主板上SPDIFOUT连接线序最近我遇到了一个问题,就是关于电线的接线顺序。我上网查了一下,有些资料说1、2、4对应的是out、+5V、接地;而另一些资料则说1、2、4对应的是out、接地、+5V。最好的办法是查看你的主板说明书,如果找不到说明书,你可以使用万用表进行测量。首先找到接地,然后就可以确定其他的接线顺序了。主板vdg怎么接线连接主板的VDG接线时,您需要将VGA连接线的一端插入显示器的VGA接口,另一端插入电脑的显卡VGA接口。请注意,不要将其插入主板的VGA接口。完成连接后,您可以

    btc交易app怎么安装注册?btc交易app怎么安装注册?Feb 21, 2025 pm 07:09 PM

    本篇文章将详细介绍如何安装和注册比特币交易应用。比特币交易应用允许用户管理和交易比特币等加密货币。文章逐步指导用户完成安装和注册过程,包括下载应用程序、创建账户、进行身份验证和首次存款。文章的目标是为初学者提供清晰易懂的指南,帮助他们轻松进入比特币交易的世界。

    欧易交易所下载官方入口欧易交易所下载官方入口Feb 21, 2025 pm 07:51 PM

    欧易,又称OKX,是一个全球领先的加密货币交易平台。文章提供了欧易官方安装包的下载入口,方便用户在不同设备上安装欧易客户端。该安装包支持 Windows、Mac、Android 和 iOS 系统,用户可根据自己的设备类型选择相应版本下载。安装完成后,用户即可注册或登录欧易账户,开始交易加密货币和享受平台提供的其他服务。

    十大虚拟数字币交易平台2025排名 虚拟币app交易所前十排名十大虚拟数字币交易平台2025排名 虚拟币app交易所前十排名Feb 21, 2025 pm 09:03 PM

    本文介绍了 10 个主流的加密货币交易所,涵盖了它们的成立时间、服务范围、安全性、流动性、交易费用等基本信息。这些交易所包括:OKX、Binance、Gate.io、Bitget、Coinbase、Huobi、KuCoin、Crypto.com、Gemini 和 Kraken。

    数字货币交易平台2025数字货币交易平台2025Mar 04, 2025 pm 07:06 PM

    本文根据全球信息,整理了全球领先的虚拟数字货币交易平台排名,包括Binance(币安)、OKX、Gate.io、Huobi(火币)、Coinbase、Kraken、Crypto.com、bitget、KuCoin和Bitstamp等。这些平台在用户数量、交易量、交易品种、安全性、合规性等方面各有特色,例如币安以其庞大的用户群和广泛的交易选择著称,Coinbase则以其在美国市场的领先地位和易用性而闻名。 选择合适的交易平台需要根据自身需求,权衡安全性、费用、交易品种等因素。

    虚拟币三大龙头app是哪三个?虚拟币三大龙头app是哪三个?Mar 04, 2025 pm 08:51 PM

    虚拟货币市场蓬勃发展,众多交易平台应运而生。本文将介绍虚拟货币领域的三大龙头应用程序,它们以出色的用户体验、强大的安全性和丰富的功能而著称。这些应用程序包括币安(Binance)、芝麻开门(gate.io)和 欧易(okx),它们为投资者提供了便捷、安全的途径,可以购买、出售、交易和跟踪虚拟货币。

    欧易交易所是什么?欧易交易所有什么用?欧易交易所是什么?欧易交易所有什么用?Feb 15, 2025 pm 08:57 PM

    欧易交易所,原名币安,是全球领先的加密货币交易平台之一。它于2017年由赵长鹏创立,总部位于中国香港。欧易交易所为用户提供广泛的加密货币交易服务,包括现货交易、期货交易、场外交易和加密资产管理。

    币圈货币种类有哪些?全球十大币圈交易所平台一览币圈货币种类有哪些?全球十大币圈交易所平台一览Feb 14, 2025 pm 08:33 PM

    随着数字货币的兴起,币圈的世界日益庞大。本文重点介绍币圈中货币种类的多样性,并对全球十大币圈交易所平台进行全面考察。通过分析币种的特性和交易平台的优势,旨在为读者提供全面深入的币圈指南。

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱門文章

    R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳圖形設置
    3 週前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您聽不到任何人,如何修復音頻
    3 週前By尊渡假赌尊渡假赌尊渡假赌

    熱工具

    SublimeText3 英文版

    SublimeText3 英文版

    推薦:為Win版本,支援程式碼提示!

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Atom編輯器mac版下載

    Atom編輯器mac版下載

    最受歡迎的的開源編輯器

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

    Dreamweaver Mac版

    Dreamweaver Mac版

    視覺化網頁開發工具