如何自动创建表空间和表分区
发布网友
发布时间:2022-04-08 07:19
我来回答
共2个回答
热心网友
时间:2022-04-08 08:49
1、假设你要创建明天用的TS名称是GPSDATA_TS,每次创建新的时候,把旧的改名为GPSDATA_TS_今天。
2、保证/data1有足够的空间
3、linux shell实例
vi /home/oracle/create_ts.sh;
#!/bin/bash
. ~/.bash_profile
today=`date +%Y%m%d`
tomorrow=`date -d '1 day' +%Y%m%d`
gpsdata_src=GPSDATA_TS
gpsdata_dst=GPSDATA_TS_${today}
gpsdata_ts1=/data1/oracle/gpsdata_ts_${tomorrow}_1.dbf
gpsdata_ts2=/data1/oracle/gpsdata_ts_${tomorrow}_2.dbf
sqlplus user/password << EOF
alter tablespace ${gpsdata_src} rename to ${gpsdata_dst};
CREATE TABLESPACE ${gpsdata_src} DATAFILE '${gpsdata_ts1}' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;
alter TABLESPACE ${gpsdata_src} add DATAFILE '${gpsdata_ts2}' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;
quit;
EOF
4、添加计划任务
crontab -e
12 0 * * * /home/oracle/create_ts.sh;
热心网友
时间:2022-04-08 10:07
操作方法:
将数据基于范围映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期。
举个例子:你可能会将销售数据按照月份进行分区。
当使用范围分区时,请考虑以下几个规则:
1、每一个分区都必须有一个VALUES LESS THEN子句,它指定了不包括在该分区中的上限值,分区键的任何值等于或者大于这个上限值的记录都会被加入到下一个高一些的分区中。
2、所有分区,除了第一个,都会有一个隐式的下限值,就是分区的前一个分区的上限值。
3、在最高的分区中,MAXVALUE被定义。MAXVALUE代表了一个不确定的值。
这个值高于其它分区中的任何分区键的值,也可以理解为高于任何分区中指定的VALUE LESS THEN的值,同时包括空值。