Oracle+11g+笔记(4)-Oracle的基本操作
4、Oracle的基本操作
4.1 Oracle的启动和关闭
4.1.1 启动
启动数据库的语法如下:
STARTUP [NOMOUNT|MOUNT|OPEN|FORCE|RESTRICT|EXCLUSIVE][PFILE='pfile_name'];
1、startup nomount
非安装启动,这种方式下启动可执行:重建控制文件、重建数据库,读取init.ora文件,启动instance,即启
动SGA和后台进程,这种启动只需要init.ora文件。
SQL> conn sys/sysroot as sysdba
SQL> startup nomount;
2、startup mount
安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重新定位数据文
件、重做日志文件。
执行nomount,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行
校验检查。
SQL> conn sys/sysroot as sysdba
SQL> startup mount;
3、startup open
先执行nomount,然后执行mount,再打开包括Redo log文件在内的所有数据库文件,这种方式下可访问数据库
中的数据。
SQL> conn sys/sysroot as sysdba
SQL> startup open;
数据库有3种启动模式,分别代表启动数据库的3个步骤,如表所示。当数据库管理员使用STARTUP命令时,可以
指定不同的选项来决定将数据库的启动推进到哪个启动模式。在进入某个模式后,可以使用ALTER DATABASE命令
来将数据库提升到更高的启动模式,但不能使数据库降低到前面的启动模式。

4、startup
等于以下三个命令:
startup nomount
alter database mount
alter database open
5、startup restrict
约束方式启动,这种方式能够启动数据库,但只允许具有一定特权的用户访问,非特权用户访问时,会出现以下提
示:ERROR:ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用。
SQL> conn sys/sysroot as sysdba
SQL> startup restrict;
6、startup force
强制Oracle数据库启动方式,当不能关闭数据库时,可以用startup force来完成数据库的关闭,先关闭数据
库,再执行正常启动数据库命令。
SQL> conn sys/sysroot as sysdba
SQL> startup force;
7、startup pfile=参数文件名
带初始化参数文件的启动方式,先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora。
8、startup EXCLUSIVE
独占和共享启动。这种启动方式只允许一个例程使用该数据库;共享启动的参数是shared,表示允许多个例程并
行使用该数据库,即将数据库装入多个现场。
4.1.2 关闭
SQL*Plus关闭数据库的语法如下:
SHUTDOWN [NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT];
1、shutdown normal
正常方式关闭数据库。
2、shutdown immediate
立即方式关闭数据库,在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,而是在Oracle执行某些
清除工作后才关闭(终止会话、释放会话资源),当使用shutdown不能关闭数据库时,shutdown immediate可以
完成数据库关闭的操作。
3、shutdown abort
直接关闭数据库,正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行
shutdown abort后,重新启动数据库需要很长时间。
4、shutdown transactional
TRANSACTIONAL选项比NORMAL 选项稍微主动些,它能在尽可能短的时间内关闭数据库。按TRANSACTIONAL 选项
关闭数据库时,Oracle 将等待所有当前未提交的事务完成后再关闭数据库。
4.2 表的创建与改进
4.2.1 表与列的命名
-
长度必须在
1~30个字节之间。 -
必须以一个字母开头。
-
能够包含字母、数值、下划线符号
_、英镑符号#和美元符号$。 -
不能使用保留字,如CHAR 或是 NUMBER。
-
若名称被围在双引号
""中,唯一的要求是名称的长度在1~30个字符之间,并且不含有嵌入的双引号。 -
每个列名称在单个表内必须是唯一的。
4.2.2 列的类型
Oracle数据表中列的数据类型和PL/SQL中的数据类型基本相同,在一些细节上稍有差异。Oracle 数据表中列的
数据类型列举如下:
(1)、字符数据类型
CHAR[(<size>)[BYTE|CHAR])]
NCHAR[(<size>)]
VARCHAR2(<size>[BYTE|CHAR])
NVARCHAR2(<size>)
(2)、大对象数据类型
CLOB
NCLOB
BLOB
BFILE
(3)、数字数据类型
NUMBER[(<precision>[.<scale>])]
(4)、日期和时间数据类型
DATE
TIMESTAMP[(<precision>)]
TIMESTAMP[(<precision>)] WITH TIME ZONE
TIMESTAMP[(<precision>)] WITH LOCAL TIME ZONE
INTERVAL DAY[(<precision>)] TO SECOND
(5)、二进制数据类型
ROW(<size>)
LONG ROW
(6)、行数据类型
ROWID
UROWID
4.2.3 列的约束
在Oracle中可以建立的约束条件包括NOT NULL、UNIQUE、CHECK,PRIMARY KEY、FOREIGN KEY。
4.2.4 表的创建
用CREATE TABLE命令创建表。
在Oracle数据库中,CREATE TABLE语句基本语法格式是:
CREATE [[GLOBAL] TEMPORORY|TABLE|schema.]table_name
(columnl datatype1[DEFAULT exp1][columnl constraint],
column2 datatype2[DEFAULT exp2][column2 constraint]
[table constraint])
[ON COMMIT(DELETE| PRESERVE}ROWS]
[ORGANIZITION{HEAP|INDEX|EXTERNAL...}]
[PARTITION BY...(...)]
[TABLESPACE tablespace_name]
[LOGGING|NOLOGGING]
[COMPRESSINOCOMPRESS];
其中:
-
columnl datatype1为列指定数据类型。 -
DEFAULT exp1为列指定默认值。 -
column1 constraint为列定义完整性约束(constraint)。 -
[table constraint]为表定义完整性约束(constraint)。 -
[ORGANIZITION{HEAP|INDEX|EXTERNAL...}]为表的类型,如关系型(标准,按堆组织)、临时型、索引型、外部型或者对象型。
-
[PARTITION BY...(...)]为分区及子分区信息。 -
[TABLESPACE tablespace name]指示用于存储表或索引的表空间。 -
[LOGGING|NOLOGGING]指示是否保留重做日志。 -
[COMPRESS|NOCOMPRESS]指示是否压缩。
如果要在自己的方案中创建表,要求用户必须具有CREATE TABLE系统权限。如果要在其他方案中创建表,则要求
用户必须具有CREATE ANY TABLE系统权限。表的创建者必须在指定的表空间上具有空间配额或具有UNLIMITED
TABLESPACE 系统权限。
4.2.5 修改表结构
表在创建之后还允许对其进行更改,如添加或删除表中的列、修改表中的列,以及对表进行重新命名和重新组织
等。
普通用户只能对自己方案中的表进行更改,而具有ALTERANYTABLE系统权限的用可以修改任何方案中的表。需要
对已经建立的表进行修

本文围绕Oracle 11g展开,介绍了其基本操作。包括数据库的启动和关闭方式,表的创建、改进,如命名规则、列类型与约束等;还涉及索引的创建与删除,视图的创建、更改和删除;最后阐述了数据操纵与查询,如复制原表插入数据、使用视图操作及PL/SQL语言应用等。
最低0.47元/天 解锁文章
1734

被折叠的 条评论
为什么被折叠?



