sql学习笔记(18)-----------数据库创建过程(二)

2015-07-24 08:11:21 · 作者: · 浏览: 24
s01.dbf'
SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;
数据库创建之后,数据库名称是mynewdb,它的全局数据库名是mynewdb.us.oracle.com。控制文件通过初始化参数CONTROL_FILES来创建。SYS用户的密码是pz6r58,SYSTEM用户的密码是y1tz5p。这两个子句在Oracle9i中是可选,但是如果设定了任何一个密码,那么两个密码都必须设定。该数据库有三个在线重做日志组,通过LOGFILE子句来指定,MAXLOGFILES, MAXLOGMEMBERS, and MAXLOGHISTORY都是对日志文件的限制。MAXDATAFILES指定了数据库可以打开的数据文件的最大数量,该数量会影响到控制文件的大小。在创建数据库的过程中所设定的参数,有些会受到其他因素的影响。比如,设定了MAXDATAFILES之后,Oracle在控制文件中要分配空间存放数据文件的文件名,即使数据库只有一个数据文件。然而,因为控制文件本身也有大小的限制(跟操作系统有关),很有可能不能把所有CREATE DATABASE的参数都设置为他们理论上的最大值。
MAXINSTANCES指定了只有一个实例能够mount和打开数据库。US7ASCII字符集被指定为数据库保存数据使用的字符集。系统表空间由/vobs/oracle/oradata/mynewdb/system01.dbf组成,如果该文件已经存在,将会被重写。系统表空间是本地化管理的表空间。
DEFAULT_TEMPORARY_TABLESPACE子句创建并命名了一个默认的临时表空间。UNDO_TABLESPACE子句创建并命名了一个撤销表空间,用来存储撤销记录,前提是在初始化参数文件中把UNDO_MANAGEMENT设定为AUTO。因为ARCHIVELOG子句在CREATE DATABASE语句中没有调用,因此重做日志文件并不会被归档,这是数据库创建过程的通常做法,ALTER DATABASE语句可以用来切换到ARCHIVELOG模式。初始化文件中的LOG_ARCHIVE_DEST_1,LOG_ARCHIVE_FORMAT, and LOG_ARCHIVE_START三个参数与归档有关。
?
?
?
?
第七步:创建额外的表空间
为了使数据局效率更高,需要创建额外的表空间和文件
CONNECT SYS/password AS SYSDBA
-- create a user tablespace to be assigned as the default tablespace for users
CREATE TABLESPACE users LOGGING
DATAFILE '/vobs/oracle/oradata/mynewdb/users01.dbf'
SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace
CREATE TABLESPACE indx LOGGING
DATAFILE '/vobs/oracle/oradata/mynewdb/indx01.dbf'
SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
EXIT
?
第八步:创建服务器参数文件
Oracle建议创建一个服务器参数文件,作为维护初始化参数的动态方式。下面的脚本根据初始化参数文件创建了一个服务器初始化参数文件,并把该初始化参数文件放在默认位置。实例关闭后重新启动时,就会使用默认位置的服务器初始化参数文件。
CONNECT SYS/password AS SYSDBA
-- create the server parameter file
CREATE SPFILE='/vobs/oracle/dbs/spfilemynewdb.ora' FROM
PFILE='/vobs/oracle/admin/mynewdb/scripts/init.ora';
SHUTDOWN
-- this time you will start up using the server parameter file
CONNECT SYS/password AS SYSDBA
STARTUP
EXIT
?
?
?数据库的优化
?
mysql表复制 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
复制表结构+复制表数据
?
mysql> createtable t3 liket1;
mysql> insertinto t3 select* from t1;
mysql索引 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARYKEY索引
ALTER TABLE table_name ADDINDEX index_name (column_list)
ALTER TABLE table_name ADDUNIQUE (column_list)
ALTER TABLE table_name ADDPRIMARY KEY(column_list)
Create Index
CREATE INDEX index_name ONtable_name (column_list)
CREATE UNIQUE INDEX index_nameON table_name (column_list)
drop index
DROP INDEX index_name ONtalbe_name
alter table table drop
ALTER TABLE table_name DROPINDEX index_name
ALTER TABLE table_name DROPPRIMARY KEY
mysql视图 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
创建视图
?
mysql> createview v_t1 asselect * fromt1 where id>4 and id<11;
Query OK, 0 rows affected (0.00 sec)
view视图的帮助信息
?
mysql> ? view
ALTER VIEW
CREATE VIEW
DROP VIEW
查看视图
1
mysql> show tables;
删除视图v_t1
1
mysql> dropview v_t1;
mysql内置函数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
?
字符串函数
?
CONCAT (string2 [,… ]) //连接字串
LCASE (string2 ) //转换成小写
U