Oracle 创建表空间
注意点:
1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行
2.确保路径存在,比如【E:appQuentinoradataorcl】也就是你要保存文件的路径存在
3.在oracle中创建用户,当密码全为数字时,应该使用双引号修饰下。
eg:
create user test identified by "123456"
/*分为四步 */
/*第1步:创建临时表空间 */
create temporary tablespace user_temp
tempfile 'E:appQuentinoradataorcluser_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第2步:创建数据表空间 */
create tablespace user_data
logging
datafile 'E:appQuentinoradataorcluser_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第3步:创建用户并指定表空间 */
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
/*第4步:给用户授予权限 */
grant connect,resource,dba to username;
下面的代码和上面一样,可以直接复制。
/*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'E:appQuentinoradataorcluser_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:创建数据表空间 */ create tablespace user_data logging datafile 'E:appQuentinoradataorcluser_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第3步:创建用户并指定表空间 */ create user username identified by password default tablespace user_data temporary tablespace user_temp; /*第4步:给用户授予权限 */ grant connect,resource,dba to username;
oracle为什么要创建一个表空间和临时表空间?
表空间:此空间是用来进行数据存储的(表、function、存储过程等),所以是实际物理存储区域。
临时表空间:主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索 引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。
备注:因为用途不同所以才有了区分,实际上数据库都是有默认临时空间的,但实际应用中很难满足需求,所以才需要自己创建临时空间。
Oracle 查看表空间的大小及使用情况sql语句
--1、查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; --2、查看表空间物理文件的名称及大小 SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; --3、查看回滚段名称及大小 SELECT segment_name, tablespace_name, r.status, (initial_extent / 1024) initialextent, (next_extent / 1024) nextextent, max_extents, v.curext curextent FROM dba_rollback_segs r, v$rollstat v WHERE r.segment_id = v.usn(+) ORDER BY segment_name; --4、查看控制文件 SELECT NAME FROM v$controlfile; --5、查看日志文件 SELECT MEMBER FROM v$logfile; --6、查看表空间的使用情况 SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name; SELECT a.tablespace_name, a.bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / a.bytes "% USED ", (c.bytes * 100) / a.bytes "% FREE " FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c WHERE a.tablespace_name = b.tablespace_name AND a.tablespace_name = c.tablespace_name; --7、查看数据库库对象 SELECT owner, object_type, status, COUNT(*) count# FROM all_objects GROUP BY owner, object_type, status; --8、查看数据库的版本 SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'; --9、查看数据库的创建日期和归档方式 SELECT created, log_mode, log_mode FROM v$database;