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 ⽤户名;。
linux下创建oracle表空间
linux下创建oracle表空间1 、登录服务器2 、查看磁盘空间是否够⼤df -h-h更具⽬前磁盘空间和使⽤情况以更易读的⽅式显⽰ [root@rac1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 2.9G 2.3G 521M 82% / none 209M 0 209M 0% /dev/shm /dev/sda2 4.5G 1.8G 2.5G 42% /u01 /dev/sde1 512M 80M 433M 16% /ocfs -H根上⾯的-h参数相同,不过在根式化的时候,采⽤1000⽽不是1024进⾏容量转换 [root@rac1 ~]# df -H Filesystem Size Used Avail Use% Mounted on /dev/sda1 3.1G 2.4G 546M 82% / none 219M 0 219M 0% /dev/shm /dev/sda2 4.8G 1.9G 2.7G 42% /u01 /dev/sde1 537M 84M 454M 16% /ocfs -k以单位显⽰磁盘的使⽤情况 [root@rac1 ~]# df -k Filesystem 1K-blocks Used Available Use% Mounted onsu - oracle 切换到oracle⽤户(linux的⼀个⽤户名)3 、在/home/oracle/oradata ⽬录下新建⼀个⽂件夹,后⾯创建表空间需要⽤到cd /home/oracle/oradatamkdir abc4 、 sqlplus / as sysdba (以dba⾝份登录数据库,系统的超级⽤户)5 、创建临时表空间创建⽤户前必须要先创建临时表空间和数据库表空间两个表空间,否则⽤系统默认的表空间不好。
create temporary tablespace abc_temp tempfile '/home/oracle/oradata/abc/abc_temp.dbf' size 512m autoextend on next 100m maxsize 1024m extent management local;说明:1)abc_temp 临时表空间名字2)/home/oracle/oradata/abc 存放数据库⽂件的地⽅,⼀般是安装数据库后有控制⽂件,数据⽂件和⽇志⽂件的⽂件夹,再加上要创建表空间的名字+dbf (数据⽂件)3)512m 表空间的初始⼤⼩4)100m 表空间的⾃动增长⼤⼩5)1024m 表空间最⼤的⼤⼩6 、创建数据表空间create tablespace abc logging datafile '/home/oracle/oradata/abc/abc.dbf' size 512m autoextend on next 100m maxsize 1024m extent management local;7 、创建⽤户并指定表空间create user abc identified by abc default tablespace abc temporary tablespace abc_temp;注:create standardtable.sql 创建表8 、给⽤户授予权限grant dba to abc; (给abc ⽤户授予了dba 所有权限)9 、删除⽤户以及⽤户所有的对象drop user zfmi cascade;cascade 参数是级联删除该⽤户所有对象,经常遇到如⽤户有对象⽽未加此参数则⽤户删不了的问题,所以习惯性的加此参数删除oracle ⽤户nim 出现下⾯的错误:SQL> drop user nim cascade;drop user nim cascade* ERROR 位于第 1 ⾏:ORA-00604: 递归 SQL 层 1 出现错误ORA-24005: 必须使⽤ DBMS_AQADM.DROP_QUEUE_TABLE 删除队列表处理⽅式:先执⾏这条语句:alter session set events'10851 trace name context forever,level 2';再执⾏:drop user nim cascade; 删除⽤户nim10、删除表空间前提:删除表空间之前要确认该表空间没有被其他⽤户使⽤之后再做删除drop tablespace nimeng including contents and datafiles cascade constraints ;including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,⽽未加此参数,表空间删不掉,所以习惯性的加此参数including datafiles 删除表空间中的数据⽂件cascade constraints 同时删除 tablespace 中表的外键参照如果在清除表空间之前,先删除了表空间对应的数据⽂件,会造成数据库⽆法正常启动和关闭。
Oracle起步---创建临时表空间表空间创建用户授权
Oracle起步---创建临时表空间表空间创建⽤户授权1. 安装: 百度⼀下你就知道2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和⼝令,在以两种⽅式登录时: ⽤户名: sys(超级⽤户==sysdba) / system(管理员⽤户和sys想⽐区别在于system不能创建表空间)... ⼝令:注意这⾥不仅仅要输⼊你设置的⼝令,在后⾯还要加上as sysdba 如:orcl as sysdba3. 创建临时表空间/表空间/创建⽤户/授权 代码如下:1:创建临时表空间create temporary tablespace user_temptempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;2:创建数据表空间create tablespace user_dataloggingdatafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_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,dba to username;4. 删除操作中的truncate,delete(不带where⼦句的delete语句),drop异同-------转⾄相同点:truncate和不带where⼦句的delete, 以及drop都会删除表内的数据不同点:1.truncate和 delete只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才⽣效;如果有相应的trigger,执⾏的时候将被触发. truncate,drop是ddl, 操作⽴即⽣效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.3.delete语句不影响表所占⽤的extent, ⾼⽔线(high watermark)保持原位置不动显然drop语句将表所占⽤的空间全部释放 truncate 语句缺省情况下见空间释放到 minextents个 extent,除⾮使⽤reuse storage; truncate会将⾼⽔线复位(回到最开始).4.速度,⼀般来说: drop>; truncate >; delete5.安全性:⼩⼼使⽤drop 和truncate,尤其没有备份的时候.否则哭都来不及使⽤上,想删除部分数据⾏⽤delete,注意带上where⼦句. 回滚段要⾜够⼤. 想删除表,当然⽤drop 想保留表⽽将所有数据删除. 如果和事务⽆关,⽤truncate即可. 如果和事务有关,或者想触发trigger,还是⽤delete. 如果是整理表内部的碎⽚,可以⽤truncate跟上reuse stroage,再重新导⼊/插⼊数据。
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-RAC增加ASM盘-创建表空间
Oracle RAC增加ASM盘,创建表空间实验环境说明虚拟机软件Oracle VirtualBox 4.3.8数据库软件Clusterware 10.2.0.1+database 10.2.0.1数据库名称OracleRAC节点SID OracleRA1 OracleRA2节点主机名rac1 rac2对应虚拟机名称CentOS_Oracle_2 CentOS_Oracle_3一、共享盘设置1、在一个虚拟机上创建虚拟盘(两台虚拟机都要处于关机状态)(本例选择在CentOS_Oracle_2上创建虚拟盘)在虚拟机列表上选中CentOS_Oracle_2,单击右键,选择设置选择创建新的磁盘由于是选择固定大小,单击创建后会立刻分配硬盘空间如果设置的虚拟盘比较大的话,下面的创建过程可能会需要较多时间创建完成后单击OK退出设置界面2、设置虚拟盘为共享盘设置完成后关闭虚拟介质管理界面3、为第二台虚拟机添加虚拟盘。
选中CentOS_ORACLE_3,单击鼠标右键,选择设置。
确认已添加虚拟盘单击OK,完成添加共享磁盘设置二、创建ASM磁盘1、启动一台虚拟机,创建分区打开xshell软件,连接到rac1.查看添加的磁盘并分区新添加的磁盘路径为:/dev/sdg 对其进行分区建立根据需要,分成需要的的分区数量和大小,这里只分一个区并且使用全部可用空间启动第二台虚拟机,xshell连接进去,查看硬盘分区2、创建ASM磁盘在一个节点上创建ASM磁盘,另一个节点刷新ASM磁盘列表即可在rac1节点创建ASM磁盘。
先查看已存在的ASM磁盘名称。
Root用户执行:/etc/init.d/oracleasm listdisks查到已存在三个asm磁盘,新建的asm磁盘不能和已存在的重名。
所以新建的asm磁盘定名为VOL4(建议全大写字母+数字)Root用户执行:/etc/init.d/oracleasm createdisk VOL4 /dev/sdg1然后查看ASM磁盘列表。
创建表空间
创建表空间创建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;。
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,'办理状态'As blzt from view_wf_todo where actor='%USERID%' 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创建表空间、表、主键、外键、序列--创建表空间create tables paceprojec tsdatafi le 'D:\projec ts.dbf'size 10m autoex tendon;--创建用户名create user projidenti fiedby projdefaul t tables paceprojec ts;--分配系统权限和角色grantconnec t to proj;--创键表和其它对象grantresour ce to proj;grantdba to proj;--连接该用户connec t proj/proj;--创建序列create sequen ce U_seqminval ue 1maxval ue 10000startwith 1increm ent by 1cache20;--创建表create tableUsers(Id varcha r2(10) not null primar y key,uNamevarcha r2(20) not null,uPwd varcha r2(10) not null,uSex varcha r2(10) not null,uEmail varcha r2(20) not null,uLikevarcha r2(20));--为表插入数据insert into Usersvalues(U_seq.nextva l,'aa','123456','女','feiyan***********','唱歌'); insert into Usersvalues(U_seq.nextva l,'bb','123456','男','feiyan***********','篮球');create sequen ce U_orde rminval ue 1maxval ue 10000startwith 1increm ent by 1cache20;--创建表create tableOrders(id varcha r(2) not null primar y key,uuid varcha r2(10) not null,oNamevarcha r2(20) not null,oPrice number not null,oNum number not null);--创建主外键关系altertableOrders add constr aintfk_Idforeig n key (uuid) refere ncesUsers(id);--创建约束altertableUsersadd constr aintck_Upw d check(length(Upwd)=6);插入数据insert into Orders values(U_orde r.nextva l,'1','oracle书籍',98.88,1);insert into Orders values(U_orde r.nextva l,'2','java书籍',128.88,1);。
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. 查看所有表空间⼤⼩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上百兆的空间就被耗光了。
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。
建立新的表空间的命令
建立新的表空间的命令全文共四篇示例,供读者参考第一篇示例:建立新的表空间是在数据库中存储数据的一种重要方式,可以帮助用户更好地组织和管理数据库中的数据。
在Oracle数据库中,创建新的表空间需要使用一些特定的命令,下面将介绍如何使用SQL语句来创建新的表空间。
在Oracle数据库中,要创建一个新的表空间,需要使用CREATE TABLESPACE命令。
创建新表空间的命令语法如下:CREATE TABLESPACE tablespace_nameDATAFILE 'path_to_datafile' SIZE file_sizeAUTOEXTEND ONNEXT extent_sizeMAXSIZE max_size上面的命令中,tablespace_name是要创建的表空间的名称,path_to_datafile是表空间存储数据文件的路径,file_size是数据文件的初始大小,extent_size是每个数据文件的增长大小,max_size是数据文件的最大大小。
通过这条命令,就可以创建一个新的表空间。
在创建表空间时,还可以通过设置其他参数来指定一些特定的属性。
可以使用LOGGING指定是否启用表空间的日志记录,可以使用ONLINE指定表空间是否在线,可以使用DEFAULT指定创建的表空间是否为默认表空间。
这些参数可以根据实际需求来进行调整。
创建新的表空间是一个非常重要的操作,可以帮助用户更好地管理数据库中的数据。
通过上述介绍的命令和参数,用户可以根据实际需求来创建自己所需的表空间,并为其指定一些特定的属性和权限。
希望通过本文的介绍,读者对如何创建新的表空间有了更深入的了解。
希望本文对你有所启发,感谢阅读。
第二篇示例:在Oracle数据库中,表空间是用来存储数据库中的数据的逻辑概念,它是管理数据库的重要组成部分。
在数据库的运行过程中,有时候需要创建新的表空间来存储数据,以满足数据库的需求。
oracle增加表空间的四种方法
oracle增加表空间的四种方法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;实例1:在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。
--1查看表空间已经使用的百分比select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"from(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_nameorder by ((a.bytes-b.bytes)/a.bytes) desc“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小比如:test表空间有2个数据文件,datafile1为300MB,datafile2为400MB,那么test表空间的“Sum MB”就是700MB“userd MB”表示表空间已经使用了多少“free MB”表示表空间剩余多少“percent_user”表示已经使用的百分比--2比如从1中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。
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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SYS用户在CMD下以DBA身份登陆:
在CMD中打sqlplus /nolog
然后再
conn / as sysdba
//创建临时表空间
create temporary tablespace user_temp
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
//创建数据表空间
create tablespace test_data
logging
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
//创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
//给用户授予权限
grant connect,resource to username;
//以后以该用户登录,创建的任何数据库对象都属于user_temp 和user_data表空间,这就不用在每创建一个对象给其指定表空间了
撤权:
revoke 权限... from 用户名;
删除用户命令
drop user user_name cascade;
建立表空间
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
一、建立表空间
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
二、建立UNDO表空间
CREATE UNDO TABLESPACE UNDOTBS02
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M
#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间: ALTER SYSTEM SET undo_tablespace=UNDOTBS02;
三、建立临时表空间
CREATE TEMPORARY TABLESPACE temp_data
TEMPFILE '/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_space
from dba_data_files
order by tablespace_name;
1.增加数据文件
ALTER TABLESPACE game
ADD 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.dbf
AUTOEXTEND ON NEXT 100M
MAXSIZE 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 C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE。