oracle创建表空间详解
Oracle表空间创建及表创建
Oracle表空间创建及表创建-- 创建表空间,(数据库⽂件)create tablespace db3datafile 'E:\tablespace\db3.dbf'size 1m-- 创建表空间,(数据库⽂件),指定数据⽂件在哪⼉多⼤扩容create tablespace db2datafile 'E:\tablespace\db2.dbf'size 1m autoextend on next 1m maxsize unlimited-- 查询表select * from user_tablespaces-- 删除表空间drop tablespace db3-- 删除表空间及删除内容和⽂件drop tablespace db3 including contents and datafiles-- 更改表的状态alter tablespace db3 read onlyalter tablespace db3 read write-- 创建⽤户,密码create user user1 identified by user1-- 删除⽤户drop user user1-- 创建⽤户,密码,同时更改默认表空间create user user1 identified by user1default tablespace db3-- 创建后更改密码,更改默认表空间alter user user1 identified by user2alter user user1 default tablespace db3-- 授权登录grant create session to user1-- 授予⽤户dba权限,管理员权限grant dba to user1-- 授予查询某个表权限grant select on scott.dept to user1-- 撤销权限revoke dba from user1revoke select on scott.dept from user1-- user1创建表create table student(id number,name varchar2(20),birthday date)create table student2(id number(1),name varchar2(20),birthday date)create table student3(id number(5),name varchar2(20),birthday date) -- number默认number(5)-- 查表select * from user_tablesselect * from scott.dept -- 查询其他⽤户的表select * from user_tab_colsselect * from user_tab_cols where table_name='STUDENT' -- 要和表中相同为⼤写select * from user_tab_columns -- 和select * from user_tab_cols基本⼀样,少了⼏项-- 删表drop table student2-- 增、改、删表中字段使⽤ ()或者columnalter table student add chengji varchar2(10)alter table student add (math number(1),english number(1)) -- 增加多个字段需⽤括号()alter table student add (chengji2 varchar2(10)) -- 增统⼀都使⽤()alter table student rename (chengji to remark) -- xxalter table student rename column chengji to remark -- 改需使⽤关键字columnalter table student drop column chengji2 -- 删需使⽤关键字columnalter table student drop (english) -- 删使⽤()也⾏-- 注释comment on table student is '学⽣表'comment on column student.id is '编号'。
oracle创建用户、创建表空间、授权、建表的完整过程
oracle创建⽤户、创建表空间、授权、建表的完整过程1.⾸先以sysdba的⾝份登录oracle conn /as sysdba 查询⽤户: select username from dba_users; 查询表空间 select username, default_tablespace from dba_users where username='⽤户名‘; 查询数据⽂件 select file_name, tablespace_name from dba_data_files;2.然后就可以来创建⽤户. create user ⽤户名 identified by 密码;3.修改⽤户的密码 alter user ⽤户名 identified by 新密码;4.创建⼀个表空间 create tablespace 表空间名 datafile '空间物理存储路径(f:\ts_zzg\zzg_data.dbf后缀随意)' size ⼤⼩(200M);5.将表空间分配给⽤户 alter user ⽤户名 default tablespace 表空间名;6.为⽤户分配权限 grant create session,create table,create view,create sequence,unlimited tablespace to ⽤户名; grant all privileges to ⽤户名;(全部权限)7.查看所有⽤户所在的表空间 select username,default_tablespace from dba_users;8.查询⽤户所具有的权限 select *from session_privs;9.删除⽤户及其相关对象 drop user ⽤户名;。
Oracle 11g表空间——创建和扩展(永久)表空间
Oracle 11g表空间——创建和扩展(永久)表空间本文内容创建(永久)表空间查看表空间扩展表空间创建(永久)表空间Oracle 按照区和段空间进行管理表空间。
区管理方式 - 针对区的分配方式的不同,有两种方式:字典管理方式(dictionary-managed tablespace,DMT)和本地管理方式(local-managed tablespace,LMT)。
Oracle 10g 开始强烈建议使用 LMT 方式。
从 Oracle 9i 开始,创建表空间时默认使用 LMT。
其中,LMT 区的分配方式:统一(UNIFORM)- 统一分配。
指定表空间中所有区的大小都相同。
默认值是 1MB。
自动(AUTOALLOCATE 或 SYSTEM)- 自动分配。
指定有 Oracle 系统来自动管理区的大小。
这是默认设置。
段管理方式– LMT 方式,除了可以指定区的分配方式外,还可以指定段的管理方式。
段空间管理方式主要是指 Oracle 用来管理段中已用数据块和空闲数据块的机制。
分为两种:手动(MANUAL)- Oracle 将使用空闲列表(free list)管理段的已用数据块和空闲数据块。
这是传统的段空间管理方式,为了与以前的版本兼容。
自动(AUTO)- Oracle 将使用位图(bitmap)来管理段的已用数据块和空闲数据块。
通过位图中单元的取值判断段中的数据块是否可用。
字典管理方式没有段管理。
下面示例演示用本地管理方式创建表空间。
这是 Oracle 推荐的方式。
示例 1:使用 AUTOALLOCATE 区分配方式。
创建表空间 mytbs01,数据文件是D:\oracledata\mytbs01_1.dbf,大小为 2M,并指定区分配方式为 AUTOALLOCATE。
create tablespace mytbs01datafile 'D:\oracledata\mytbs01_1.dbf' size 2Mautoallocate;示例 2:使用 UNIFORM 区分配方式。
Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等
Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等oracle 数据库表空间的作用1.决定数据库实体的空间分配;2.设置数据库用户的空间份额;3.控制数据库部分数据的可用性;4.分布数据于不同的设备之间以改善性能;5.备份和恢复数据。
--oracle 可以创建的表空间有三种类型:1.temporary: 临时表空间,用于临时数据的存放;create temporary tablespace "sample"......2.undo : 还原表空间. 用于存入重做日志文件.create undo tablespace "sample"......3.用户表空间: 最重要,也是用于存放用户数据表空间create tablespace "sample"......--注:temporary 和undo 表空间是oracle 管理的特殊的表空间.只用于存放系统相关数据.--oracle 创建表空间应该授予的权限1.被授予关于一个或多个表空间中的resource特权;2.被指定缺省表空间;3.被分配指定表空间的存储空间使用份额;4.被指定缺省临时段表空间。
select tablespace_name "表空间名称",status "状态",extent_management "区管理方式",allocation_type "磁盘扩展管理方式",segment_space_management "段管理方式" from dba_tablespaces;--查询各个表空间的区、段管理方式--1、建立表空间--语法格式:create tablespace 表空间名datafile '文件标识符' 存储参数[...]|[minimum extent n] --设置表空间中创建的最小范围大小|[logging|nologging]|[default storage(存储配置参数)]|[online|offline]; --表空间联机\脱机|[permanent|temporary] --指定该表空间是用于保存永久的对象还是只保存临时对象 |[...]--其中:文件标识符=’文件名’[size整数[k\m][reuse]--实例create tablespace data01datafile '/oracle/oradata/db/data01.dbf' size 500muniform size 128k; --指定区尺寸为128k,如不指定,区尺寸默认为64kcreate tablespace "test"loggingdatafile 'd:\oracle\oradata\oracle\sample.ora' size 5m,'d:\oracle\oradata\oracle\dd.ora' size 5mextent management localuniform segment space managementauto;--详解/*第一: create tablespace "sample"创建一个名为"sample" 的表空间.对表空间的命名,遵守oracle 的命名规范就可了. 第二: logging 有nologging 和logging 两个选项,nologging: 创建表空间时,不创建重做日志.logging 和nologging正好相反, 就是在创建表空间时生成重做日志.用nologging时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复;但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的;所以通常不需要表空间的创建日志,因此,在创建表空间时,选择nologging,以加快表空间的创建速度.第三: datafile 用于指定数据文件的具体位置和大小.datafile 的文件是建立表空间后创建的,不过文件路径必须存在才是合法的datafile设置如: datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m说明文件的存放位置是'd:\oracle\oradata\ora92\luntan.ora' , 文件的大小为5m.如果有多个文件,可以用逗号隔开:如:datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m, 'd:\oracle\oradata\ora92\ dd.ora' size 5m但是每个文件都需要指明大小.单位以指定的单位为准如5m 或500k.对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少io竟争. 指定文件名时,必须为绝对地址,不能使用相对地址.第四: extent management local 存储区管理方法在字典中管理(dictionary):将数据文件中的每一个存储单元做为一条记录,所以在做dm操作时,就会产生大量的对这个管理表的delete和update操作.做大量数据管理时,将会产生很多的dm操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片.本地管理(local):用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘.同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。
oracle创建和删除表空间
oracle创建和删除表空间(本⽂章内容仅在windows10下经测试能够运⾏,不能保证其他环境下的可靠性)--创建表空间create tablespace oracleTS1--指定表空间逻辑名称datafile 'D:/oracle_ts1.dbf'--指定表空间物理存储的⽂件路径size 100m--指定表空间⼤⼩autoextend on--设置⾃动扩容next 10m;--设置每次扩展容量⼤⼩关键字功能阐述create tablespace指定表空间逻辑名称,该关键字后需给定表空间逻辑名称,逻辑名称不区分⼤⼩写,不需要使⽤单引号包裹datafile指定表空间的物理存储⽂件路径,该关键字后需给定⼀个⽂件路径,⽂件后缀为.dbf ,路径可以是多级⽬录下的⽂件,但是所有的⽗⽬录必须⾃⼰创建好,否则创建不成功。
⽂件路径需使⽤单引号包裹size指定表空间⼤⼩,该关键字后需给定⼀个⽂件容量,可以使⽤m作为单位,不区分⼤⼩写,即兆,如100m,不需要使⽤单引号包裹autoextend on指定⾃动扩展表空间容量next⾃动每次扩展表空间容量的⼤⼩,该关键字后需给定⼀个⽂件容量,可以使⽤m作为单位,不区分⼤⼩写,如10m, 不需要使⽤单引号包裹删除表空间代码如下:--删除表空间逻辑单位,需⼿动删除⽂件drop tablespace oracleTS1;关键字功能阐述drop tablespace删除表空间,该关键字后需给定表空间逻辑名称,该逻辑名称对应的⽂件必须存在,否则会报错,使⽤该语句只能删除oracle数据库的表空间逻辑单位,需⼿动删除.dbf后缀的⽂件才能彻底删除。
oracle建立表空间的方法
oracle建立表空间的方法Oracle数据库中建立表空间的方法主要有两种:一种是通过SQL命令的方式,另一种是通过Oracle客户端Enterprise Manager Console来创建。
通过SQL命令的方式创建表空间,需要先创建临时表空间和数据表空间,然后创建用户并指定表空间。
具体步骤如下:1. 创建临时表空间。
可以通过以下命令创建:```sqlcreate temporary tablespace user_temptempfile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```2. 创建数据表空间。
可以通过以下命令创建:```sqlcreate tablespace user_dataloggingdatafile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```3. 创建用户并指定表空间。
可以通过以下命令创建用户并将表空间指定给该用户:```sqlcreate user username identified by password;grant create session, create tablespace to username;alter user username default tablespace user_data temporary tablespace user_temp;```通过Oracle客户端Enterprise Manager Console来创建表空间,可以通过以下步骤完成:1. 打开Oracle客户端Enterprise Manager Console。
创建表空间
创建表空间创建Oracle数据库表空间是数据库管理员经常需要做的一项任务。
Oracle的表空间是用来存储数据库对象的物理存储区域,包括表、索引、视图等等。
在创建表空间时,需要考虑到数据库的性能和安全等因素。
以下是创建Oracle数据库表空间的步骤和注意事项。
步骤一:登录到Oracle数据库在创建表空间前,首先需要登录到Oracle数据库并以管理员身份登录。
可以使用SQL*Plus、SQL Developer等工具进行登录。
步骤二:选择合适的表空间名称和大小根据数据库的需要,选择合适的表空间名称和大小。
表空间名称应该能够反映出该空间的用途,如存储某个特定表或索引。
表空间大小需要根据数据量和增长率进行估计,以便在日后不必频繁地扩展表空间。
步骤三:创建表空间使用CREATE TABLESPACE命令来创建表空间,语法格式如下:CREATE TABLESPACE 表空间名称DATAFILE '存储路径' SIZE 表空间大小LOGGING/NONLOGGINGEXTENT MANAGEMENT {DICTIONARY | LOCAL};其中,表空间名称和大小是必须指定的。
存储路径是指数据文件的存储路径,可以使用相对路径或绝对路径。
LOGGING/NONLOGGING表示该表空间的存储是否记录数据库的日志。
EXTENT MANAGEMENT {DICTIONARY | LOCAL}表示该表空间使用字典管理或局部管理。
例如,以下命令将创建一个名为USR_TAB的表空间,大小为100MB,存储在路径C:\ORACLE\ORADATA\ORCL\USR_TAB01.DBF中,并且记录到数据库日志:CREATE TABLESPACE USR_TABDATAFILE 'C:\ORACLE\ORADATA\ORCL\USR_TAB01.DBF' SIZE 100MLOGGING;步骤四:为表空间添加数据文件使用ALTER TABLESPACE命令为表空间添加数据文件,语法格式如下:ALTER TABLESPACE 表空间名称 ADD DATAFILE '存储路径' SIZE 数据文件大小;其中,表空间名称是要添加数据文件的表空间名称,存储路径和数据文件大小需要指定。
Oracle19C创建用户表空间
Oracle19C创建⽤户表空间Oracle 19C 创建⽤户&表空间声明:本次操作基于win10系统安装Oracle 19C1.创建⽤户需要管理员权限运⾏ cmd 按如下输⼊命令sqlplus / as sysdba---------以sys登陆超级⽤户(sysdba)2新建⽤户create user ⽤户名 IDENTIFIED BY 密码;如:create user C##SCOTT IDENTIFIED BY 123456;3.创建表空间create tablespace 表空间名称 datafile 路径 size ⼤⼩;如:create tablespace SCOTT_TEST_DATA datafile 'D:\devlop\Oracle19c\OracleSpace\scott_test.dbf' size 2048M;注意:我们给⽤户赋予新建的表空间权限的时候,⼀定要重启⼀下数据库,否则会失败4.重启数据库关闭数据库:shutdown immediateSQL> shutdown immediate;数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
5.启动 startupORACLE 例程已经启动。
Total System Global Area 5133827960 bytesFixed Size 9277304 bytesVariable Size 922746880 bytesDatabase Buffers 4194304000 bytesRedo Buffers 7499776 bytes数据库装载完毕。
数据库已经打开。
6.分配表空间alter user ⽤户名 default tablespace 表空间名称;如:alter user C##SCOTT default tablespace SCOTT_TEST_DATA;7.给⽤户授权dba是数据库管理员它除了重启数据库修改字符集的权限没有外具有其它全部权限如建表改表表的增删改查,建表空间建索引视图存储过程,建⽤户给⽤户授权等等SQL> grant dba to C##SCOTT;。
Navicat创建oracle表空间、新建用户、授权
Navicat创建oracle表空间、新建⽤户、授权1.利⽤数据库管理员账号:SYSTEM,再配合数据库管理⼝令,连接Oracle数据库。
登录界⾯:
2.创建表空间⽂件
进⼊如下界⾯
进⼊如下界⾯
弹出如下界⾯,输⼊表空间名称
最终结果:
2 .新建⽤户
弹出如下界⾯:
3.授权
***************
如果这⾥要设置sysdba权限(有了这个权限可以使⽤数据泵来实现数据的导⼊),那么DBA权限是没法赋予这个权限的。
这个时候需要进⼊sql plus
然后在窗⼝中输⼊⽤户名:sqlplus / as sysdba 密码:123456(初始密码)
连接到oracle数据库后,输⼊代码:grant connect, resource, dba, sysdba to adang(⽤户名);下⾯我们直接使⽤navicat测试⼀下我们刚才新建的表空间能不能连接成功。
oracle表空间创建步骤
oracle表空间创建步骤Oracle表空间是Oracle数据库存储数据的重要单位,它主要用来存储表、视图、索引等对象,是保证Oracle数据质量和性能的关键。
因此,建立Oracle表空间是日常管理Oracle数据库的重要任务之一。
在本文中,我们将阐述建立Oracle表空间的步骤。
一、登陆系统账户建立Oracle表空间需要使用SYSDBA权限,因此首先需要以SYSDBA权限登陆Oracle数据库,例如:sqlplus / as sysdba。
二、初始化表空间在命令行输入CREATE TABLESPACE space_name DATAFILE'path/file_name.dbf' SIZE 500M AUTOEXTEND ON; 命令即可初始化空间,其中space_name是表空间名,path是文件路径,file_name.dbf为文件名,500M为表空间大小,AUTOEXTEND ON表示表空间可以自动扩展。
三、设置表空间的引擎类型可以设置表空间的引擎类型为本地文件系统引擎或ASM引擎两种。
本地文件系统引擎是把数据直接存储到磁盘中,而ASM引擎则是一个虚拟文件系统,利用Oracle自身的算法对数据块进行划分和管理。
使用DBCA工具创建表空间时,可以在设置的时候选择引擎类型。
而手动建立表空间,需要指定表空间的引擎类型,例如:CREATE TABLESPACE space_name DATAFILE 'path/file_name.dbf' SIZE 500M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL;四、设置表空间的块大小Oracle数据库默认的块大小是8KB,但在某些情况下可以修改该值,例如:CREATE TABLESPACE space_name DATAFILE'path/file_name.dbf' SIZE 500M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL DEFAULT STORAGE (BLOCKSIZE 32K);五、设置表空间的默认存储参数在建立表空间时,可以通过DEFAULT STORAGE子句设置表空间的默认存储参数,包括初始块大小、最大块数量、最小块数量、块增长率等等。
oracle数据库表空间创建导入导出
oracle数据库表空间创建导⼊导出1、表空间创建--删除表空间drop tablespace EVPBDMGIS including contents and datafiles;--删除⽤户drop user EVPBDMGIS cascade;--创建表空间create tablespace EVPBDMGIS datafile 'D:\app\Administrator\oradata\orcl\EVPBDMGIS.DBF' size 500m reuse autoextend on next 16m maxsize unlimited logging extent management local segment space management auto;--创建⽤户设置默认表空间create user EVPBDMGIS identified by EVPBDMGISdefault tablespace EVPBDMGIStemporary tablespace temp;--设置⽤户权限grant connect,resource,exp_full_database,imp_full_database to EVPBDMGIS ;--查询当前连接⽤户--select username,sid,serial# from v$session--清除连接⽤户--alter system kill session '223,50256'2、导⼊、导出--导出表结构exp sjcg/sjcg@orcl owner=sjcg file=D:\sjcg0727schema.dmp rows=n compress=n--导出命令:exp ⽤户名/密码@数据库 owner=⽤户名 file=⽂件存储路径(如:F:\abcd.dmp)exp sjcg/sjcg@orcl file=D:\sjcg_ev_20190124.dmp owner=sjcg--导⼊命令:imp ⽤户名/密码@数据库 fromuser=⽤户名 touser=⽤户名 file=d:\cu.dmp ignore=yimp hzuhvproj/hzuhvproj@orcl fromuser=hzuhvproj touser=hzuhvproj file=D:\Temp.dmp ignore=y--导⼊指定表imp sjcg/sjcg@orcl tables=(ev_t_bc_lineproperty,ev_t_bc_mapobject,ev_t_bc_mapobjectproperty,ev_t_bc_station)file=D:\Temp\SJCG0122schema.dmpcu/mycu@db:导⼊的数据库登陆(⽤户名/密码@数据库)fromuser:⽂件的指定⽤户touser:指定导⼊到当前登录的数据库某个⽤户file:需要导⼊的数据⽂件ignore:是否忽略创建错误--登录不区分⼤⼩写alter system set sec_case_sensitive_logon=false--解锁⽤户ALTER USER username ACCOUNT UNLOCK;。
oracle增加表空间的四种方法
oracle增加表空间的四种⽅法1. 查看所有表空间⼤⼩select tablespace_name,sum(bytes)/1024/1024 from dba_data_filesgroup by tablespace_name;2. 未使⽤的表空间⼤⼩select tablespace_name,sum(bytes)/1024/1024 from dba_free_spacegroup by tablespace_name;3. 所以使⽤空间可以这样计算select a.tablespace_name,total,free,total-free used from( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_filesgroup by tablespace_name) a,( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_spacegroup by tablespace_name) bwhere a.tablespace_name=b.tablespace_name;4. 下⾯这条语句查看所有segment的⼤⼩。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name5. 还有在命令⾏情况下如何将结果放到⼀个⽂件⾥。
SQL> spool out.txtSQL> select * from v$database;SQL> spool off6.如何查看oracle临时表空间当前使⽤了多少空间的⼤⼩?不是占⽤量,是当前正在使⽤的临时表空间⼤⼩SELECT ERNAME,SE.SID,SU.EXTENTS,SU.BLOCKS * TO_NUMBER(RTRIM(P.VALUE)) AS SPACE,TABLESPACE,SEGTYPE,SQL_TEXTFROM V$SORT_USAGE SU, V$PARAMETER P, V$SESSION SE, V$SQL SWHERE = 'db_block_size'AND SU.SESSION_ADDR = SE.SADDRAND S.HASH_VALUE = SU.SQLHASHAND S.ADDRESS = SU.SQLADDRORDER BY ERNAME, SE.SID;查询所有的表空间select tablespace_name from dba_tablespaces查看表空间中分布的⽤户信息select tablespace_name, owner,sum(bytes) from dba_segmentsgroup by tablespace_name, owner增加表空间⼤⼩的四种⽅法Meathod1:给表空间增加数据⽂件ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;Meathod2:新增数据⽂件,并且允许数据⽂件⾃动增长ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50MAUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod3:允许已存在的数据⽂件⾃动增长ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod4:⼿⼯改变已存在数据⽂件的⼤⼩ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M;。
Oracle DBA上机实例--创建表空间
Oracle_DBA上机实例创建表空间内大香阳王整理一、上机内容1.创建表空间tb1_16k,块大小为16K,包含数据文件TB16????.dbf(????为自己学号后四位),此数据文件初始20M,自动扩展,每次20M,最大300M,存放在“目标文件夹”。
2.创建表空间tb1_2k,块大小为4K,包含数据文件TB4????.dbf(????为自己学号后四位),此数据文件初始20M,不自动扩展,存放在“目标文件夹”。
3.建立UNDO表空间tb1_undo,使用OMF机制,此数据文件初始30M,自动扩展,每次20M,最大不限,存放在“目标文件夹”。
4.建立临时表空间tb1_temp,使用OMF机制,此数据文件初始30M,自动扩展,每次5M,最大不限,存放在“目标文件夹”。
5.将当前UNDO表空间设置为tb1_undo,将缺省临时表空间设置为tb1_temp。
二、步骤,语句代码SQL> startupSQL> show parameter cache;NAME TYPE VALUE------------------------------------ ----------- ------------------------------ db_16k_cache_size big integer 0db_2k_cache_size big integer 0db_32k_cache_size big integer 0db_4k_cache_size big integer 0db_8k_cache_size big integer 0db_cache_advice string ONdb_cache_size big integer 0db_keep_cache_size big integer 0db_recycle_cache_size big integer 0object_cache_max_size_percent integer 10object_cache_optimal_size integer 102400NAME TYPE VALUE------------------------------------ ----------- ------------------------------session_cached_cursors integer 20 SQL> alter system set db_16k_cache_size=1m;系统已更改。
创建表空间
创建表空间创建表空间是Oracle数据库中比较常用的操作。
在Oracle中,每个数据库都需要有一个或多个表空间来保存所有的表数据、索引数据、视图数据、存储过程及其它数据库对象。
因此,创建表空间的意义非常重要,下面我们一起来学习如何在Oracle数据库中创建表空间。
1. 什么是表空间表空间是存储Oracle数据库中表、索引、视图、存储过程及其它数据库对象的基本单位。
表空间包含多个数据文件,而每个数据文件都可以位于不同的磁盘上。
表空间的作用是将数据库对象物理存储到磁盘上,并对其进行管理。
Oracle数据库中的表空间可以分为SYSTEM表空间、SYSAUX表空间、TEMP表空间、UNDOTBS(撤消表空间)和用户表空间等五种类型。
2. 创建表空间的语法格式在Oracle数据库中创建表空间的语法格式如下:CREATE TABLESPACE 表空间名称DATAFILE '完整路径名称'SIZE 初始大小AUTOEXTEND ONNEXT 自动扩展大小MAXSIZE 表空间最大值DEFAULT STORAGE (INITIAL 表空间大小,NEXT 自动扩展大小,MINEXTENTS 最小扩展数,MAXEXTENTS 最大扩展数,PCTINCREASE 每次增长百分比)TABLESPACE GROUP 表空间组名称;表空间名称:表示创建的表空间的名称,表空间名称必须唯一。
完整路径名称:表示要将数据文件存储的位置。
初始大小:表示表空间的初始大小。
AUTOEXTEND ON:表明自动扩展表空间。
NEXT 自动扩展大小:表示表空间自动扩展的单位。
MAXSIZE:表示表空间的最大值,即表空间自动扩展的最大值。
DEFAULT STORAGE:表示表空间的默认存储属性。
INITIAL 表空间大小:表示表空间的初始大小。
NEXT 自动扩展大小:表示表空间自动扩展的单位。
MINEXTENTS 最小扩展数:表示表空间的最小扩展数。
Oracle建表空间各种语句
Oracle建表空间各种语句第一篇:Oracle建表空间各种语句在创建用户之前,先要创建表空间:其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;如:SQL> create tablespace news_tablespace datafile 'F:oracleproduct10.1.0oradatanewsnews_data.dbf' size 500M;其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:oracleproduct10.1.0oradatanewsnews_data.dbf'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:其格式为:格式: create user 用户名 identified by 密码 default tablespace 表空间表;如:SQL> create user news identified by news default tablespace news_tablespace;默认表空间'default tablespace'使用上面创建的表空间。
接着授权给新建的用户:SQL> grant connect,resource to news;--表示把connect,resource权限授予news用户SQL> grant dba to news;--表示把 dba权限授予给news用户授权成功。
ok!数据库用户创建完成,现在你就可以使用该用户创建数据表了!1.建表空间create tablespace hoteldata datafile 'D:javaOracleproduct10.1.0oradatazznorclhoteldata.dbf'size200m autoextend on next 10m maxsize unlimited;2.建用户create user hotel identified by hotel default tablespace hoteldataaccount unlock;//identified by 后面的是密码,前面的是用户名3.用户授权grant resource,connect,RECOVERY_CATALOG_OWNER to hotel;grant create table to hotel;alter user hotel quota unlimited ON OSDB;alter user hotel default tablespace hoteldata;4.删除表空间DROP TABLESPACE hoteldata INCLUDING CONTENTS AND DATAFILES;5.删除用户DROP USER hotel CASCADE 6.删除表的注意事项在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。
Oracle创建表空间
Oracle创建表空间在SQL*Plus环境下创建各种表空间,以及操作表空间的状态。
(1)创建一个表空间EXER_TABSPACE,该表空间采用本地化管理方式,分配的初始空间为10M,使用空间配额不受限制,对应的数据文件名为TEST_TBS01.DBF。
create tablespace exer_tabspacedatafile 'd:\oracle_data\test_tbs01.dbf' size 10mautoextend onextent management local;(2)查看创建的表空间信息。
select tablespace_name,initial_extent,next_extent,extent_management,allocation_typefrom dba_tablespaces(3)创建本地化管理的临时表空间TEMP02,分配的初始大小为20M,对应的临时文件名为TEMP_TBS02.DBF,表空间的最大配额为100M。
create temporary tablespace temp02tempfile 'd:\oracle_data\temp_tbs02.dbf'size 20m reuseautoextend onmaxsize 100mextent management local;(4)查看创建的临时表空间参数信息。
select * from v$tempfile;(5)创建大文件表空间,表空间名为BIGFILE_TBS,数据文件名为BIG_FILE_TBS01.DBF,数据文件的初始大小为5M。
create bigfile tablespace bigfile_tbsdatafile 'd:\oracle_data\big_file_tbs01.dbf' size 5m;(6)创建撤销表空间UNDO2,数据文件为UNDO02.DBF。
Oracle create tablespace语法详解
Oracle create tablespace语法详解CREATE [UNDO] TABLESPACE tablespace_name[DATAFILE datefile_spec1 [,datefile_spec2] ......[{MININUM EXTENT integer [k|m]|BLOCKSIZE integer [k]|logging clause | FORCE LOGGING|DEFAULT {data_segment_compression} storage_clause|[online|offline]|[PERMANENT|TEMPORARY]|extent_manager_clause|segment_manager_clause}]1、undo说明系统将创建一个回滚表空间。
在9i中数据库管理员可以不必管理回滚段,只有建立了undo表空间,系统就会自动管理回滚段的分配,回收的工作。
当然,也可以创建一般的表空间,在上面创建回滚段.不过对于用户来说,系统管理比自己管理要好很多.如果需要自己管理,请参见回滚段管理的命令详解.当没有为系统指定回滚表空间时,系统将使用system系统回滚段来进行事务管理。
//2、tablespace_name指出表空间的名称。
//3、datafile datefile_spec1指出表空间包含什么空间文件。
datefile_spec1是形如:['filename'] [SIZE integer [ K | M ]] [REUSE] [autoextend_clause][autoextend_clause]是形如:AUTOEXTEND { OFF | ON [ NEXT integer [ K | M ] ] [maxsize_clause] }其中filename是数据文件的路径名,可以是相对路径,也可以是绝对路径。
size是文件的大小,REUSE表示文件是否被重用.AUTOEXTEND表明是否自动扩展.OFF | ON 表示自动扩展是否被关闭.NEXT 表示数据文件满了以后,扩展的大小.maxsize_clause表示数据文件的最大大小.形如MAXSIZE { UNLIMITED | integer [ K | M ] }. UNLIMITED 表示无限的表空间.integer是数据文件的最大大小.DATAFILE 'D:"oracle"oradata"IMAGEDATA01.dbf' SIZE 2000M,'D:"oracle"oradata"IMAGEDATA02.dbf' SIZE 2000M//4、MININUM EXTENT integer [k|m]指出在表空间中范围的最小值。
oracle19c创建表空间,Oracle19c新建库基础流程
oracle19c创建表空间,Oracle19c新建库基础流程oracle19c创建表空间,Oracle19c新建库基础流程1.创建⽤户表空间CREATE TABLESPACE user_data logging DATAFILE '/opt/oracle/oradata/ORA19C/user_data.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED extent management local;2.创建临时表空间create temporary tablespace user_temp tempfile '/opt/oracle/oradata/ORA19C/user_temp.dbf' size 100M autoextend on next 10M maxsize 100M extent management local;3.创建⽤户CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE user_data temporary tablespace user_temp;如果出现如下报错:ORA-65048: error encountered when processing the current DDL statement in pluggable database ORA19CPDBORA-00959: tablespace 'user_temp' does not exist需要将容器切换⽤"ORA19CPDB"并再次创建user_data和user_temp,注意tempFile路径不能相同.如执⽤成功,直接做第四步.alter session set container=ORA19CPDB;CREATE TABLESPACE user_data logging DATAFILE '/opt/oracle/oradata/ORA19C/user_data.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED extent management local;create temporary tablespace user_temp tempfile '/opt/oracle/oradata/ORA19C/user_temp02.dbf' size 100Mautoextend on next 10M maxsize 100M extent management local;切回root容器并再次创建⽤户alter session set container=CDB$ROOT;CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE user_data temporary tablespace user_temp;4.赋予权限grant connect,resource,dba to username;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AUTO: 只能使用在本地管理的表空间中. 使用LOCAL管理表空间时,数据块中的空闲空间增加或减少后,其新状态都会在位图
中反映出来。位图使 Oracle 管理空闲空间的行为更加自动化,并为管理空闲空间提供了更好的性,但对含有LOB字段的表不
能自动管理.
4 'D:\ORACLE\ORADATA\ORA92\dd.ora' SIZE 5M
5 EXTENT MANAGEMENT LOCAL
6 UNIFORM SEGMENT SPACE MANAGEMENT
7* AUTO
SQL> /
表空间已创建。
要删除表空间进,可以
MANUAL: 目前已不用,主要是为向后兼容.
第七: 指定块大小. 可以具体指定表空间数据块的大小.
创建例子如下:
1 CREATE TABLESPACE "SAMPLE"
2 LOGGING
3 DATAFILE 'D:\ORACLE\ORADATA\ORA92\SAMPLE.ora' SIZE 5M,
建日志,因此,在创建表空间时,选择 NOLOGGING,以加快表空间的创建速度.
第三: DATAFILE 用于指定数据文件的具体位置和大小.
如: DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M
说明文件的存放位置是 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' , 文件的大小为5M.
如果有多个文件,可以用逗号隔开:
DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M,
'D:\ORACLE\ORADATA\ORA92\dd.ora' SIZE 5M
但是每个文件都需要指明大小.单位以指定的单位为准如 5M 或 500K.
第四: EXTENT MANAGEMENT LOCAL 存储区管理方法
在Oracle 8i以前,可以有两种选择,一种是在字典中管理(DICTIONARY),另一种是本地管理(LOCAL ),从9I开始,只能是本地管
理方式.因为LOCAL 管理方式有很多优点.
在字典中管理(DICTIONARY): 将数据文件中的每一个存储单元做为一条记录,所以在做DM操作时,就会产生大量的对这个管理
创建临时表空间的语法如下:
CREATE TEMPORARY TABLESPACE "SAMPLE"......
(2)UNDO : 还原表空间. 用于存入重做日志文件.
创建还原表空间的语法如下:
CREATE UNDO TABLESPACE "SAMPLE"......
(3)用户表空间: 最重要,也是用于存放用户数据表空间
对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少IO竟争.
指定文件名时,必须为绝对地址,不能使用相对地址.
来源:(/s/blog_63874ea80100g8ri.html) - Oracle创建表空间_冬日阳光_新浪博客
LOGGING 和NOLOGGING正好相反, 就是在创建表空间时生成重做日志.
用NOLOGGING时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在
创建表空间时,是没有数据的,按通常的做法,是建完表空ห้องสมุดไป่ตู้,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创
可以直接写成: CREATE TABLESPACE "SAMPLE"
TEMPORARY 和 UNDO 表空间是ORACLE 管理的特殊的表空间.只用于存放系统相关数据.
第二: LOGGING
有 NOLOGGING 和 LOGGING 两个选项,
NOLOGGING: 创建表空间时,不创建重做日志.
SQL> DROP TABLESPACE SAMPLE;
表空间已丢弃
ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户
对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额.
因此,在创建对象之前,首先要分配存储空间.
分配存储,就要创建表空间:
间的情况,避免进行空闲区的合并操作。
第五: SEGMENT SPACE MANAGEMENT
磁盘扩展管理方法:
SEGMENT SPACE MANAGEMENT: 使用该选项时区大小由系统自动确定。由于 Oracle 可确定各区的最佳大小,所以区大小是可
变的。
UNIFORM SEGMENT SPACE MANAGEMENT:指定区大小,也可使用默认值 (1 MB)。
上面的语句分以下几部分:
第一: CREATE TABLESPACE "SAMPLE" 创建一个名为 "SAMPLE" 的表空间.
对表空间的命名,遵守Oracle的命名规范就可了.
ORACLE可以创建的表空间有三种类型:
(1)TEMPORARY: 临时表空间,用于临时数据的存放;
表的Delete和Update操作.做大量数据管理时,将会产生很多的DM操作,严得的影响性能,同时,长时间对表数据的操作,会产生
很多的磁盘碎片,这就是为什么要做磁盘整理的原因.
本地管理(LOCAL): 用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘. 同时能够自动跟踪记录临近空闲空
创建表空间示例如下:
CREATE TABLESPACE "SAMPLE"
LOGGING
DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO