Oracle代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\user>color F4
C:\Documents and Settings\user>set oracle_sid=orcl
C:\Documents and Settings\user>sqlplus sys/ADMIN as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 12月 3 18:04:04 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> set serveroutput on
//用户自定义的异常
SQL> select empno,ename comm from scott.emp;
EMPNO COMM
---------- ----------
7369 SMITH
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
EMPNO COMM
---------- ----------
7900 JAMES
7902 FORD
7934 MILLER
已选择14行。
SQL> declare
2 var_comm number;
3 begin
4 select comm into var_comm
5 from scott.emp
6 where ename='TURNER';
7 if var_comm=0 then
8 raise zero_divide;
9 end if;
10 exception
11 when zero_divide then
12 dbms_output.put_line('补贴费为0');
13 end;
14 /
补贴费为0
PL/SQL 过程已成功完成。
//序列(完成自动编号的功能)
//创建序列
SQL> create sequence seq2
2 increment by 1
3 start with 5
4 maxvalue 100
5 minvalue 1
6 nocycle;
序列已创建。
SQL> create table region(id number,region_name varchar2(2)) tablespace users;
表已创建。
//删除表
SQL> drop table region;
表已删除。
SQL> create table region(id number,region_name varchar2(12)) tablespace users;
表已创建。
SQL> insert into region values(seq2.nextval,'Asia');
已创建 1 行。
SQL> insert into region values(seq2.nextval,'China');
已创建 1 行。
SQL> insert into region values(seq2.nextval,'Idia');
已创建 1 行。
SQL> select * from region;
ID REGION_NAME
---------- ------------
7 Asia
8 China
9 Idia
SQL> alter sequence seq2 increment by 3;
序列已更改。
SQL> insert into region values(seq2.nextval,'America');
已创建 1 行。
SQL> insert into region values(seq2.nextval,'Japan');
已创建 1 行。
SQL> select * from region;
ID REGION_NAME
---------- ------------
7 Asia
8 China
9 Idia
12 America
15 Japan
SQL> drop sequence seq2;
序列已删除。
SQL> drop table region;
表已删除。
//第十章:表空间
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
已选择6行。
//建立普通表空间
SQL> create tablespace space01
2 datafile'd:\space01.dbf'
3 size 5m
4 extent management local;
表空间已创建。
SQL> create tablespace space02
2 datafile'd:\space02.dbf'
3 size 5m
4 extent management local autoallocate;
表空间已创建。
SQL> create tablespace space03
2 datafile'd:\space03.dbf'
3 size 5m
4 extent management local uniform;
表空间已创建。
//本地管理表空间的存储方式
//创建一个具有手动存储方式的表空间
SQL> create tablespace space04
2 datafile'd:\space04.dbf'
3 size 5m
4 extent management local uniform size 512
5 segment space management manual;
表空间已创建。
//建立大文件的表空间
SQL> select * from database_properties
2 where property_name='DEFAULT_TBS_TYPE';
PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
DEFAULT_TBS_TYPE
SMALLFILE
Default tablespace type
SQL> column PROPERTY_NAME format a20;
SQL> column PROPERTY_NAME format a20
SQL> column PROPERTY_VALUE format a20
SQL> column description format a25
SQL> select * from database_properties
2 where property_name='DEFAULT_TBS_TYPE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
-------------------- -------------------- -------------------------
DEFAULT_TBS_TYPE SMALLFILE Default tablespace type
SQL> alter database set default smallfile tablespace;
数据库已更改。
SQL> create bigfile tablespace big_tbs
2 datafile 'd:\bigfile_tbs.dbf'
3 size 5m;
表空间已创建。
SQL> select tablespace_name,bigfile from dba_tablespaces;
TABLESPACE_NAME BIG
------------------------------ ---
SYSTEM NO
UNDOTBS1 NO
SYSAUX NO
TEMP NO
USERS NO
EXAMPLE NO
SPACE01 NO
SPACE02 NO
SPACE03 NO
SPACE04 NO
BIG_TBS YES
已选择11行。
SQL> show parameter db_block_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
//创建临时表空间
SQL> create temporary tablespace temp02
2 tempfile'd:\temp02.dbf'
3 size 4m
4 extent management local uniform size 256k;
表空间已创建。
//建立大文件的临时表空间
SQL> create bigfile temporary tablespace big_temp03
2 tempfile'd:\big_temp03.dbf'
3 size 4m;
表空间已创建。
//建立非标准块表空间
SQL> alter system set db_16k_cache_size=20m;
系统已更改。
SQL> create tablespace big_block_tbs
2 datafile 'd
:\big_block_tbs01.dbf'
3 size 2m blocksize 16k;
表空间已创建。
SQL> select tablespace_name,block_size
2 from user_tablespaces;
TABLESPACE_NAME BLOCK_SIZE
------------------------------ ----------
SYSTEM 8192
UNDOTBS1 8192
SYSAUX 8192
TEMP 8192
USERS 8192
EXAMPLE 8192
SPACE01 8192
SPACE02 8192
SPACE03 8192
SPACE04 8192
BIG_TBS 8192
TABLESPACE_NAME BLOCK_SIZE
------------------------------ ----------
TEMP02 8192
BIG_TEMP03 8192
BIG_BLOCK_TBS 16384
已选择14行。
SQL> drop tablespace space01;
表空间已删除。
//创建一个临时表空间
SQL> create temporary tablespace mytemp01 tempfile'd:\mytempol.dbf' size 2m;
表空间已创建。
SQL> column name format a50
SQL> select file#,status,name from v$tempfile;
FILE# STATUS NAME
---------- ------- --------------------------------------------------
1 ONLINE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF
2 ONLINE D:\MYTEMPOL.DBF
SQL> create temporary tablespace mytemp02 tempfile'd:\mytempo2.dbf' size 2m tabl
espace group group1;
表空间已创建。
SQL> alter tablespace mytemp01 tablespace group group2;
表空间已更改。
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP2 MYTEMP01
GROUP1 MYTEMP02
SQL> alter tablespace mytemp01 tablespace group group1;
表空间已更改。
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 MYTEMP01
GROUP1 MYTEMP02
SQL> alter tablespace mytemp01 tablespace group '';
表空间已更改。
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 MYTEMP02
SQL> select file#,status,name from v$tempfile;
FILE# STATUS NAME
---------- ------- --------------------------------------------------
1 ONLINE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF
2 ONLINE D:\MYTEMPOL.DBF
3 ONLINE D:\MYTEMPO2.DBF
SQL> drop tablespace mytemp02 includeing contents and datafiles;
SQL> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GR
OUP1 MYTEMP02
//查表空间
SQL> create tablespace space01 datafile'd:\space01.dbf' size 2m extent managemen
t local;
表空间已创建。
//修改表空间状态属性
SQL> alter tablespace space01 offline normal;
表空间已更改。
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
MYTEMP01 ONLINE
MYTEMP02 ONLINE
SPACE01 OFFLINE
已选择9行。
SQL> create table a(X number) tablespace space01;
ORA-01542: 表空间 'SPACE01' 脱机, 无法在其中分配空间
SQL> alter tablespace space01 online;
表空间已更改。
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
MYTEMP01 ONLINE
MYTEMP02 ONLINE
SPACE01 ONLINE
已选择9行。
SQL> create table a(X number) tablespace space01;
表已创建。
SQL> insert into a values (1 |2| 3);
SQL> commit;
提交完成。
//设置表空间
SQL> select default_tablespace from user_users;
DEFAULT_TABLESPACE
------------------------------
SYSTEM
SQL> create table b(X number);
表已创建。
SQL> drop table b;
表已删除。
SQL> select property_name,property_value from databas_properties
2 where property_name in
3
SQL> select property_name,property_value from database_properties
2 where property_name in
3 ('DEFAULT_PERMANENT_TABLESPACE','DEFAULT_TEMP_TABLESPACE');
PROPERTY_NAME
-------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACE
TEMP
DEFAULT_PERMANENT_TABLESP
ACE
USERS
SQL> column property_name format a30
SQL> column property_name format a25
SQL> select property_name,property_value from database_properties
2 where property_name in
3 ('DEFAULT_PERMANENT_TABLESPACE','DEFAULT_TEMP_TABLESPACE');
PROPERTY_NAME
-------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACE
TEMP
DEFAULT_PERMANENT_TABLESP
ACE
USERS
//删除表空间
SQL> alter database default tablespace users;
数据库已更改。
SQL> alter database default temporary tablespace temp;
SQL> select tablespace_name,sum(bytes)/1024/1024
free_MB
2 from dba_free_space group by tablespace_name;
TABLESPACE_NAME FREE_MB
------------------------------ ----------
UNDOTBS1 8.25
SYSAUX 1.4375
SPACE01 1.875
USERS 1.8125
SYSTEM 5.8125
EXAMPLE 22.3125
已选择6行。
//列出数据文件、表空间以及大小。
SQL> column file_name format a52
SQL> column tablespace_name format a12
SQL> select file_name,tablespace_name,
2 round(bytes/1024000)MB from dba_data_files
3 order by file_name;
FILE_NAME TABLESPACE_N MB
---------------------------------------------------- ------------ ----------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF EXAMPLE 102
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF SYSAUX 246
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF SYSTEM 492
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF UNDOTBS1 36
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF USERS 5
D:\SPACE01.DBF SPACE01 2
已选择6行。
SQL> select b.tablespace_name,
2 sum(b.bytes)/1024/1024 total_MB,
3 sum(a.bytes)/1024/1024 free_MB,
4 round(sum(a.bytes)/sum(b.bytes)*100,1) free_total
5 from dba_free_space a,dba_data_files b
6 where a.file_id=b.file_id
7 group by b.tablespace_name;
TABLESPACE_N TOTAL_MB FREE_MB FREE_TOTAL
------------ ---------- ---------- ----------
UNDOTBS1 1400 10.625 .8
SYSAUX 240 1.4375 .6
SPACE01 2 1.875 93.8
USERS 5 1.8125 36.3
SYSTEM 480 5.8125 1.2
EXAMPLE 300 22.3125 7.4
已选择6行。
//修改表空间大小
SQL> alter tablespace myspace01
2 add datafile'd:\space02.dbf' size 10m;
SQL> alter database datafile'd:\space01.dbf' resize 26m;
数据库已更改。
SQL> create tablespace space03
2 datafile'd:\space03.dbf' size 2m
3 autoextend on next 2m
4 maxsize 30m extent management local;
表空间已创建。
SQL> alter database
2 datafile'd:\space01.dbf' autoextend on next 512k
3 maxsize 30m;
数据库已更改。
SQL> alter database
2 datafile'd:\space01.dbf' autoextend off;
数据库已更改。