表空间创建与删除完整步骤

合集下载

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创建用户、创建表空间、授权、建表的完整过程

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 ⽤户名;。

dos命令、创建删除表空间、删除行、表

dos命令、创建删除表空间、删除行、表
insert into employee(sname,sid,sdeptid,sdate,sidcard,smon,ssex)values('名字
','2'
,8,'01-1月-2010','130202199502031211',1200,'女')
*
第1行出现错误:
ORA-00001:违反唯一约束条件(YONYOU.SYS_C005175)
SQL> create table seentao.jintian(id varchar2(10) primary key);
表已创建。
SQL> create table employee(sid varchar2(8) primary key,sname varchar2(10) not nu
ll,sdeptid number not null default 9,sdate date,sidcard varchar2(18) unique,smon
请输入用户名: system
输入口令:
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> create tablespace yonyou datafile'd:\0529\yonyou.dbf' size 100m;
表空间已创建。
SQL> create user yonyou identified by seentao default tablespace yonyou;

shell脚本操作oracle删除表空间、创建表空间、删除用户

shell脚本操作oracle删除表空间、创建表空间、删除用户

shell脚本操作oracle删除表空间、创建表空间、删除⽤户oracle下表空间的导出,⽤户的删除,表空间删除,⽤户新建,表空间新建,数据导⼊的shell使⽤⾮oracle⽤户执⾏该脚本参数说名$1:base表空间的⽤户名$2:同步表空间的⽤户名使⽤场景测试⽤,base表空间⽤于升级建⽴⼀些固化数据。

同步表空间⽤于测试⽤,每次去和base表空间拉平数据复制代码代码如下:#!/bin/shoraclehome=$ORACLE_HOMEecho $oraclehomelocaldir="/oracle/data"echo $localdir#删除已经存在的临时dmp⽂件rm -rf $localdir/$2temp.dmprmresult=$?echo "rm $2temp.dmp result:$rmresult"#将⽤户$1的表空间导出su - oracle -c "exp dba/dba file=$localdir/$2temp.dmp owner=$1"expresult=$?if [ "$expresult" != "0" ];thenecho "exp $1 tablespace failure"fi#先删除⽤户$2及其表空间,然后再新建该⽤户及表空间su - oracle -c "${ORACLE_HOME}/bin/sqlplus /nolog" <<EOFconnect / as sysdbadrop user $2 cascade;drop tablespace $2 including contents and datafiles;create tablespace $2 datafile '/oracle/product/10.2.0/oradata/$2.dbf' size 5M autoextend on;create user $2 identified by "$2" default tablespace $2 temporary tablespace TEMP profile DEFAULT;grant connect to $2;grant resource to $2;grant create any table to $2;grant create any trigger to $2;grant create any type to $2;grant create any view to $2;grant unlimited tablespace to $2;exitEOFcrdrresult=$?if [ "$crdrresult" != "0" ];thenecho "drop user and tablespace failure"echo "create user and tablespace failure"else#刚建完的⽤户不能马上使⽤,等候10秒sleep 10s#更换dmp⽂件中的表空间名sed -i 's/TABLESPACE "$1"/TABLESPACE "$2"/g' $localdir/$2temp.dmp#使⽤imp命令导出表空间数据到⽤户$2的表空间su - oracle -c "imp dba/dba file=$localdir/$2temp.dmp fromuser=$1 touser=$2"impresult=$?if [ "$impresult" != "0" ];thenecho "imp failure"elseecho "imp success"fifi。

神通数据库表空间内创建表

神通数据库表空间内创建表

神通数据库表空间内创建表1. 什么是数据库表空间数据库表空间是数据库管理系统中用于存储表和索引的逻辑容器。

它可以理解为一个文件夹,用于组织和管理数据库中的表和索引。

在数据库中,表空间是一个重要的概念,对于数据库的性能和管理都有着重要的影响。

2. 表空间的作用表空间在数据库中起到了以下几个重要的作用:2.1 存储表和索引表空间作为数据库中存储表和索引的逻辑容器,提供了存储和管理表和索引的能力。

它可以将表和索引组织在一起,方便数据库的管理和维护。

2.2 控制数据库的逻辑结构表空间可以用来控制数据库的逻辑结构,将不同的表和索引组织在不同的表空间中,可以根据需要对表和索引进行分组和分类,便于管理和维护。

2.3 控制数据库的物理结构表空间还可以用来控制数据库的物理结构,可以指定表空间的大小、位置和其他属性,以满足数据库的需要。

通过合理地设置表空间,可以提高数据库的性能和可用性。

3. 创建表空间的步骤在神通数据库中,创建表空间可以按照以下步骤进行操作:3.1 登录数据库首先,需要使用数据库管理工具登录到神通数据库,以便进行后续的操作。

3.2 创建表空间在登录成功后,可以使用SQL语句来创建表空间。

例如,可以使用以下语句创建一个名为my_tablespace的表空间:CREATE TABLESPACE my_tablespace DATAFILE 'my_tablespace.dat' SIZE 100M;这条语句创建了一个大小为100M的表空间,并将其存储在名为my_tablespace.dat的数据文件中。

3.3 指定默认表空间创建表空间后,可以将其设为默认表空间,以便新创建的表和索引自动存储在该表空间中。

可以使用以下语句来指定默认表空间:ALTER DATABASE SET DEFAULT TABLESPACE my_tablespace;这条语句将默认表空间设置为my_tablespace。

PLSQL Developer 10g 创建、删除表空间、更名

PLSQL Developer 10g 创建、删除表空间、更名
AUTOEXTEND ON NEXT 1000M MAXSIZE UNLIMITED LOGGING PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT MANUAL FLASHBACK ON;
7) DROP TABLESPACE db_name_ INCLUDING CONTENTS AND DATAFILES; //删除表空间
--测试创建表空间
create tablespace IMSTEST
datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HNORCL\IMTEST.def' size 200M
TEMPORARY TABLESPACE "TEMP" ;
grant connect to PROJECTNAME ;
grant dba to PROJECTNAME ;
grant sysdba to PROJECTNAME ;
--创建无限表空间 SQL代码
CREATE TABLESPACE test DATAFILE 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE\TEST1.DBF' SIZE 20000M
extent management local autoallocate
segment space management auto;
CREATE USER PROJECTNAME
IDENTIFIED BY "PROJECTNAME"
DEFAULT TABLESPACE "TBS_PROJECTNAMETEST"

创建表空间

创建表空间

创建表空间第一篇:什么是表空间?在Oracle数据库中,表空间是数据库逻辑存储结构的一部分。

它是由一个或多个数据文件组成的逻辑存储单元,用于存储数据库中的表、索引、过程、触发器等对象。

一个表空间中可以包含多个数据文件,这些数据文件可以位于不同的磁盘上。

表空间的组织方式是物理和逻辑分离的,即表空间中的数据文件可以分散在不同的磁盘上,但是逻辑上它们是一个整体。

这种组织方式可以提高数据库的灵活性和可靠性。

在Oracle数据库中,默认情况下会创建一个表空间,这个表空间叫做SYSTEM表空间,它包含了数据库的系统表、系统索引和其他重要的对象。

除了SYSTEM表空间以外,我们还可以创建其他的表空间来存储用户表、索引、LOB数据等。

第二篇:创建表空间的步骤在Oracle数据库中,我们可以使用CREATE TABLESPACE语句来创建表空间。

下面是创建表空间的步骤:1. 打开SQL*Plus或者其他的Oracle命令行工具。

2. 以系统管理员的身份登录数据库。

3. 执行CREATE TABLESPACE语句。

语法如下:CREATE TABLESPACE tablespace_nameDATAFILE 'file_name' SIZE size[ AUTOEXTEND { ON | OFF } ] [ MAXSIZE max_size ][ LOGGING | NOLOGGING ][ ONLINE | OFFLINE ]其中,tablespace_name是要创建的表空间的名称,file_name是要创建的数据文件的名称,size是数据文件的大小,AUTOEXTEND参数指定数据文件是否可以自动扩展,MAXSIZE参数指定数据文件的最大大小,LOGGING参数指定是否将表空间的操作日志记录到日志文件中,ONLINE参数指定是否将表空间置为联机状态,OFFLINE参数指定是否将表空间置为脱机状态。

UNDO表空间详解

UNDO表空间详解

UNDO表空间详解目录UNDO表空间详解 (1)一、描述 (2)二、作用 (3)1. 回退事务 (3)2. 读一致性 (3)3. 事务恢复 (4)4. 倒叙查询(FlashBack Query) (4)三、UNDO参数 (5)1. UNDO_MANAGEMENT (5)2. UNDO_TABLESPACE (5)3. UNDO_RETENTION (5)四、UNDO表空间操作 (6)1. 建立UNDO表空间 (6)2. 修改UNDO表空间 (7)3. 切换UNDO表空间 (7)4. 删除UNDO表空间 (8)五、其他操作(段、区、块) (8)1. UNDO表空间及大小: (8)2. undo段 (9)3. undo段中区的状态: (10)六、统计信息 (11)1. 显示UNDO表空间统计信息 (11)2.显示UNDO段统计信息. (12)3.显示UNDO区信息 (12)4.显示活动事务信息. (13)5. V$ROLLSTAT中的常用列 (13)七、参考文档: (14)附件1: (14)附件2: (22)一、描述undo表空间是Oracle特有的概念,undo表空间中会自动分配undo段,这些undo段用来保存事务中的DML语句的undo信息,也就是来保存数据在被修改之前的值。

在rollback,实例恢复(前滚),一致性读CR块的构造时会使用到undo信息,由于undo的引入,从而Oracle 的select语句实现一致性读时,不需要任何锁。

undo表空间和其它表空间有很多类似的地方:undo数据块也会被读到buffer cache缓存起来,修改时也会产生redo log,数据也会写回到undo表空间的磁盘上。

所以崩溃后,undo块的buffer cache也会恢复过来。

Undo:是基于回滚的,当数据被误修改时,可以从修改的新状态回退到老状态,实现事物回滚,相当于撤销操作。

是回滚,就像倒录音带一样,把走过的路反向再走一遍回到原点。

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等

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创建和删除表空间

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创建删除用户、角色、表空间、导入导出数据库命令行方式总结
文章分类:数据库
说明: 在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)
如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建
执行示例:
F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp
屏幕显示
Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
(数据库安装完成后,有两个系统级的用户 :
1) system 默认密码为 :manager
2) sys 默认密码为 :change_on_install)
创建用户 前必须要先建好临时表空间 和数据表空间 两个表空间,否则用系统默认的表空间不好。
//创建 临时表空间
create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
drop tablespace zfmi including contents and datafiles cascade onstraints;
//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数

创建表空间

创建表空间

创建表空间创建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 数据文件大小;其中,表空间名称是要添加数据文件的表空间名称,存储路径和数据文件大小需要指定。

实验7-表空间的管理

实验7-表空间的管理

实验六表空间的管理一、目的与要求1.掌握在EM中查看表空间的方法;2.掌握表空间的创建方法;3.掌握设置和修改表空间属性的方法;4.掌握删除表空间的方法;5.掌握创建撤销表空间的方法;二、实验准备1.创建表空间的可以用命令或在EM中直接完成。

创建表空间的命令为CREATE TABLESPACE2.设置和修改表空间的命令:ALTER TABLESPACE <表空间名> RENAME TO <新表空间名>向表空间中添加数据文件的命令:ALTER TABLESPACE <表空间名> ADD DATAFILE <新数据文件的名称和位置>修改大文件表空间的数据文件大小:ALTER TABLESPACE <大文件表空间名> RESIZE 大小向临时表空间中添加临时文件:ALTER TABLESPACE <临时表空间名> ADD TEMPFILE <临时文件的名称和位置> 设置表空间的联机和脱机状态:ALTER TABLESPACE <表空间名>OFFLINE;ALTER TABLESPACE <表空间名>ONLINE;设置表空间的读写状态:ALTER TABLESPACE <表空间名>READ ONLYALTER TABLESPACE <表空间名>READ WRITE3.删除表空间的命令DROP TABLESPACE <表空间名>DROP TABLESPACE <表空间名> INCLUDING CONTENTS;DROP TABLESPACE <表空间名> INCLUDING CONTENTS AND DATAFILES;4.创建自动段管理方式的表空间:CREATE TABLESPACE <表空间名> DATAFILE <数据文件> SIZE 大小EXTENT MANAGEMENT LOCAL AUTOALLOCATESEGMENT SPACE MANAGEMENT AUTO;创建手动段管理方式的表空间:CREATE TABLESPACE <表空间名> DATAFILE <数据文件> SIZE 大小EXTENT MANAGEMENT LOCAL AUTOALLOCATESEGMENT SPACE MANAGEMENT MANUAL三、实验内容1.新创建一数据库StuDB,启动并连接上该实例。

oracle创建表空间和用户授权及删除表空间和删除用户命令

oracle创建表空间和用户授权及删除表空间和删除用户命令

imp pobaoa/oa@orcl file=f:\zyoa0916.dmp full=y ignore=y
imp sjsoa/oa@orcl file=f:/bigoatemp.dmp full=y
2、将d:daochu.dmp中的表table1导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
select INSTANCEID,NID,TITLE,NODENAME,ASSIGNER,NODEBEGIN,initiatorname,&#39;办理状态&#39;As blzt from view_wf_todo where actor=&#39;%USERID%&#39; order by nodebegin desc
sqlplus / as sysdba
default tablespace bigoa
temporary tablespace temp;
//给用户授予权限
grant connect,resource,dba,CTXAPP,create view to swoa;
以后以该用户登录,创建的任何数据库对象都属于user_temp和user_data表空间,这就不用在每创建一个对象给其指定表空间了
oracle创建表空间和用户授权
SYS用户在CMD下以DBA身份登录:
在CMD中打sqlplus/nolog //匿名登录
然后再conn/as sysdba //以dba身份登录
//创建临时表空间
create temporary tablespace bigoa_temp

oracle表空间创建步骤

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临时表空间的增删改查操作

操作oracle 临时表空间的增删改查1、查看临时表空间dba_temp_files视图v_$tempfile视图select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看2、缩小临时表空间大小alter database tempfile 'D:\ORACLE\PRODUCT\' resize 100M;3、扩展临时表空间:方法一、增大临时文件大小:SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/’ resize 100m;方法二、将临时数据文件设为自动扩展:SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/’ autoextend on next 5m maxsize unlimited;方法三、向临时表空间中添加数据文件:SQL> alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/orcl/’ size100m;4、创建临时表空间:SQL> create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/orcl/’ size 10M;5、更改系统的默认临时表空间:--查询默认临时表空间select from database_properties whereproperty_name='DEFAULT_TEMP_TABLESPACE';--修改默认临时表空间alter database default temporary tablespace temp1;所有用户的默认临时表空间都将切换为新的临时表空间:select username,temporary_tablespace,default_ from dba_users;--更改某一用户的临时表空间:alter user scott temporary tablespace temp;6、删除临时表空间删除临时表空间的一个数据文件:SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/’ drop;删除临时表空间彻底删除:SQL> drop tablespace temp1 including contents and datafiles cascade constraints;7、查看临时表空间的使用情况GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小dba_temp_files视图的bytes字段记录的是临时表空间的总大小SELECT ,total - used as "Free",total as "Total",roundnvltotal - used, 0 100 / total, 3 "Free percent"FROM SELECT tablespace_name, SUMbytes_used / 1024 / 1024 usedFROM GV_$TEMP_SPACE_HEADERGROUP BY tablespace_name temp_used,SELECT tablespace_name, SUMbytes / 1024 / 1024 totalFROM dba_temp_filesGROUP BY tablespace_name temp_totalWHERE =8、查找消耗资源比较的sql语句Select ,,,to_numberrtrim as Space,tablespace,segtype,sql_textfrom v$sort_usage su, v$parameter p, v$session se, v$sql swhere = 'db_block_size'and =and =and =order by ,9、查看当前临时表空间使用大小与正在占用临时表空间的sql语句select , segtype, blocks 8 / 1000 "MB", sql_textfrom v$sort_usage sort, v$session sess, v$sql sqlwhere =and =order by blocks desc;10、临时表空间组介绍1创建临时表空间组:create temporary tablespace tempts1 tempfile '/home/oracle/' size 2M tablespace group group1;create temporary tablespace tempts2 tempfile '/home/oracle/' size 2M tablespace group group2;2查询临时表空间组:dba_tablespace_groups视图select from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP1 TEMPTS1GROUP2 TEMPTS23将表空间从一个临时表空间组移动到另外一个临时表空间组:alter tablespace tempts1 tablespace group GROUP2 ;select from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP2 TEMPTS1GROUP2 TEMPTS24把临时表空间组指定给用户alter user scott temporary tablespace GROUP2;5在数据库级设置临时表空间alter database <db_name> default temporary tablespace GROUP2;6删除临时表空间组删除组成临时表空间组的所有临时表空间drop tablespace tempts1 including contents and datafiles;select from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP2 TEMPTS2drop tablespace tempts2 including contents and datafiles;select from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME11、对临时表空间进行shrink11g新增的功能--将temp表空间收缩为20Malter tablespace temp shrink space keep 20M;--自动将表空间的临时文件缩小到最小可能的大小ALTER TABLESPACE temp SHRINK TEMPFILE ’/u02/oracle/data/’;临时表空间作用Oracle临时表空间主要用来做查询和存放一些缓冲区数据;临时表空间消耗的主要原因是需要对查询的中间结果进行排序;重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长;直到耗尽硬盘空间;网上有人猜测在磁盘空间的分配上,oracle使用的是贪心算法,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB;也就是说当前临时表空间文件的大小是历史上使用临时表空间最大的大小;临时表空间的主要作用:索引create或rebuild;Order by 或group by;Distinct 操作;Union 或intersect 或minus;Sort-merge joins;analyze.。

linux 下删除oracle表空间的步骤

linux 下删除oracle表空间的步骤

L i nux 环境下删除O r acle 表空间的步骤在Linux 环境下删除Oracle 表空间的步骤如下:1. 登录数据库以具有⾜够权限(如SYSDBA )的⽤户身份登录SQL*PLUS ,例如:2. 检查表空间使⽤情况在删除表空间之前,确保该表空间没有被任何⽤户或对象使⽤。

可以通过查询数据字典来确认这⼀点。

如果结果返回有仍在使⽤的段,请先解除依赖关系并移除相关对象。

3. 禁⽤表空间上的所有活动如果表空间中仍有数据⽂件,且不打算保留数据,则可以执⾏以下操作(假设表空间名为you r_tablespace_name ):4. 删除表空间确保所有数据⽂件都已离线后,可以安全地删除表空间,包括其内容和数据⽂件,并级联删除相关的约束条件:○○○○sqlplus / as sysdba1BashSELECT * FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'your_tablespace_name';1SQLALTER TABLESPACE your_tablespace_name OFFLINE;1SQL5. 验证表空间已被删除可以通过查看DBA_TABLESPACES 视图来验证表空间是否已经被成功删除。

6. (可选)清理未删除的数据⽂件如果在删除表空间时指定了INCLUDING CONTENTS AND DATAFILES ,那么数据⽂件应该已经被⾃动删除。

如果系统出于某种原因未能删除物理⽂件,您需要⼿动从操作系统层⾯删除这些不再关联到任何表空间的数据⽂件。

请注意,在进⾏上述操作前,务必做好充分的数据备份⼯作,并确保对即将执⾏的操作有清晰的理解,因为这些操作往往是不可逆的。

○○DROP TABLESPACE your_tablespace_name INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;1SQL。

Oracle10g 创建表空间&&网页访问控制台

Oracle10g 创建表空间&&网页访问控制台

网页访问http://localhost:1158/emOracle 创建表空间SYS用户在CMD下以DBA身份登陆:在CMD中打sqlplus /nolog然后再conn / as sysdba// 分为四步//第1步:创建临时表空间create temporary tablespace user_temptempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50mautoextend onnext 50m maxsize 20480mextent management local;//第2步:创建数据表空间create tablespace test_dataloggingdatafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50mautoextend onnext 50m maxsize 20480mextent management local;//第3步:创建用户并指定表空间create user username identified by passworddefault tablespace user_datatemporary tablespace user_temp;//第4步:给用户授予权限grant connect,resource to username;---------------------------------------------------------------------------------//以后以该用户登录,创建的任何数据库对象都属于user_temp 和user_data表空间,这就不用在每创建一个对象给其指定表空间了撤权:revoke 权限... from 用户名;删除用户命令drop user user_name cascade;建立表空间CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500MUNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k删除表空间DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;一、建立表空间CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500MUNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k二、建立UNDO表空间CREATE UNDO TABLESPACE UNDOTBS02DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:ALTER SYSTEM SET undo_tablespace=UNDOTBS02;三、建立临时表空间CREATE TEMPORARY TABLESPACE temp_dataTEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M四、改变表空间状态1.使表空间脱机ALTER TABLESPACE game OFFLINE;如果是意外删除了数据文件,则必须带有RECOVER选项ALTER TABLESPACE game OFFLINE FOR RECOVER;2.使表空间联机ALTER TABLESPACE game ONLINE;3.使数据文件脱机ALTER DATABASE DATAFILE 3 OFFLINE;4.使数据文件联机ALTER DATABASE DATAFILE 3 ONLINE;5.使表空间只读ALTER TABLESPACE game READ ONLY;6.使表空间可读写ALTER TABLESPACE game READ WRITE;五、删除表空间DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;六、扩展表空间首先查看表空间的名字和所属文件select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;1.增加数据文件ALTER TABLESPACE gameADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;2.手动增加数据文件尺寸ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'RESIZE 4000M;3.设定数据文件自动扩展ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbfAUTOEXTEND ON NEXT 100MMAXSIZE 10000M;设定后查看表空间信息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 CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME ANDA.TABLESPACE_NAME=C.TABLESPACE。

创建、删除表空间

创建、删除表空间

创建、删除表空间创建⽤户和表空间:1、登录linux,以oracle⽤户登录(如果是root⽤户登录的,登录后⽤ su - oracle命令切换成oracle⽤户)2、以sysdba⽅式来打开sqlplus,命令如下: sqlplus / as sysdba3、创建临时表空间:--查询临时表空间⽂件的绝对路径。

如果需要的话,可以通过查询来写定绝对路径。

⼀般⽤${ORACLE_HOME}就可以了select name from v$tempfile;create temporary tablespace NOTIFYDB_TEMP tempfile '${ORACLE_HOME}\oradata\NOTIFYDB_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;4、创建表空间:--查询⽤户表空间⽂件的绝对路径:select name from v$datafile;create tablespace NOTIFYDB datafile '${ORACLE_HOME}\oradata\notifydb.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);#create tablespace TMS5_TABLES datafile '/home/oracle/app/oracle/oradata/CMADB/o1_mf_tms5_tab_tw.dbf' size 100M reuse autoextend on next 40M maxsize unlimited;5、创建⽤户和密码,指定上边创建的临时表空间和表空间create user hc_notify identified by hc_password default tablespace NOTIFYDB temporary tablespace NOTIFYDB_TEMP;6、赋予权限grant dba to hc_notify;grant connect,resource to hc_notify;grant select any table to hc_notify;grant delete any table to hc_notify;grant update any table to hc_notify;grant insert any table to hc_notify;经过以上操作,就可以使⽤hc_notify/hc_password登录指定的实例,创建我们⾃⼰的表了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle 10g表空间创建的完整步骤当在数据库中创建用户时,基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。

1.创建表空间不论是Lnux环境,还是Wndows环境,都要首先创建好表空间的存放路径,根据自己的情况修改。

如:/opt/oracle/oradata/cocis 或D:\oracle\oradata\cocis若事先不创建该目录路径,则在创建表空间的时候会出错。

通过pl/sql登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间引用创建表空间Sql>create tablespace histdb datafile'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited;Sql>alter database datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' autoextend on;1) DATAFILE: 表空间数据文件存放路径2) SIZE: 起初设置为200M3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k4) 空间名称histdb 与数据文件名称histdb.dbf 不要求相同,可随意命名.5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手动修改数据文件大小为500M删除表空间DROP TABLESPACE histdb INCLUDING CONTENTS AND DATAFILES;表空间已创建。

2.为应用创建用户创建用户的同时,为用户指定缺省的永久表空间和临时表空间。

SQL> create user cocis identified by cocis2 default tablespace cocis3 temporary tablespace temp;用户已创建。

SQL> select username,default_tablespace,temporary_tablespace2 from dba_users3 where username='COCIS';USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE------------------------------ ------------------------------ ------------------ COCIS COCIS TEMPSQL> selectusername,user_id,password,default_tablespace,temporary_tablespace2 from dba_users3 where username='COCIS';USERNAME USER_ID PASSWORD TEMPORARY_TABLESPACE------------------------------ ---------- -----------------------------------------------------COCIS 61 E031F623C0F15D34 COCIS3.权限的授予SQL> grant connect,resource to cocis;授权成功。

注释:当用户创建之后,一般只需要授予CONNECT和RESOURCE这两个角色即可。

若要单独进行授权,则需执行单独的授权命令,如grant create table to cocis;等。

如果要授予SYSDBA的权限给用户则用如下命令SQL> grant SYSDBA to cocis;---------------------------------------------------SQL> revoke unlimited tablespace from cocis;撤销成功。

SQL> alter user cocis quota unlimited on cocis;用户已更改。

注释:为了更严谨的管理,可以回收用户的UNLIMITED TABLESPACE权限,然后对用户的空间限额进行单独授权。

Oracle 使用时间长了,新增了许多user 和tablespace. 需要清理一下对于单个user和tablespace 来说,可以使用如下命令来完成。

步骤一:删除userdrop user ×× cascade说明:删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。

步骤二:删除tablespaceDROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;但是,因为是供开发环境来使用的db, 需要清理的user 和 table space 很多。

思路一:Export出DB中所有的user和tablespace, 筛选出系统的和有用的tablespace,把有用的信息load到一张表中去。

然后写例程循环,把不在有用表的tablespace删掉1. select username,default_tablespace from dba_users;2.create table MTUSEFULSPACE(ID Number(4) NOT NULL PRIMARY KEY,USERNAME varchar2(30),TABLESPACENAME varchar2(60),OWNERNAME varchar2(30));3.declare icount number(2);tempspace varchar2(60);beginfor curTable in (select username as allusr,default_tablespace as alltblspace from dba_users)looptempspace :=curTable.alltblspace;dbms_output.put_line(tempspace);select count(TABLESPACENAME) into icount from MTUSEFULSPACE where TABLESPACENAME = tempspace;if icount=0 thenDROP TABLESPACE tempspace INCLUDING CONTENTS AND DATAFILES; end if;commit;end loop;end;执行后会报如下错误ORA-06550: 第 10 行, 第 5 列:PLS-00103: 出现符号 "DROP"在需要下列之一时:begin case declare exitfor goto if loop mod null pragma raise return select updatewhile with <an identifier><a double-quoted delimited-identifier> <a bind variable> <<close current delete fetch lock insert open rollbacksavepoint set sql execute commit forall merge pipe06550. 00000 - "line %s, column %s:\n%s"*Cause: Usually a PL/SQL compilation error.*Action:好像是被锁了。

没办法,例程不能写,就只能组出语句执行了。

把需要删除的user, tablespace 导出到Excel. 使用CONCATENATE 组出SQL. 贴到SQLdevelop 批量执行。

整个删除会比较耗时间, 100多个user. 用了12个小时左右。

如要找datafile的具体位置,可以使用select , from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;SQL code--删除空的表空间,但是不包含物理文件drop tablespace tablespace_name;--删除非空表空间,但是不包含物理文件drop tablespace tablespace_name including contents;--删除空表空间,包含物理文件drop tablespace tablespace_name including datafiles;--删除非空表空间,包含物理文件drop tablespace tablespace_name including contents and datafiles;--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTSdrop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;。

相关文档
最新文档