Oracle查询数据文件、数据表空间文件

在分配oracle数据库用户时,我们需要为用户单独的分配表空间,其次就是创建用户并设置默认表空间,最后给创建的用户授予一定的数据库权限。

一般的步骤分为:

1、查询磁盘空间剩余情况;

2、查询数据库表空间文件存放位置;

3、创建表空间;

4、创建用户并配置默认表空间;

5、对用户授权;

6、测试用户登录是否正常;

一、查询磁盘空间剩余情况,我们可以在操作系统下使用df -h命令查看,如下:

如果使用的是ASM磁盘组,则需要在数据库中进行查询,命令如下:

GROUP_NUMBER NAME SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE TYPE TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB OFFLINE_DISKS UNBALANCED COMPATIBILITY DATABASE_COMPATIBILITY
1 DGDATA 512 4096 1048576 CONNECTED EXTERN 1833989 1440063 0 1440063 0 N 10.1.0.0.0 10.1.0.0.0
2 ARCHIVE 512 4096 1048576 MOUNTED EXTERN 205816 204288 0 204288 0 N 10.1.0.0.0 10.1.0.0.0

二、查询数据表空间位置,脚本如下:

SQL>select name from v$datafile;

NAME
+DGDATA/racdb/datafile/system.259.785533223
+DGDATA/racdb/datafile/undotbs1.260.785533253
+DGDATA/racdb/datafile/sysaux.261.785533303
+DGDATA/racdb/datafile/undotbs2.263.785533319
+DGDATA/racdb/datafile/users.264.785533373
+DGDATA/racdb/datafile/audspace.268.785935319

查询数据表空间详细信息,脚本如下:

SQL>Select * FROM DBA_DATA_FILES;

FILE_NAME FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS RELATIVE_FNO AUTOEXTENSIBLE MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS
+DGDATA/racdb/datafile/system.259.785533223 1 SYSTEM 1073741824 131072 AVAILABLE 1 YES 34359721984 4194302 1280 1073676288 131064 SYSTEM
+DGDATA/racdb/datafile/undotbs1.260.785533253 2 UNDOTBS1 4417650688 539264 AVAILABLE 2 YES 34359721984 4194302 640 4417585152 539256 ONLINE
+DGDATA/racdb/datafile/sysaux.261.785533303 3 SYSAUX 840957952 102656 AVAILABLE 3 YES 34359721984 4194302 1280 840892416 102648 ONLINE
+DGDATA/racdb/datafile/undotbs2.263.785533319 4 UNDOTBS2 8978956288 1096064 AVAILABLE 4 YES 34359721984 4194302 640 8978890752 1096056 ONLINE
+DGDATA/racdb/datafile/users.264.785533373 5 USERS 1414266880 172640 AVAILABLE 5 YES 34359721984 4194302 160 1414201344 172632 ONLINE
+DGDATA/racdb/datafile/audspace.268.785935319 6 AUDSPACE 4294967296 524288 AVAILABLE 6 NO 0 0 0 4294901760 524280 ONLINE

三、创建表空间,

SQL>create tablespace  ts_test  datafile '+DGDATA/racdb/datafile/ts_test.dbf' size 10240m ;

参考语法:
Sql>create tablespace histdb datafile 'D:oracleproduct10.2.0oradataorclhistdb.dbf' size 200m autoextend on next 10m maxsize unlimited;
Sql>alter database datafile 'D:oracleproduct10.2.0oradataorclhistdb.dbf' autoextend on;

1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为200M
3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
4) 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
6) alter database datafile ' D:oracleproduct10.2.0oradataorclhistdb.dbf ' resize 500m; //手动修改数据文件大小为500M

四、创建用户,并配置默认用户表空间

SQL>create user test identified by test#1234 default tablespace ts_test;

五、对创建的用户进行授权

SQL>grant  connect,resource,dba to test;

注:当用户创建之后,一般只需要授予CONNECT和RESOURCE这两个角色即可。若要单独进行授权,则需执行单独的授权命令,如grant create table to test;等。此处,为了节省不必要的麻烦,直接授予了dba权限。

六、测试用户登录

SQL> connect test/test#1234
Connected.
SQL>

至此,完成了oracle用户分配以及表空间、用户授权等操作。

『–ENDOF–』

Comments are closed.