您的位置:首页 > 数据库 > Oracle

oracle sqlplus脚本建库总结

2009-08-06 17:04 405 查看
/******************************************************************/
--查询表空间参数
select tablespace_name,min_extents,max_extents,pct_increase,status from dba_tablespaces;


--查询数据文件信息
--autoextensible数据库已满后是否自动扩展
select tablespace_name,bytes,autoextensible,file_name from dba_data_files;

/******************************************************************/
--创建表空间
-- 一般信息
-- datafile:数据文件目录
-- 存储
-- autoextend:数据文件满后自动扩展
-- on next:增量
-- maxsize unlimited:最大容量无限制
-- SIZE:文件大小
-- 存储
-- 启用事件记录:logging为生成从做日志并可恢复,nologging为快速更新不生成日志且不可恢复
-- Management local:本地管理
-- 缺省:自动分配
-- Uniform size:统一分配
-- Management dictionary:在字典中管理
-- Default storage:覆盖默认区值
-- Initial:初始大小
-- Next :下一个大小
-- Minextents:最小数量
-- Maxextents unlimited :最大数量不限制
-- Pctincrease:增量,单位"%"
-- Minimum extent:最小区大小

create tablespace "test"
nologging
datafile 'g:/oracle/oradata/myoracle/test.ora' size 5m reuse
autoextend on next  1m maxsize  unlimited extent
management local uniform size 12k;


--最好写成相对路径,免得出错
create tablespace "test"
nologging
datafile '../database/test.ora' size 5m reuse
--建议用'../oradata/test.ora'
autoextend on next  1m maxsize  unlimited extent
management local uniform size 12k;


create tablespace "test"
logging
datafile 'g:/oracle/oradata/myoracle/test.ora' size 5m extent
management dictionary default storage ( initial 1k next 2k
minextents 5 maxextents 67 pctincrease 4 ) minimum extent 3k;
/******************************************************************/
--增加表空间, 注意这里test.ora1不能与原表空间文件名称相同
--添加一个新的大小为5M数据库文件test.ora1
alter tablespace mytesttablespace add datafile 'c:/test/test.ora1' size 5M;
/******************************************************************/
--修改表空间数据库文件属性,myoracle为sid
--将test.ora1数据库文件改为3M,其中resize可以是ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP
alter database myoracle datafile 'c:/test/test.ora1' resize 3M;

alter database myoracle datafile '$ORACLE_HOME/oradata/undo102.dbf' autoextend on next 10m maxsize 500M;
/******************************************************************/
/*删除表空间
语法:drop tablespace tablespace_name including contents and datafiles;
删除表空间时要系统不会删除表空间数据库文件,要彻底删除要手动删除
*/
drop tablespace mytesttablespace including contents and datafiles;
/******************************************************************/
--创建用户
--命令:
--create user 名称 identified by 口令 default tablespace "默认表空间名" temporary tablespace "temp" account unlock
-- 一般属性
-- default tablespace :默认表空间名
-- temporary tablespace :临时表空间名,默认TEMP
-- account :用户状态,默认unlock 未锁定;lock 锁定
create user "test"  profile "default"
identified by "test" default tablespace "test"
temporary tablespace "temp"
account unlock;


--可以写成
create user "test"  profile "default"
identified by "test" default tablespace "test" ;
/******************************************************************/
--用户授权
--grant "connect,resource,dba" to "someuser" with admin option;
-- WITH ADMIN OPTION :管理选项
--授予usertest DBA权限
grant dba to "usertest" with admin option;
--取消授权
--REVOKE "RESOURCE" FROM "SCOTT";
/******************************************************************/
--建表
--在usertest方案下建表,注意表名不能用关键字,否则报错ORA-00903: 表名无效
--语法:
-- create table [schema.]<table_name>(
-- <column_name><data type>[default <expression>]<constraint>[,]
-- .......
-- )TABLESPACE TABLESPACE_NAME;
--schema:表示所属的用户名称或模式名称亦即方案
--table_name:表示新建表的名称
--column_name:表示字段名称
--data type:表示字段的数据类型
--default <expression>:表示字段的默认值
--constraint:表示约束条件
--TABLESPACE_NAME:所用表空间
create table "test"."test" (
"id" number(10) default 0 not null,
"name" varchar2(20) not null,
"info" varchar2(1000),
primary key("id")
)tablespace "test" ;


--也可以写成
create table "test"."test" (
"id" number(10) default 0 primary key,
"name" varchar2(20) not null,
"info" varchar2(1000)
)tablespace "test" ;
/******************************************************************/
--插入数据
--语法:
-- insert into tablename (column1,column2,...) values (expression1,expression2,...);
insert into "test"."test" ("id" ,"name" ,"info" ) values (1 ,'testname' ,''  );


--也可以写成
insert into "test"."test" values (1 ,'testname' ,''  );

/******************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: