1.查看表空间
select * from dba_tablespaces
2.查找物理文件
select * from dba_data_files
3.查看表空间里存放了哪些用户的数据
select distinct owner from dba_segments where tablespace_name='MY_001'
4.查看用户
select * from dba_users
5.查看用户默认的表空间
select default_tablespace from dba_users where username='LG'
6.查找用户下面所有的表
select * from dba_tables where owner='LGL'
7.删除用户,及级联关系也删除
drop user user_name cascade
8.删除表空间,对应的表空间文件也删除
drop tablespace tablespace_name including contents and datafiles cascade constraint
9.创建表空间
create tablespace ****
datafile 'd:\app\oracle12c\oradata\orcl\my_0003.dbf'
size 1024m
10.修改表空间----增加物理文件
alter tablespace *** add datafile
'd:\app\oracle12c\oradata\orcl\my_0005.dbf' size 128m
11.创建用户及设置默认表空
---创建用户
CREATE USER GZZL_LS IDENTIFIED BY password
DEFAULT TABLESPACE "GZZL"
TEMPORARY TABLESPACE "TEMP"
QUOTA UNLIMITED ON "GZZL"; ---设置用户无限制使用这个表空间配额
12、分配用户权限
grant connect, resource,dba to plan_sz;
13.查看某个表的占用物理空间大小
select segment_name AS TABLENAME,bytes b,bytes / 1024 kb,bytes /1024 /1024 mb,bytes /1024 /1024 /1024 GB from user_segments
where segment_name = upper('D_DZ')
14.jdbc连接数据库的时候,需要使用数据库的sid_name,而不是数据库的services_name
而使用plsql连接数据库的时候,只需要数据库的services_name即可
查看数据库的sid_name语句
select INSTANCE_NAME from v$instance;
15、查询表对应的表空间
SELECT TABLE_NAME,TABLESPACE_NAME FROM USER_TABLES
16、修改表对应的表空间
alter table MAP_BOOKMARK move tablespace PLAN_DATA;
17、查询拼接的修改表对应的表空间 语句,查询出来后,复制所有数据执行
select 'alter table '|| table_name ||' move tablespace tablespacename;' from user_tables;
18、数据导出
exp 用户名/密码@ip/orcl file=E:\XX.dmp owner=用户名
空表导出处理:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
将查出的数据运行,可以导出包含空表的所有数据(不要在Navicat中执行,Navicat中查询结果包含已经删除的表,建议在pl/sql中执行)
19、数据导入
imp 用户名/密码@ip/orcl file=E:\XX.dmp full=y
20、查询包含某个字段的所有表
select TABLE_NAME , COLUMN_NAME,DATA_TYPE from USER_TAB_COLS where COLUMN_NAME = 'XX';