查询所有表
select * from dba_tables;
select * from all_tables;
select * from user_tables;
查询表注释
select * from dba_tab_comments t;
select * from all_tab_comments t;
select * from user_tab_comments t;
查询数据库实例名和数据库名
select instance_name from v$instance;
select name from v$database;
查看数据库版本
select * from v$version;
查看数据库字符集
select userenv('language') from dual;
查询字段长度
select length('147258369') from dual;
截取字符串
select substr('123456789101',5,2) from dual;
创建dblink
create public database link dblink名字 connect to 连接的用户名 identified by 用户密码
using '(DESCRIPTION = (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = 数据库实例名)))';
查看表空间使用情况
select a.tablespace_name,
a.bytes / 1024 / 1024 "Sum MB",
(a.bytes - b.bytes) / 1024 / 1024 "used MB",
b.bytes / 1024 / 1024 "free MB",
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used"
from (select tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes, max(bytes) largest
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
order by ((a.bytes - b.bytes) / a.bytes) desc;
修改表空间、增加表空间大小的四种方法
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF'
RESIZE 100M;
创建用户并授权
create user 用户名 identified by 用户密码;
grant create session TO 用户名;
grant create table to 用户名;
grant drop table on 表名 to 用户名;
grant insert table on 表名 to 用户名;
grant update table on 表名 to 用户名;
grant dba to 用户名;
将查询结果插入表中
create table 表名1 as SELECT 字段 FROM 表名2 where 条件
insert into 表名1(a,c,d) select a,c,d from 表名2