Oracle笔记

一、基础用法

1、创建用户

-- 创建用户
CREATE USER 用户名 IDENTIFIED BY 密码;
例如:CREATE USER resourcedb IDENTIFIED BY resourcedb;

2、授权

-- 授权
GRANT CREATE SESSION TO 用户;
GRANT SELECT ANY TABLE TO 用户;
GRANT UPDATE ANY TABLE TO 用户;
GRANT INSERT ANY TABLE TO 用户;
GRANT DELETE ANY TABLE TO 用户;

GRANT dba TO 用户;

3、创建表空间

-- 创建表空间
CREATE TABLESPACE 表空间名 DATAFILE 'xxx.dat' SIZE 500M AUTOEXTEND ON;
例如:CREATE TABLESPACE messagedb DATAFILE 'messagedb.dat' SIZE 500M AUTOEXTEND ON;

CREATE TEMPORARY TABLESPACE messagedb_tablespace_temp TEMPFILE 'messagedb_tabspace_temp.dat' SIZE 50M AUTOEXTEND ON;

4、查看当前已有用户

-- 查看当前已有的用户
SELECT Username FROM dba_users;

5、查看用户信息

select dbf.tablespace_name,
       dbf.totalspace                         "总量(M)",
       dbf.totalblocks as                     总块数,
       dfs.freespace                          "剩余总量(M)",
       dfs.freeblocks                         "剩余块数",
       (dfs.freespace / dbf.totalspace) * 100 "空闲比例"
from (select t.tablespace_name,
             sum(t.bytes) / 1024 / 1024 totalspace,
             sum(t.blocks)              totalblocks
      from dba_data_files t
      group by t.tablespace_name) dbf,
     (select tt.tablespace_name,
             sum(tt.bytes) / 1024 / 1024 freespace,
             sum(tt.blocks)              freeblocks
      from dba_free_space tt
      group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);

查看机器占用oracle连接数

select b.MACHINE, b.PROGRAM, count(*)
from v$process a,
     v$session b
where a.ADDR = b.PADDR
  and b.USERNAME is not null
group by b.MACHINE, b.PROGRAM
order by count(*) desc;

二、oracle函数

1、三目运算符

decode(字段名, null, '值1', '值2')     例子:decode(rc.id, null, '0', '1')

三、oracle踩坑解决方案

1、ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB

今天在做查询 进行clob group by 发现 一直提示这个错误 ORA-00932: 数据类型不一致:应为-,但却获得NCLOB
后来把clob字段进行 转换一下 就好了
to_char(content)   -- content  clob  字段

你可能感兴趣的:(Oracle,oracle,数据库,database)