欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle Helper

程序员文章站 2022-06-15 23:10:32
/// Sql 创建表 ///create table 表名(ID NUMBER not null,OPTOR NUMBER,OPTORDEP NUMBER,OPTORTIME DATE)tablespace 表空间名pctfree 10initrans 1maxtrans 255storage(initial 64next 8minextents 1maxextents unl...

//
/
Sql 创建表 /
/
/
create table 表名
(
ID NUMBER not null,
OPTOR NUMBER,
OPTORDEP NUMBER,
OPTORTIME DATE
)
tablespace 表空间名
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
next 8
minextents 1
maxextents unlimited
);
– Create/Recreate primary, unique and foreign key constraints
alter table 表名
add constraint PK_表名 primary key (ID)
using index
tablespace 表空间名
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);

//
/
先创建序列 Sequences(序列) /
/
/
SEQ_
名称 SEQ_表名
最小值 1
开始于 1
增量 1

create sequence SEQ_表名
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;

//
/
触发器, 实现插入数据时 字段自增 /
/
/

CREATE OR REPLACE TRIGGER TRG_表名_ID
BEFORE INSERT ON 表名
FOR EACH ROW
BEGIN
if(:new.id is null) then
begin
select SEQ_表名.nextval into :new.id from dual;
end;
end if;
END;

/*/
/*关于序列 /
/
/
/* /查看序列//// //
select sequence_name from user_sequences;
/
// /删除序列/ ////
DROP SEQUENCE 序列名称 ;
/
/
/
恢复删除的表 /
/
*/
1、从flash back里查询被删除的表

2.执行表的恢复 —这里的tb代表你要恢复的表的名称。
flashback table tb to before drop,

//
/
查看 触发器 /
/
/
select trigger_name from user_triggers where table_name=‘表名’;
DROP TRIGGER 触发器名(有时候加双引号)

//
/
查看 表索引 /
/
/
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name=‘NODE’

/*/
/*创建 表索引 /
/
/
create index 索引名称 on 表名 (TO_CHAR(DEVTIME,’’’||‘yyyyMMdd’||’’’)) 索引字段
tablespace 表空间名
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
)’;
//
/
创建表空间 / 创建名为DB的表空间,初试大小为512M,支持自动扩展,每次增量为32M;
/
/
create tablespace 表空间名 datafile
‘D:\app\Administrator\oradata\orcl\表空间名.ora’ size 512M autoextend on next 32M;

//
/
创建用户 /
/
/

create user 用户名 identified by 密码 default
tablespace 表空间名 temporary tablespace temp quota unlimited on 表空间名;

//
/
授权给新建的用户 /
/
/
GRANT CONNECT,RESOURCE TO 用户名;
–GRANT DBA to 用户名; --不赋dba权限

//
/
导入命令 / grants=y 忽略创建错误 ; data_only=y 时,就会只导入数据,不导表结构。
/
/
imp TJOFFICIALVEHICLE/TJOFFICIALVEHICLE@ORCL file=‘D:\NewEnergy3.dmp’ grants=y ignore=y full=y data_only=n

//
/
导出命令 /
/
/
exp sczhzx/Qhyt_13544@sczhzx file=‘D:\sczhzx.dmp’ grants=y full=n

//
/
导出空表的方法 /
/
/
Select segment_created,table_name from user_tables where segment_created = ‘NO’;

select NUM_ROWS,table_name from user_tables where NUM_ROWS=0;

Select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where num_rows=0 or num_rows is null

alter table BZ_CHECKRECORD allocate extent;

//
/
创建分区表 /
/
/
//新建表时候
partition by range (RCVTIME)
(
partition P_MONTH_1 values less than (TO_DATE(’ 2018-01-01 00:00:00’, ‘SYYYY-MM-DD HH24:MI:SS’, ‘NLS_CALENDAR=GREGORIAN’))
tablespace TJOFFICIALVEHICLEDB
)
//之后添加分区
alter table REALMOTORDATA add PARTITION P_ALARMCODEDETAIL_TIME_1804 values less than(to_date(‘2018-04-30 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’)) tablespace TJOFFICIALVEHICLEDB;

//
/
创建Job 定时执行 /
/
/
declare
job number;
BEGIN
DBMS_JOB.SUBMIT(
JOB => job,
WHAT => ‘PKG_AutoPartition.Pro_Add_Partition;’, --执行的存储过程的名字
NEXT_DATE =>to_date(‘2018-04-16 00:00:00’, ‘yyyy-mm-dd hh24:mi:ss’), --初次执行时间 2018-04-16 00:00:00
INTERVAL => ‘sysdate+15’ --每隔15天执行一次
);
commit;
end;

//
/
查看oracle字符集: / 其中:SIMPLIFIED CHINESE代表简体中文。 字符集则为:ZHS16GBK
/
/
select userenv(‘language’) from dual;
//
/
添加数据文件,继续增大表空间 / 数据文件(D:\APP\ADMINISTRATOR\ORADATA\ORCL\TJOFFICIALVEHICLEDB2.ORA) datafile’数据文件’ 两个要挨着
/
/
alter tablespace 表空间名 add datafile’数据文件’ size 1024M autoextend on MAXSIZE UNLIMITED;

//
/
恢复被删除的数据 /
/
/
— 1.打开Flash存储的权限
ALTER TABLE tableName ENABLE row movement ;
— 2.把表还原到指定时间点
flashback table tableName to timestamp to_timestamp(‘2011-02-28 10:40:00’,‘yyyy-mm-dd hh24:mi:ss’);

//
/
创建database link /
/
/
create database link 名称
connect to 用户名 identified by 密码
using ‘(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = IP)(PORT = 端口/1521)))(CONNECT_DATA =(SERVICE_NAME = 实例名/orcl)))’;

//
/
查用户表中的行数 /
/
/
select t.table_name,t.num_rows from user_tables t
select sum(t.num_rows) from user_tables t

//
/
删除表空间包含物理文件 /
/
/

drop tablespace 表空间名 including contents and datafiles

//
/
/
/
/

本文地址:https://blog.csdn.net/xyx_0300/article/details/107667415

相关标签: Oracle