oracle11g创建表空间,oracle 创建的表在那个空间
oracle11g创建表空间,oracle 创建的表在那个空间详细介绍
本文目录一览: 请问oracle 11g 创建300G表空间需要多长时间啊?
1、表空间的大小是有挂在表空间的数据文件的个数和大小决定的。所以要考虑创建多少个数据文件,每个数据文件多大。
2、数据文件可以自动扩展(只要磁盘有空间),没有必要一下子创建300G的表空间。
3、一个表空间300G管理起来不方便,要根据管理的业务进行分类,一类业务创建一个表空间。
4、如果存储大对象数据(多媒体类数据),则要创建大文件(CREATE BIGFILE TABLESPACE)表空间。
创建表空间与数据文件要注意以下几个要点:
⑴ 表空间的划分。要充分考虑数据库所管理的业务种类,设定建立多少个表空间,每个表空间分别所承担的业务。
⑵ 表空间的分配。通过统计分析,计算出每个表空间的数据量,合理分配表空间大小。
⑶ 数据的备份与恢复。在划分表空间的同时需要考虑数据的备份问题。应该能够实现在数据库运行当中,有步骤地使部分表空间进行脱机备份。
当数据库容量比较大的时候,采用Oracle数据库所支持的热备份功能,把数据按不同的业务划分成多个表空间存放,然后规划各个表空间的备份时间。这样可以提高整个数据库的备份效率,降低备份对于数据库正常运行的影响。
⑷ 确定日志的运行方式。如果日志是在归档模式下,则还要考虑归档日志的存放问题。归档日志是一个容量庞大的数据文件集合,需要占用大量的磁盘空间。
⑸ 建立数据文件方案。根据表空间的划分情况和其容量,确定对应数据文件的建立方案。包括数据文件的大小、文件的个数、扩展方式以及存放数据文件的磁盘。
⑹ 设置操作系统目录结构。根据服务器所搭建的磁盘情况与所要建立的数据文件方案以及归档日志,设置操作系统的文件目录结构。
⑺ 将磁盘竞争减少到最小。不仅考虑日志文件与数据文件分开存放,还要考虑临时文件与撤销文件的存放情况,以避免不合理的磁盘I/O,带来数据库性能的下降。
⑻ 大文件段分开。如果数据库中存有大对象数据,则要考虑建立大文件表空间以及所对应的大文件的存放位置、大小以及扩展方式等,以提高数据库的性能。
这个要根据你的存储IO来估算。
建议不要创建一个300G的数据文件给该表空间使用,而是分成多个小数据文件进行。
如果要创建300G一个数据文件,大概需要挺长时间,我感觉30分钟吧。
oracle以什么用户创建表空间
如果没有,也可以通过admin增加权限
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。
对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库。
创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。
关系:一个大的数据中分为几个表空间,创建几个用户然后指定对应的表空间并授权,这样用户就独立操作自己的资源了,每每用户登录进入后,在自己的表空间中新建表啊等等对象,互不干扰。
下面是创建数据库用户的具体过程:
1.假如现在已经建好名为'NewDB'的数据库
此时在D:appAdministratororadata目录下已经存在NewDB目录(注意:我的Oracle11g安装在D盘下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*:appAdministratororadata目录下)。
2.创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp。
SQL> CREATE TEMPORARY TABLESPACE DB_TEMP
TEMPFILE 'D:appAdministratororadataNewDBDB_TEMP.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MASIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
3.创建用户之前先要创建数据表空间,若没有创建则默认永久性表空间是system。
SQL> CREATE TABLESPACE DB_DATA
LOGGING
DATAFILE 'D:appAdministratororadataNewDBDB_DATA.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
其中'DB_DATA'和'DB_TEMP'是你自定义的数据表空间名称和临时表空间名称,可以任意取名;'D:appAdministratororadataNewDBDB_DATA.DBF'是数据文件的存放位置,'DB_DATA.DBF'文件名也是任意取;'size 32M'是指定该数据文件的大小,也就是表空间的大小。
4.现在建好了名为'DB_DATA'的表空间,下面就可以创建用户了:
SQL> CREATE USER NEWUSER IDENTIFIED BY BD123
ACCOUNT UNLOCK
DEFAULT TABLESPACE DB_DATA
TEMPORARY TABLESPACE DB_TEMP;
默认表空间'DEFAULT TABLESPACE'使用上面创建的表空间名:DB_DATA。
临时表空间'TEMPORARY TABLESPACE'使用上面创建的临时表空间名:DB_TEMP。
5.接着授权给新建的用户:
SQL> GRANT CONNECT,RESOURCE TO NEWUSER; --表示把 connect,resource权限授予news用户
SQL> GRANT DBA TO NEWUSER; --表示把 dba权限授予给NEWUSER用户
授权成功。
OK! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!
总结:创建用户一般分四步:
第一步:创建临时表空间
第二步:创建数据表空间
第三步:创建用户并制定表空间
第四步:给用户授予权限
Oracle11g SQLPlus创建表空间显示错误ORA-02180: 无效的 CREATE TABLESPACE 选项 ,求高手解答
create tablespace myspace
datafile 'E:\app\myspace\myspace.dbf'
size 10M autoextend on next 5M maxsize 100M;
你把datafile错写成datefile了。
Oracle 为用户指定表空间和修改用户的表空间语法是什么?
Oracle 为用户指定表空间语法是alter user maclean default tablespace users。
Oracle 修改用户的表空间语法是alter table TABLE_NAME move tablespace TABLESPACENAME。
alter user 用户名 default tablespace 表空间名字 ;--创建时候指定表空间。
alter table schema.AC01 move tablespace AA; --分配到指定表空间。
----------- 案例一:创建表空间及用户
/*第1步:创建临时表空间 */
create temporary tablespace IVMS86X0_TEMP ----测试成功! 注记:表空间名字不能重复,即便存储的位置不一致, 但是dbf文件可以一致。
tempfile 'I:\oracle\oradata\oracle11g\IVMS86X0_TEMP.dbf'
size 50m ---50m为表空间的大小,对大数据量建议用20G,甚至32G。
autoextend on
next 50m maxsize 20480m
extent management local;
/*第2步:创建数据表空间 */
create tablespace IVMS86X0_DATA ----测试成功!
logging
datafile 'I:\oracle\oradata\oracle11g\IVMS86X0_DATA.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
/*第3步:创建用户并指定表空间 */
create user IVMS86X0_WJ identified by IVMS86X0_WJ ---测试成功!
default tablespace IVMS86X0_DATA
temporary tablespace IVMS86X0_TEMP;
/*第4步:给用户授予权限 */
--grant connect,resource to IVMS86X0_WJ; ---测试成功!
grant connect,resource,dba to IVMS86X0_WJ; -----创建权限后,才可以连接 测试成功!
oracle 创建的表在那个空间
创建的表默认是在那个表空间:
若你没在表定义里指定表空间,则把表创建到你登陆帐号的默认表空间里面去,至于每个帐号得默认表空间,可以这样查:
select username,default_tablespace from dba_users;
又如何把它创建到指定的表空间:
可以在表定义时直接指定(如下示例):
create table t ( x int ) tablespace 表空间名;
一些开发大型项目用的Oracle表空间及表建在那个空间一般都是怎么分配:
这个的话,一般根据你表的数据及应用的情况建立多个表空间,分别放数据和索引(可以在定义表或索引时指定表空间),也可以考虑分功能存放一些大表数据,为了性能上的考虑,可以将表空间分布到不同磁盘上,提高io性能.
在默认 的表空间里
创建的时候 在建表语句后加一个TABLESPACE "AFM_P1" 就可以了
大项目是根据实际需要去创建的 数据量的增长情况等等
select * from dba_users t where t.username = 'SYS'
我这个出来的结果会显示用户sys的默认表空间,
创建表的时候.他会,默认创建导当前用户的表空间.
Oracle 11G创建的表默认是在那个表空间?
====>
select default_tablespace from user_users;
查出来的就是用户默认的表空间,建表的时候在不指定,表空间的前提下,默认建到用户默认表空间。
你也可以通过:
select tablespace_name from user_tables where tablespace_name=大写表名; 来查询,当前表所在表空间。
又如何把它创建到指定的表空间,
===>
在建表的时候制定tablespace选项,如:
create table test(id int) tablespace 表空间名;
哪些开发大型项目用的Oracle表空间及表建在那个空间一般都是怎么分配的呢?
====>
oracle中可以根据需要自己规划和建立表空间,并根据需要对数据表进行归类存入不同的表空间,以方便管理。
在实际项目中,如何使用,完全由你自己决定,就好象你有1000万,如何理财,是由你自己说了算的。
但一般,都会建一系列的表空间:表所在的表空间1,表所在的表空间2...
索引所在的表空间1,索引所在的表空间2...。
---
一是希望对你有所帮助。
Oracle新建数据库
一、去官网下载Navicat Premium数据库连接工具,建立Oracle连接,ip地址如果是本机就填localhost,端口默认,服务名就是安装oracle的时候设置的
二、右键数据库,点击新建数据库即可
三、新建数据库后右键表,可以新建表
楼主只要新建一个表空间,并把它分配给一个用户就可以了。
确定楼主是以管理员身份登录的:
1.首先,创建(新)用户:
create user username identified by password;
username:新用户名的用户名
password: 新用户的密码
也可以不创建新用户,而仍然用以前的用户,如:继续利用scott用户
2.创建表空间:
create tablespace tablespacename datafile 'd:\data.dbf' size xxxm;
tablespacename:表空间的名字
d:\data.dbf':表空间的存储位置
xxx表空间的大小,m单位为兆(M)
3.将空间分配给用户:
alert user username default tablespace tablespacename;
将名字为tablespacename的表空间分配给username
4.给用户授权:
grant create session,create table,unlimited tablespace to username;
5.然后再以楼主自己创建的用户登录,登录之后创建表即可。
conn username/password;
1安装Oracle 11g会自带一个叫做SQL Developer的工具,打开SQL Developer,
2在SQL Developer中我们新建一个连接,点击左上角的“绿色加号”
3填写完配置以后可以点击“Test”来测试数据库连接是否正确,如上图所示,左下角有“Status:Success”则表明数据库连接正确。
创建新用户
1连接登陆数据库
2接着为ORCL这个数据库创建新用户
3填写用户名和密码,以及为用户指定表空间
4为用户分配权限
5查看创建用户和分配权限所对应的sql代码。
6使用新用户创建数据库连接,使用新账户创建数据库连接的方法和第一步类似。
楼主说的数的是Oracle 的实例吗?
在oracle数据库可以有多个实例(S_ID),但同一时间只可以使用一个实例。
假设现在在数据库中有两个实例一个是orcl,另一个是oracl,当你登陆到
orcl中你只能看 orcl中的数据而看不到oracl的数据。
如果你安装好了oracle软件。那么运行dcba就可以建库了。
如果没有。那还要安装软件。
Oracle新建数据库可以参考以下操作方法:
1、首先点击桌面左下角的开始图标;
2、在跳出的窗口中找到并点击“Database Configuration Assistant”选项;
3、接着选择“创建数据库”并点击“下一步”选项;
4、接着在跳出来的窗口中输入数据库的参数,点击“下一步”;
5、会弹出对数据库的一些概要,检查无误后点击“完成”选项;
6、进行数据库“orcl”的创建;
7、耐心等待一段时间后,就创建成功了。如果不能解决问题,建议重复上述步骤再操作一遍试试看,如果还是不能解决问题,建议请专业的工作人员帮忙解决问题。
oracle sql developer怎么建本地数据库
1.cmd命令栏连接oracle
sqlplus system/manager as sysdba
2.查看所有用户
select * from all_users;
3.修改用户密码
alter user 用户名 identified by 密码
4.创建表空间
create tablespace 表间名 datafile '数据文件名' size 表空间大小;
5.创建新用户并分配表空间
create user 用户名identified by 密码 default tablespace 表空间
6.为新建用户授权
grant connect,resource,dba to 用户名
7.查看系统数据库文件路径
select name from v$datafile;
8.查看表空间
SELECT Total.name "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name = Total.name;
9.删除ORACLE数据库用户及表空间
删除表空间:
可以先将其offline
alter tablespace xx offline;
将磁盘上的数据文件一同删除
drop tablespace xxx including contents and datafiles;
删除用户:
drop user xxx;
如果用户的schema中有objects ,需要加cascade参数,即drop user xxx cascade;
10.创建ORACLE表空间及用户
/*分为四步 */
/*第1步:创建临时表空间 */
create temporary tablespace travel_temp
tempfile 'D:\oradata\travel_temp.dbf'
size 50m
autoextend on
next 50m maxsize 1024m
extent management local;
/*第2步:创建数据表空间 */
create tablespace travel_data
logging
datafile 'D:\oradata\travel_data.dbf'
size 50m
autoextend on
next 50m maxsize 1024m
extent management local;
/*第3步:创建用户并指定表空间 */
create user travel identified by travel
default tablespace travel_data
temporary tablespace travel_temp;
/*第4步:给用户授予权限 */
grant connect,resource,dba to travel;
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO travel;
11.ORACLE登陆不区分用户名,密码大小写
alter system set sec_case_sensitive_logon=false;
show parameter sec_case_sensitive_logon;
oracle数据库建库两种方式 一个使用dbca创建数据库 另一个就是使用命令行创建
developer是一个连接数据库管理数据库的工具,无法建库
1安装Oracle 11g会自带一个叫做SQL Developer的工具,打开SQL Developer,
2在SQL Developer中我们新建一个连接,点击左上角的“绿色加号”
3填写完配置以后可以点击“Test”来测试数据库连接是否正确,如上图所示,左下角有“Status:Success”则表明数据库连接正确。
创建新用户
1连接登陆数据库
2接着为ORCL这个数据库创建新用户
3填写用户名和密码,以及为用户指定表空间
4为用户分配权限
5查看创建用户和分配权限所对应的sql代码。
6使用新用户创建数据库连接,使用新账户创建数据库连接的方法和第一步类似。
我想在linux下的oracle11g数据库实行导入导出,具体应该怎么做,用户有syst
一、设置Linux电脑字符集,使其跟电脑上的Oracle数据库字符集一致;
在Linux命令行界面,
查询Oracle数据库字符集:
select * from nls_database_parameters t where t.parameter=’NLS_CHARACTERSET’;
查询结果:ZHS16CGB231280
然后vi /home/oracle/.bash_profile
export NLS_LANG=american_america.ZHS16CGB231280
source /home/oracle/.bash_profile
二、导出属于wcall用户的Oracle数据库
exp wcall/wcall@eoss file=wcall.dmp owner=wcall; //导出数据库
三、在Windows中安装Oracle.10g.for.Windows,(示例中数据库安装在D盘,如果按照在其他磁盘,下面创建表空间的时候,需要做相应的修改)然后创建数据库eoss,注意安装的数据库字符集要跟原来数据库的相同。然后打开SQLPLUS,用system帐户登陆后创建用户wcall。
create user wcall identified by wcall; //创建用户
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO wcall; //授予权限
create tablespace CC_CALL
logging
datafile 'D:\oracle\product\10.1.0\Db_1\cc.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local; //创建表空间CC_CALL
create tablespace CC_CALL_HIS
logging
datafile 'D:\oracle\product\10.1.0\Db_1\cc_his.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local; //创建表空间CC_CALL_HIS
四、导入数据库
IMP wcall/wcall@eoss fromuser=wcall touser=wcall file=wcall.dmp STATISTICS =none;
oracle11g 系统表空间满 会自动增加吗
表空间有一个autoextend的属性,如果是on就会自动增加。如果off的话,表空间满了就会报错,要手动的增加表空间。
alter tablespace users add datafile '/home/oracle/oradata/xxx/users02.dbf' size 10000M autoextend on ;如果是磁盘满了的话,就要增加磁盘了。
会!
AUTOEXTEND ON
表空间满了,是否会自动增加取决于创建表空间时是否启用自动扩展。
如:
create tablespace shoppingdatafile 'shopping.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;如果开始了autoextend on则代表表空间会自动扩展,扩展的规则则是next 50m maxsize 20480m,即每次扩展50兆的容量,最大可扩展到20480兆。