Oracle 日常开发记录

1.列值拼接

select listagg(param_value,chr(10) within group(order by param_order) param_value from Azure_table where 1=1

2.数据表维护字段

--修改字段

alter table 表名 modify 字段名 number(21,2)

--新增字段

alter table 表名 add 字段名 number(21,2)

--添加主键

alter table 表名 add primary key (ID)

3.varchar

默认是细节

varchar(10 byte) 最多可以存储10个字节,一个汉字两字节,可以存5个汉字

varchar(10 char) 最大可以存储10个汉字,而不用考虑一个汉字占了几个字节

4.length/lengthb

length 求的是字符长度

lengthb 求的是细节长度

根据编码的不同有些情况下,一个汉字就是一个字符,一个汉字占两字节

5.PLSQL执行 .sql文件

@e:\aaaa.sql

6.查看分区

--查看分区表

select * from user_table where parttitioned='YES'

--查看具体的分区表

select * from user_tab_partition s where table_name='表名大写'

7.minus 使用

返回在第一个查询结果与第二个查询结果集不相同的那部分行记录,即两个结果集的差集

以第一个查询结果集为主

8.intersect

返回在第一个查询结果中与第二个查询结果相同的那部分行记录,即两个结果集的并集

以第一个查询结果集为主

9. 自动表分区

partition by range  (opertime) INTERVAL  (NUMTOYMINTERVAL (1, 'MONTH'))

 (

        partition NDF_TRADE_LOG values less than  (to_date ('20210101', 'yyyymmdd'))

);

10. 查看数据库使用大小

查看数据库使用大小:select sum(bytes)/1024*1024*1024) from dba_data_fles

11.完整的 Dracle 数据库通常由两部门组成:Oracle 数据库和数据库实例

  •  数据库是一系列物理文件的集合(数据文件、控制文件、联机日志、参数文件等)
  •  Oracle数据库实例侧是一组Oracle后台进程/线程以及在服务器分配的共享内存区 test 数据库-启动 testSid:实例-然后由 Oracle 数据库实例来访问和控制磁盘中的数据文件

 

12. 查看 oracle 实例用户、对应的临时表空间、表空间

select username, temporary_tablespace, default_tablespace from dba_users

13. 修改用户默认表空间和临时表空间:

SQL> alter user test default tablespace datadb;

SQL> alter user test temporary tablespace temp;

14. 查看表空间名,数据文件路径,是否自动扩容

select tablespace_name, file_name, autoextensible from dba_data_files;

15. 报一下错误时:“ORA-O1658: 无法为表空间 WKMS 中的段创建 INITIAL 区”表示为表空间存在不足的情况,数据文件需要扩容

SQL> alter database datafile 'D: \APP\AZURE\FEATUREORGAN\DATADB. DBF' autoextend on;

16. 建表参数

        这是 oracle 默认给分区的配置

  • tablespace:表空间 initrans,表是 1,索引 l2
  • pctfree :默认是 10,满足查询要求 maxtrans,控制最大并发事务 storage:表分区设置
  • initial:初始化分区
  • next:下一个分区大小
  • minextents:每次拓展的最小分区数目
  • maxextents:最大扩展分区数目

17. 创建分区

步骤一、将原有审批历史表 rename

alter table CCDM_T_DECISION_RESULT rename to CCDM_T_DECISION_RESULT_OLD;

 步骤二、新建原有名称的分区表

create table CCDM_T_DECISION_RESULT

 (

key_decision VARCHAR2 (32) not nulI)

partition by range  (create_date) INTERVAL  (NUMTOYMINTERVAL (1. 'MONTH'))

 (

partition ccdm_partition_decresult values less than  (to_date ('20180701'. 'yyyymmdd'))

);

步骤三、导入原数据

ALTER TABLE CCDM_T_DECISION_RESULT NOLOGGING;

INSERT INTO CCDM_T_DECISION_RESULT SELECT FROM; CCDM_T_DECISION_RESULT_OLD;

COMMIT;

ALTER TABLE CCDM_T_DECISION_RESULT LOGGING;

18. 查看 oracle 状态:Isnrctl status

19. 查看当前数据库

select name from v$database;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值