天天看点

Oracle 表空间和用户的维护(创建、删除、修改)(二)

        最近为了完成数据在不同库之间的导入导出,临时创建了不少表空间和用户,为了保持数据库的干净整洁,根据需要删除无用的用户、表空间及物理文件。

        一个数据库被分成一个个的逻辑单元,这些逻辑单元叫做“表空间”,表空间用于存放数据库对象(如表、索引等)。表空间由一个或者多个数据文件(物理文件)组成,数据文件是数据的物理载体。表空间的尺寸是组成这个表空间的所有数据文件的尺寸之和。每个数据文件是一个操作系统文件,由多个操作系统文件块组成。用户查询一个表,如果表的数据不在内存中,Oralce会读取该表所在的数据文件,并把数据放到内存中。

        每个数据库都有一个系统表空间(system tablespace)和一个辅助表空间(sysaux tablespace),创建数据库的时候,系统会自动创建这两个表空间。

下面是相关的语法操作。

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
autoextend on next 200m
maxsize unlimited
           

10.修改表空间----增加物理文件

alter tablespace *** add datafile
    'd:\app\oracle12c\oradata\orcl\my_0005.dbf' size 128m
    autoextend on next 5m
    maxsize unlimited
           

11.创建用户及设置默认表空间

---创建用户
CREATE USER GZZL_LS IDENTIFIED BY password
DEFAULT TABLESPACE "GZZL"
TEMPORARY TABLESPACE "TEMP"
QUOTA UNLIMITED ON "GZZL";   ---设置用户无限制使用这个表空间配额
           

12.查看某个表的占用物理空间大小

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')
           

13.jdbc连接数据库的时候,需要使用数据库的sid_name,而不是数据库的services_name

而使用plsql连接数据库的时候,只需要数据库的services_name即可

        查看数据库的sid_name语句

select INSTANCE_NAME from v$instance;