Oracle数据库表的创建

Oracle数据库表的创建
Oracle数据库表的创建

实验一Oracle数据库表的创建

一、实验目的:

1.熟悉ORACLE服务器产品、能够查看ORACLE服务器安装结果,掌握服务器上的文件结构。

2.熟悉及掌握ORACLE三种实用工具:SQL-PLUS、SQL-PLUS WORKSHEET、企业管理控制台。

3.了解库、表的结构特点。

4.了解Oracle9i的基本数据类型。

5.学会使用T-SQL语句创建和管理表。

二、实验器材:

计算机:P4 2.4、80G硬盘、512M内存、winodwsXP操作系统、ORACLE9I FOR WINDOWS 三、实验说明:

本次实验的计算机上已经安装了ORACLE9I FOR WINDOWS 数据库,其登录名为:sys或system;用户的密码:manager。

四、实验内容和步骤:

(一)Oracle9i工具的熟悉与使用

1.查看数据库服务器上的安装结果

(1)查看服务器上安装的产品

在操作系统界面上选择【开始】/【程序】/【Oracle Installation Products】/【Universal Installer】选项,调出Oracle通用安装器,单击【已安装产品】按钮将看到已经成功安装在服务器上的Oracle9i产品组件,如图所示。

(2)查看服务器的程序组

在操作系统界面上选择【开始】/【程序】可以看到安装完Oracle9i系统后的程序组有两类,一类是“Oracle Installation Products”,另一类是“OraHome92”。前者是通用安装工具,后者包括了八类程序组,如图所示。

(3)查看服务器的服务

安装完毕后,数据库服务器必须以后台服务的方式运行起来,才能保证给客户端(或用户)提供各种对数据的管理和操作功能。

当完成数据库服务器的安装后,基本的服务已经自动运行起来了,但还有些服务需要手工启动。

对后台服务的管理操作为:双击【我的电脑】/【控制面板】/【管理工具】/【服务】选项,将出现该计算机上的所有服务列表,启动方式如果为“自动”表示该服务随数据库服务器的启动而启动。如果状态栏为空,表明对应服务未启动,需要人工手动启动。

(4)服务器上的文件结构

数据库服务器上Oracle9i的文件结构如图所示。从图中可看到在“Oracle”目录下有三个文件夹。

● admin:该文件夹下面按照数据库系统标识名称建立子文件夹(如dbsepi),在每个子文件夹下存放有对该数据库的管理信息和日志文件。

● ora92:存放的是整个数据库服务器的程序文件。

● oradata:该文件夹下面按照数据库系统标识名称建立子文件夹(如dbsepi),在每个子文件夹下存放有该数据库的数据文件、控制文件、索引文件等。

2.SQL PLUS工具使用

(1)启动SQL Plus

在操作系统界面上选择【开始】/【程序】/【Oracle-OraHome92】/【Application Development】/【SQL Plus】选项,出现图所示的登录窗口。

SQL Plus是直接作用在Oracle数据库上的,要使用这个工具必须有一个合法的Oracle 用户名和口令,才能进入SQL Plus工具,进行SQL命令的操作。主机字符串使用了网络服务名dbsepi。单击【确定】按钮,出现如图所示的窗口,表明已经进入SQL Plus工作环境。

SQL Plus工作环境是一个交互式操作环境,是一个行编辑工具。用户可以在该环境下键入SQL命令并执行。SQL Plus环境提供了5个菜单选项。其中,【文件】菜单的功能是存取SQL命令或PL/SQL程序的文件,该文件的扩展名一般为.sql,也可以是.txt文件。

(2)SQL Plus的编辑器

可以使用两种编辑器键入命令或程序。

a.缓冲区编辑器

SQL Plus的编辑缓冲区一次只能编辑一行语句或命令。在缓冲区编辑器中,可以输入3种类型的命令。

●SQL命令:SQL语句。

●PL/SQL程序:PL/SQL语言编写的程序。

●SQL Plus命令:用来控制SQL Plus工具的运行方式。

b.外部编辑器

首先定义外部编辑器,然后调用外部编辑器。

定义外部编辑器的方法是:从菜单栏中单击【编辑】/【编辑器】/【定义编辑器】选项,得到如图所示定义编辑器窗口。在此窗口中,输入编辑器的名称即可(系统默认的外部编辑器为“Notepad”记事本),单击【确定】按钮完成定义编辑器的操作。

调用外部编辑器的方法是:从菜单栏中单击【编辑】/【编辑器】/【调用编辑器】选项.

C.应用实例

通过以下的例子熟悉SQL Plus中编辑器和操作命令的使用方法。

●用SQL命令显示部门表的内容。

SQL>SELECT * FROM scott.dept;↙

屏幕将显示dept表中的内容。

●以dept.sql文件名保存当前缓冲区的内容。

SQL>SA VE dept.sql↙

屏幕将提示“已创建文件dept.sql”。

●清空缓冲区。

SQL>DEL↙

清空缓冲区意味着缓冲区中无可执行的命令,此时输入执行命令将有出错提示。例如:

SQL>R↙

屏幕将提示“SP2-0103:SQL缓冲区中无可运行的程序”。

●调入dept.sql文件到缓冲区(内存)。

有两种方式,一种通过文件菜单打开调入,另一种则通过GET 命令调入。用命令方式调入文件的操作如下:

SQL>GET dept.sql ↙

屏幕将显示“1 SELECT * FROM scott.dept;”。 再次执行同样的SQL 命令。

一旦文件内容调入到内存后,用符号“/”或“R ”命令执行 即可。

6. SQL PLUS WORKSHEET 工具使用

(1)启动SQL Plus Worksheet

在操作系统界面上选择【开始】/【程序】/【Oracle-OraHome92】/【Application Development 】/【SQLPlus Worksheet 】选项,出现登录窗口。

输入合法的Oracle 用户名和口令、网络服务名,从下拉列表框中选择“Normal ”身份连接。单击【确定】按钮,出现如图所示的窗口,表明已经进入SQL Plus Worksheet 工作环境。

(2)操作方式

SQLPlus Worksheet 编辑器的操作很方便,可以使用窗口上方的菜单栏,也可以使用左边的图标。

(3)应用实例

在SQLPlus Worksheet 中输入SQL 命令显示部门表的内容。 操作步骤如下:

(1)在输入窗口中输入命令。

(2)单击【执行】图标执行命令,查看结果窗口的内容。

4.企业管理控制台的使用

(1)启动数据库管理器

●在操作系统界面上选择【开始】/【程序】/【Oracle-OraHome92】/【Enterprise Manager

Console】选项,出现图所示的登录窗口。选中【独立启动】单选钮,单击【确定】按钮。

●出现如图所示的窗口。【数据库】节点下面是已经存在的数据库。

●单击【DBSEPI】数据库,将出现如图所示数据库连接信息窗口。

输入用户名、口令、服务以及连接身份,单击【确定】按钮,出现如图所示的窗口。

(2)方案管理器

方案管理器(也称模式管理器)的主要功能是对各种数据库对象进行管理。逐级展开【方案】节点后,出现如图所示的窗口。

选中某个数据库对象后,单击鼠标右键或选择相应的菜单栏可以对该数据库对象进行任何管理,包括向数据表中录入数据等。

(3)安全管理器

安全管理器的主要功能是对用户、角色以及概要文件进行管理。逐级展开【安全性】节点后,出现如图所示的窗口。

双击某个已知的用户名后,可以看到该用户所拥有的各种权限。

(4)存储管理器

存储管理器的主要功能是对数据文件、表空间、控制文件、日志文件等进行管理。逐级展开【存储】节点后,出现窗口。

双击右窗口的某一项,可以查阅和修改具体的参数设置。

(二)创建数据库

(1)语法格式:

CREATE DATABASE database_name

[CONTROLFILE REUSE]

[LOGFILE[GROUP n] ('path\file_name') [SIZE n [K | M]

[REUSE]], …n]

[MAXLOGFILES n]

[MAXLOGMEMBERS n]

[MAXLOGHISTORY n]

[MAXDATAFILES n]

[MAXINSTANCES n]

[ARCHIVELOG | NOARCHIVELOG]

[CHARACTER SET charset]

[NATIONAL CHARACTER SET charset]

[DATAFILE 'path\file_name' [SIZE n [K | M] [REUSE]]

[AUTOEXTEND [ OFF | ON [NEXT n [K | M] MAXSIZE [UNLIMITED| n [K | M]]]]]] 参数的含义:

“database_name”:创建的数据库名称。

“CONTROLFILES REUSE”:重用已经存在的控制文件。

“LOGFILE”:指定重做日志文件名和重做日志组名。

“MAXLOGFILS”:最大的重做日志组数量。

“MAXLOGMEMBERS”:每个重做日志组中最大的日志文件数。“MAXLOGHISTORY”:可以自动归档的最大日志文件数量。“MAXDATAFILES”:数据文件的最大数量。

“MAXINSTANCES”:数据库中可以同时打开的例程数。“ARCHIVELOG”:采用归档模式。

“NOARCHIVELOG”:不采用归档模式。

“CHARACTER SET”:指定使用的字符集。

“DATAFILE”:指定数据文件名。

“AUTOEXTEND”:子句用于指定数据文件自动扩展。

【实验内容】

1.使用OEM创建数据库STUxxxx(xxxx为自己学号的后四位),参数自定。

2.在STUxxxx数据库中使用T-SQL语句创建如下的表结构:

(1)学生情况表(XS)结构

(2)课程表(KC)结构

(3)学生与课程表(XS_KC)结构

3. 分别用不同的方法向表中输入数据:

学生情况表(XS)

课程表(KC)

学生与课程表(XS_KC)

五、思考

1.oracle数据库的逻辑结构和物理结构层次关系?

2.请比较oracle sqlplus 及sqlplus worksheet的异同?

3.比较用OEM创建数据库表和SQL创建数据库表的异同?4.小结实验心得体会?

oracle create database 手动创建数据库

oracle create database 手动创建数据库 oracle create database 手动创建数据库(2012-04-17 10:15:08) create the sql file: XXX.sql CREATE DATABASE ratl1252 USER SYS IDENTIFIED BY rati0nal USER SYSTEM IDENTIFIED BY rati0nal LOGFILE GROUP 1 ('/Oracle/product/10.2.0/Db_1/oradata/ratl1252/redo01.log') SIZE 100M, GROUP 2 ('/Oracle/product/10.2.0/Db_1/oradata/ratl1252/redo02.log') SIZE 100M, GROUP 3 ('/Oracle/product/10.2.0/Db_1/oradata/ratl1252/redo03.log') SIZE 100M MAXLOGFILES 16 MAXLOGMEMBERS 5

MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 2 CHARACTER SET WE8MSWIN1252 DATAFILE '/Oracle/product/10.2.0/Db_1/oradata/ratl1252/system01.dbf' SIZE 2048M REUSE EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE '/Oracle/product/10.2.0/Db_1/oradata/ratl1252/sysaux01.dbf' SIZE 1024M REUSE DEFAULT TEMPORARY TABLESPACE Temp TEMPFILE '/Oracle/product/10.2.0/Db_1/oradata/ratl1252/temp01.dbf' SIZE 2048M REUSE; add below settings to init.ora file: undo_management=AUTO undo_tablespace=UNDOTBS export $ORACLE_SID=SID_Name sqlplus /nolog conn /as sysdba startup nomount

ORACLE项目2:关于创建表参数的详细说明

命令格式(红字为关键字,紫字为注释) CREATE TABLE“方案名”.“表名” (字段1 数据类型(长度), 字段2 数据类型(长度), ……., 字段n 数据类型(长度), CONSTRAINT约束名1 约束类型(约束参数), CONSTRAINT约束名2 约束类型(约束参数) ……… CONSTRAINT约束名n 约束类型(约束参数)) TABLESPACE “表空间名” STORAGE (INITIAL 1M*第一个区的大小*NEXT 1.5M*第二个区的大小* MINIEXTENTS 2 *创建时已分配的区数* MAXEXTENTS 5 *可分配最大区数* PCTINCREASE10 *每个区相对于上个区增长的百分比* BUFFER_POOL DEFAULT *其参数有DEFAUT,RECYCLE和KEEP*) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255; 要点释义 PCTFREE:指定表的每一个数据块为将来更新现有表行所保留的空间百分比。其值必须在0和99之间,默认值为10。 PCTUSED:指定维持表的每个数据块已用空间的最小百分比。当块中已用空间低于PCTUSED的时候,该块就成为新行插入对象。默认值40。 注意:PCTFREE和PCTUSED之和要小于100,两者结合可以确定是把新行插入现有数据块还是新块中。 INITRANS:分配给表的每一个数据块的并发事务条目的初值。范围1-255,默认1。通常不需要改变INITRANS值。 每个更新块的事务需要该块中的一个事务条目,事务条目大小取决于操作系统,该参数保证最小数目的并发事务可以更快,有助避免动态分配事务条目的开销。 MAXTRANS:可更新分配给表的数据块的最大并发事务数。范围1-255。默认255。一般不要更改MAXTRANS的值。 如果一个块中的并发事务超过了INITRANS的值,那么ORACLE在块中动态分配事务条目,直到超过MAXTRANS值。

oracle创建数据库图解

Oracle 10g创建数据 一.工具创建数据库 1.打开oraDb10g_home1=>Configuration and MigrationTool=>Database Configuration Assistant 2. 如果是第一次创建数据库,只能创建数据库和管理模板可以使用,选择创建数据库,单“下 一步”,会出现数据库模板对话框

3. 数据库模板是本地硬盘上的XML文件,用来存储数据库的配置信息,择适合于您的数据库将支 持的工作负载的类型的模板。如果您不确定,选择默认的”一般模板” 4.选择“一般用途”,单击“下一步”,会显示数据库标示对话框,该对话框用于设置全局数据库名和

例程名,全局数据库名,格式一般为:db_name.db_domain。db_name用于对应数据库名,db_domain对应于网络域名。SID(例程)应该与db_name完全一致 例如,下面是一个典型的全局数据库名https://www.360docs.net/doc/e213644898.html,数据库名部分(在本例中为test) 是数据库的简单名称。数据库域部分(在本例中为https://www.360docs.net/doc/e213644898.html,) 指定数据库所在的域。可能的话,Oracle 建议将您的数据库域镜像到网络域 5. 单击“下一步”,会出现“管理选项”对话框。用于设置OEM管理信息,如果要集中管理所有的Oracle数据库,那就要选择“Grid Control管理数据库”,如果只管理本地数据库,那就选择“使用Database Control管理数据库”(默认选中)。

6. 选择“使用Database Control管理数据库”,单击“下一步”,会出现“数据库身份证明”对话框,该对话框用于设置初始数据库用户帐号的口令.您可以设置单个口令,应用于所有数据库用户帐户;也可以为每个帐户单独提供唯一的口令,以提高帐户的安全性。 SYS 用户拥有数据字典的所有基表和用户可访问的视图。任何Oracle 用户都不应该更改(更新、删除或插入) SYS 方案中包含的任何行或方案对象,因为此类操作会破坏数据的完整性。安全管理员必须严格控制此类重要帐户SYSTEM 用户用于创建显示管理信息的其它表和视图,以及各种Oracle 选件和工具使用的内部表和视图。安全管理员必须严格控制此类重要帐户。 SYSMAN 用户代表Enterprise Manager 超级管理员帐户。此Enterprise Manager 管理员可以创建和修改其它Enterprise Manager 管理员帐户,并可以管理数据库实例本身。 Enterprise Manager 使用DBSNMP 用户来监视数据库。Enterprise Manager 使用此帐户来访问有关数据库的性能统计信息。 DBSNMP 身份证明有时称为监视身份证明。

oracle创建表与增删改

-- 数据准备:创建工资等级表 CREATE TABLE salgrade_test ( grade NUMBER (2), lowsal NUMBER (7, 2), hisal NUMBER (7, 2) ); -- 查看工资等级表结构 DESC salgrade; -- 查看工资等级表数据 SELECT * FROM salgrade_test; -- 插入数据 INSERT INTO salgrade_test VALUES (1, 10001, 99999); INSERT INTO salgrade_test VALUES (2, 8001, 10000); INSERT INTO salgrade_test VALUES (3, 6001, 8000); INSERT INTO salgrade_test VALUES (4, 4001, 6000); INSERT INTO salgrade_test VALUES (5, 1, 4000); -- 计算员工的薪水等级 SELECT NAME, salary, grade FROM emp_test, salgrade_test WHERE emp_test.salary BETWEEN salgrade_test.lowsal AND salgrade_test.hisal; -- ------------------------------------------------------SELECT NAME, salary, grade FROM emp_test

FULL JOIN salgrade_test ON emp_test.salary BETWEEN salgrade_test.lowsal AND salgrade_test.hisal; -- 复制表:只复制结构 , 不复制数据 CREATE TABLE salgrade_copy AS ( SELECT * FROM salgrade_test WHERE 1 <> 1 ); SELECT * FROM salgrade_copy; -- 复制表:复制一部分数据----通过设置别名的方式 , 指定新表中的列名(year_sal) CREATE TABLE emp_test_copy AS ( SELECT emp_id, NAME, salary * 12 year_sal FROM emp_test WHERE dept_test_id = 10 ); SELECT * FROM emp_test_copy; -- 复制表:复制一部分数据 -- 新表中的列名 CREATE TABLE emp_count (did, emp_num) AS ( SELECT dept_test_id, COUNT (*) FROM emp_test GROUP BY dept_test_id ); SELECT * FROM emp_count; -- 创建一个同 emp 表结构相同的空表 , 将部门号为 10 的员工信息放入该表 -- 如果有一张表 emp 的数据量为一百万条 , 此时需要建立 1 张测试表只放入少量测试数据( 如 100条 ) , 执行步骤如下所示: -- 第 1 步创建一个空表 CREATE TABLE emp_copy AS (

Oracle数据库实例的创建、删除与修改(doc 6页)

Oracle数据库实例的创建、删除与修改(doc 6页)

Oracle数据库实例的创建、删除、修改 以SUSE10SP2、Oracle10gR2为例。 本文中的数据库实例这一称谓应该换做数据库更为准确,数据库可以理解为是一个物理的静态概念,主要包括一些物理存在的数据库文件,而数据库实例则是一个动态概念,包括一些内存区域以及若干进程,数据库实例是对数据库进行操作的执行者。(20090714修改) 安装完Oracle数据库系统的安装后,需要创建数据库实例才能真正开始使用Oracle数据库服务。 总结起来,Oracle有三种创建数据库实例的方法。 第一种,最常用也最简单,那就是通过DBCA(Database Configuration Assistant),这是Oralce提供的一个图形界面的数据库实例配置工具,通过它可以创建、删除和修改数据库实例,它的使用也比较简单、易懂,交互式的图形界面操作,非常准确有效的提示与配置,是一个比较方便的创建数据库实例的方式。 按照DBCA给出的提示,很容易创建一个新数据库实例。 在创建数据库的时候,DBCA还提供了两个选项,让你可以根据刚刚设置好的参数生成一个数据库实例模板和一份数据库实例创建脚本。这两个东西是非常好,非常有用的东西,数据库模板由Oracle自己管理维护,已经创建好的数据库实例模板可以在DBCA图形程序新建数据库实例时作为模板来使用,另外在DBCA使用responseFile文件或者命令行参数创建数据库时也需要用到(见后面介绍);数据库创建脚本是一组脚本,包括shell脚本和sql脚本,这些脚本共同实现一个功能,那就是按照你之前在DBCA中设置好的那样创建一个数据库实例(后面也会有介绍),你需要做的只是将这些脚本在你的代码中调用起来。当然,你也可以选择只生成数据库模板或者数据库脚本,而不用去创建一个真的数据库(这通常很费时间)。

oracle创建表

CREATE TABLE DEPT(id NUMBER(7),name VARCHAR2(25)); 2、将Departments表中数据插入到DEPT表中 SELECT * FROM HR.DEPARTMENTS; INSERT INTO DEPT(ID,NAME) SELECT * FROM DEPARTMENTS; CREATE TABLE EMP (id NUMBER(7),last_name VARCHAR2(25),first_name VARCHAR2(25),dept_id NUMBER(7)); 4、修改EMP表,允许输入更长(50)员工的姓氏(LAST_NAME) ALTER table EMP modify(last_name varchar2(50)); 5、在数据字典中确认DEPT表和EMP表的创建结果 DESCRIBE dept; DESCRIBE emp; 6、根据表Employees的结构创建表Employees2表,仅包含EMPLOYEE_ID、FIRST_NAME、 LAST_NAME、SALARY和DEPARTMENT_ID。将新表中的各列分别命名为EMPLOYEE_ID、FIRST_NAME、LAST_NAME、SALARY和DEPT_ID CREATE TABLE employees2 as SELECT employee_id,first_name,last_name,salary,department_id dept_id FROM employees; 7、删除EMP表 HR> drop table emp; 8、将EMPLOYEES2表重命名为EMP HR> alter table employees2 rename to emp; 9、删除表EMP的FIRST_NAME列,并确认

Oracle 建表(一对多)代码及相关约束示例

建表(一对多)代码及相关约束 create table t_class( c_id number(3) primary key, c_name varchar2(20) not null ); create table t_stu( s_id number(5) primary key, s_name varchar2(8) not null, sex char(2) default '男', birthday date, school_age number(2) check(school_age>0), school_score number(5,2), c_id number(3), id_card char(18) unique, foreign key(c_id) references t_class(c_id) ); 附:测试数据: insert into t_class values(1,'订单班'); insert into t_class values(2,'开发班'); insert into t_class values(3,'美工班'); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (1, 'a', '男', to_date('01-01-1980', 'dd-mm-yyyy'), 24, 90, 1, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (2, 'b', '男', to_date('11-05-1981', 'dd-mm-yyyy'), 23, 80, 1, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (3, 'c', '女', to_date('19-09-1982', 'dd-mm-yyyy'), 22, 50, 1, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD) values (4, 'd', '女', to_date('28-01-1984', 'dd-mm-yyyy'), 21, 80, 2, null); insert into T_STU (S_ID, S_NAME, SEX, BIRTHDAY, SCHOOL_AGE, SCHOOL_SCORE, C_ID, ID_CARD)

手工建立oracle数据库的方法

手工建库需要经过以下几个步骤,每一步骤都非常关键: 1.创建必要的相关目录 2.创建初始化参数文件 3.设置环境变量Oracle_sid 4.创建实例 5.创建口令文件 6.启动数据库到nomount(实例)状态 7.执行建库脚本 8.执行catalog脚本创建数据字典 9.执行catproc创建package包 10.执行pupbld 11.由初始化参数文件创建spfile文件 12.执行scott脚本创建scott模式 13.用命令测试数据库创建是否完成 14.配置OEM,使得能够通过浏览器管理和控制数据库 Oracle的安装路径:C盘创建的数据库名称:book book数据库的SYS用户初始密码:bookstore 需要配置EM资料库之后,才可以通过EM访问数据库(才可以出现DBConsole服务)。 1、打开命令行工具,创建必要的相关目录 C:\>mkdir C:\oracle\product\10.2.0\admin\book C:\>mkdir C:\oracle\product\10.2.0\admin\book\adump C:\>mkdir C:\oracle\product\10.2.0\admin\book\bdump C:\>mkdir C:\oracle\product\10.2.0\admin\book\cdump C:\>mkdir C:\oracle\product\10.2.0\admin\book\dpdump C:\>mkdir C:\oracle\product\10.2.0\admin\book\udump C:\>mkdir C:\oracle\product\10.2.0\admin\book\pfile C:\>mkdir C:\oracle\product\10.2.0\oradata\book 上面创建目录的过程也可以在Windows的图形界面中去创建。其中C:\oracle\product\10.2.0\admin\book目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。最重要的两上子目录是bdump和udump目录,bdump目录存放的是数据库运行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。Udump目录存放和特定会话相关的跟踪信息。C:\oracle\product\10.2.0\oradata\book目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。

02_如何创建Oracle数据库(DBCA)

如何创建Oracle数据库 创建Oracle数据库有两种方法,DBCA和命令行手工创建。 DBCA的全称是Database Configuration Assistant,翻译成中文就是数据库配置助手。通过DBCA不仅可以创建数据库,还可以删除数据库、重新配置一个已经创建好的数据库、管理模板等等。 下面,我们先来学习如何通过DBCA创建一个Oracle数据库。 以oracle用户登录系统,打开一个终端窗口,输入dbca。 然后按下回车键,出现如下画面: 单击Next进入下一步:

在这一步我们可以选择1、创建数据库2、配置数据库选项3、删除一个数据库4、管理模板5、配置ASM(自动存储管理),由于我们是第一次创建数据库,所以2和3选项是灰色的。选择Create a Database(创建一个数据库),单击Next进入下一步: 这一步有四个选项1、Custom Database(自定义数据库)2、Data Warehouse(数据仓库OLAP)3、General Purpose(通用目的)4、Transaction Processing(事物处理OLTP)单击Show Details 可以查看详细的信息。在这里,我们选择General Purpose,然后单击Next进入下一步:

在这一步,我们要设置全局数据库名(demo)和SID(demo),然后单击Next进入下一步: 这一步是选择是否配置Oracle Enterprise Manager(OEM),我们不做任何改变,按默认选项,单击Next进入下一步:

在这一步,我们需要为账户设置密码,有两个选项:1、为所有账户设置相同的密码2、分别为每一个账户设置不同的密码。 设置好密码后,单击Next进入下一步: 1、File System(文件系统) 2、Automatic Storage Management(自动存储管理ASM) 3、Raw Devices(裸设备) 我们选择File System,单击Next进入下一步:

oracle创建表基础

?VARCHAR2(size)和NVARCHAR2(size):变长字符型数据。 首先,该数据类型存储变长的字符数据,在使用该数据类型定义数据时,该数据的存储区大小是不固定的,依据存储数据的长度进行动态分配存储区。参数size是该变量存储的最大的字符数,该值最大为4000。size的最小或默认值都是1。一般在定义该数据类型时,都要指定该长度值,即指定size值。NVARCHAR2(size)的不同之处在于它支持全球化数据类型,支持定长和变长字符集。 ?CHAR(size) NCHAR(size):定长字符型数据 该数据类型一旦定义,则存储该变量的存储区的大小就固定下来。显然在存储区分配上它没有VARCHAR2(size)和NVARCHAR2(size)数据类型具有动态性,但是在实际中,如果可以预测到一个变量存储的字符数量,且数量不是很大,则最好还是使用定长字符型数据来定义该变量,这样可以提高存储的效率。因为使用变长字符型数据要不断的计算存储的数据长度,再分配存储数据块,会消耗计算资源。定长字符型数据的最小值和默认值都为1个字符,而最大值为2000。NCHAR(size)的不同之处在于它支持全球化数据类型,支持定长和变长字符集,此时定长字符型数据的最小和默认值都为1个字节。 ?DATE:日期型数据 ORACLE服务器使用7个定长的存储区存储日期型数据,它可以月,年,日,实际,时,分和秒。日期型数据的取值范围从公元前4712年1月1日到公元9999年12月31日。 ?NUMBER(P,S):数字型数据。 参数p指十进制数的中长度,s为该十进制数小数点后的位数,如NUMBER(10,2)表示该数字型数据的中长度为10位,而小数后为2为。其中参数p的最大值为38,最小值为1,而参数s的最大值为124,最小值为-84。

Oracle tablespace创建参数

Oracle tablespace创建参数 ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额.因此,在创建对象之前,首先要分配存储空间. 分配存储,就要创建表空间: 创建表空间示例如下: CREATE TABLESPACE "SAMPLE" LOGGING DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 上面的语句分以下几部分: 第一: CREATE TABLESPACE "SAMPLE" 创建一个名为 "SAMPLE" 的表空间. 对表空间的命名,遵守Oracle 的命名规范就可了. ORACLE可以创建的表空间有三种类型: (1)TEMPORARY: 临时表空间,用于临时数据的存放; 创建临时表空间的语法如下: CREATE TEMPORARY TABLESPACE "SAMPLE"...... (2)UNDO : 还原表空间. 用于存入重做日志文件. 创建还原表空间的语法如下: CREATE UNDO TABLESPACE "SAMPLE"...... (3)用户表空间: 最重要,也是用于存放用户数据表空间 可以直接写成: CREATE TABLESPACE "SAMPLE" TEMPORARY 和 UNDO 表空间是ORACLE 管理的特殊的表空间.只用于存放系统相关数据. 第二: LOGGING 有 NOLOGGING 和 LOGGING 两个选项, NOLOGGING: 创建表空间时,不创建重做日志. LOGGING 和NOLOGGING正好相反, 就是在创建表空间时生成重做日志. 用NOLOGGING时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择NOLOGGING,以加快表空间的创建速度. 第三: DATAFILE 用于指定数据文件的具体位置和大小. 如: DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M

Oracle-基本建表语句

--创建用户 create user han identified by han default tablespace users Temporary TABLESPACE Temp; grant connect,resource,dba to han; //授予用户han开发人员的权利 --------------------对表的操作-------------------------- 创建表格语法: create table 表名( 字段名1 字段类型(长度) 是否为空, 字段名2 字段类型是否为空 ); -增加主键 alter table 表名 add constraint 主键名 primary key (字段名1); -增加外键: alter table 表名 add constraint 外键名 foreign key (字段名1) references 关联表 (字段名2); 在建立表格时就指定主键和外键 create table T_STU ( STU_ID char(5) not null, STU_NAME varchar2(8) not null, constraint PK_T_STU primary key (STU_ID) ); 主键和外键一起建立: create table T_SCORE ( EXAM_SCORE number(5,2),

EXAM_DATE date, AUTOID number(10) not null, STU_ID char(5), SUB_ID char(3), constraint PK_T_SCORE primary key (AUTOID), constraint FK_T_SCORE_REFE foreign key (STU_ID) references T_STU (STU_ID) ) --创建表 create table classes( id number(9) not null primary key, classname varchar2(40) not null ) --查询表 select * from classes; --删除表 drop table students; --修改表的名称 rename alist_table_copy to alist_table; --显示表结构 describe test --不对没查到 -----------------------对字段的操作 ----------------------------------- --增加列 alter table test add address varchar2(40); --删除列 alter table test drop column address; --修改列的名称 alter table test modify address addresses varchar(40; --修改列的属性 alter table test modi

Oracle基础练习题及答案(表约束)

练习作业 创建表emp1,字段如下 eno char(3), ename char(6) sex char(2) age number(2) dno char(3) 并插入如下数据 1 ,TOM ,男,21 ,’001’ 2 ,JERRY ,男,21 ,’002’ 3 ,KATE ,女,21 ,’003’ 4 ,MARY ,女,21 ,’004’ 5 ,JACK ,男,21 ,’005’ i.在eno字段上创建主键约束 ii.在ename字段上创建非空约束 iii.创建检查约束判断age在18到60岁之间的男性或者age在18到55岁之间的女性iv.在dno字段上创建唯一性约束 create table emp1( eno char(3) primary key, ename char(6) not null, sex char(2), age number(2), dno char(3) unique, constraint sex_age check( ((age between18and60) and sex='男') or ((age between18and55) and sex='女')) ) insert into emp1 values('1','TOM','男',21,'001') insert into emp1 values('2','JERRY','男',21,'002');

insert into emp1 values('3','KATE','女',21,'003'); insert into emp1 values('4','MARY','女',21,'004'); insert into emp1 values('5','JACK','男',21,'005'); v.创建和emp1表字段相同的emp_bak表,将emp_bak表的eno字段与emp表的eno字段创建外键约束 create table emp_bak as select * from emp1 where1=2 alter table emp_bak add constraint v foreign key(eno) references emp1(eno); 1、请创建一个表,表名为phone,表结构如下 电话号码(PHONENUM VARCHAR2(8)) 电话费(PAY number(8,2)) 号码等级(NUMLEVEL VARCHAR2(4)) 费用日期(PAYDATE varchar2(12) create table phone ( phonenum varchar2(8), pay number(8,2), numlevel varchar2(4), paydate varchar2(12) ) 1)插入以下两条数据. 123456, 600, pt04, 20051220 888888, 900, pt05, 20051019. insert into phone values('123456',600,'pt04', '20051220'); insert into phone values('888888',900,'pt05', '20050919');

Oracle中用sql语句创建数据库

二、在Windows下创建数据库 Oracle实例在Windows下表现为操作系统服务。在windows下,使用命令行方式创建数据的方法有所不同,差别在于在Windows下,需要先创建数据库服务和实例。 1.确定数据库名、数据库实例名和服务名并创建目录(DBCA创建的脚本不包含建立目录命令,须自己创建) 建立目录命令(下面以 db_name=eygle为例): mkdir D:\oracle\ora90\cfgtoollogs\dbca\eygle mkdir D:\oracle\ora90\database mkdir d:\oracle\admin\eygle\adump mkdir d:\oracle\admin\eygle\bdump mkdir d:\oracle\admin\eygle\cdump mkdir d:\oracle\admin\eygle\dpdump mkdir d:\oracle\admin\eygle\pfile mkdir d:\oracle\admin\eygle\udump mkdir d:\oracle\flash_recovery_area mkdir d:\oracle\oradata mkdir d:\oracle\oradata\eygle 2.创建参数文件 在Windows下的参数文件名称及路径如下: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\init.ora(oracle10g) d:\orant\database\iniORACLE_SID.ora(oracle7,oracle8) 参数据文件内容与前述一致。这里不再说明。 3.选择数据库实例 设置环境变量ORACLE_SID c:\>set ORACLE_SID=数据库实例名 4.创建数据库实例 在Windows中创建数据库实例的命令为Oradim.exe,是一个可执行文件,可以在操作系统符号下直接运行。直接输入oradim显示此命令的帮助。 c:\>Oradim 下面对Oradim命令的参数进行一个说明 ------------------------------- -NEW 表示新建一个实例 -EDIT 表示修改一个实例 -DELETE 表示删除一个实例 -SID sid 指定要启动的实例名称 -SRVC service 指定要启动的服务名称 -INTPWD password 以Internal方式连接数据库时的口令字 -MAXUSERS count 该实例可以连接的最大用户数 -USRPWD password 指定内部用户的口令,如是作为Windows管理登录,不用此参数 -PFILE pfile 该实例所使用的参数文件名及路径 -STARTTYPE srvc|inst|srvc,inst 启动选项(srvc:只启动服务,inst:启动实例,服务必须先启动,srvc,inst:服务和实例同时启动) -SHUTTYPE srvc|linst|srvc,inst 关闭选项(srvc:只关闭服务,实例必须已关闭,inst:只关闭实例,srvc,inst:服务和实例同时关闭)

手动创建Oracle数据库的步骤

(1)检查操作系统环境变量:在手工创建数据库时,需要设置ORACLE_BASE、ORACLE_HOME这两个操作系统的环境变量ORACLE_BASE:c:\oracle ORACLE_HOME:c:\oracle\product\10.0.2\db_1 (2)创建初始化参数文件 在使用命令方式创建数据库时,需要创建一个pfile(初始化参数文件)文件来完成数据库实例的创建及启动过程。默认地,这个文件需要放置在ORACLE_HOME 的database文件夹下面,即:c:\oracle\product\10.0.2\db_1\database下。 mytestdb.ora db_name=mytestdb (3)接下来: 创建数据库实例:需要使用dos命令行完成这个操作 例: oradim -NEW -SID mytestdb -STARTMODE MANUAL -PFILE D:\app\me\product\11.2.0\dbhome_1\database\mytestdb.ora (4)接下来: 使用nomount参数启动实例:此时可以启动实例,读取参数文件,在当前数据库状态下执行数据库创建。 C:\Users\me>sqlplus / as sysdba

SQL> startup nomount 监听: lsnrctl start /stop 监听启动/停止 oracle_sid的设置 set oracle_sid=orcl 静态注册于动态注册 动态注册: 动态注册listener.ora配置文件 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PL***tProc) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) ) ) 静态注册: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orclg) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (SID_NAME = orcl) ) )

Oracle创建表的语法详解

Oracle创建表语句(Create table)语法详解及示例 创建表(Create table)语法详解 1. ORACLE常用的字段类型 ORACLE常用的字段类型有 VARCHAR2 (size) 可变长度的字符串, 必须规定长度 CHAR(size) 固定长度的字符串, 不规定长度默认值为1 NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数 最长38位. 不够位时会四舍五入. DATE 日期和时间类型 LOB 超长字符, 最大可达4G CLOB 超长文本字符串 BLOB 超长二进制字符串 BFILE 超长二进制字符串, 保存在数据库外的文件里是只读的. 数字字段类型位数及其四舍五入的结果 原始数值1234567.89 数字字段类型位数存储的值 Number 1234567.89 Number(8) 12345678 Number(6) 错 Number(9,1) 1234567.9 Number(9,3) 错 Number(7,2) 错 Number(5,-2) 1234600 Number(5,-4) 1230000 Number(*,1) 1234567.9 2. 创建表时给字段加默认值和约束条件 创建表时可以给字段加上默认值 例如 : 日期字段 DEFAULT SYSDATE

这样每次插入和修改时, 不用程序操作这个字段都能得到动作的时间 创建表时可以给字段加上约束条件 例如: 非空 NOT NULL 不允许重复 UNIQUE 关键字 PRIMARY KEY 按条件检查 CHECK (条件) 外键 REFERENCES 表名(字段名) 3. 创建表的例子 CREATE TABLE DEPT( EPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, DNAME VARCHAR2(14), LOC VARCHAR2(13)) ; CREATE TABLE region( ID number(2) NOT NULL PRIMARY KEY, postcode number(6) default '0' NOT NULL, areaname varchar2(30) default ' ' NOT NULL); 4. 创建表时的命名规则和注意事项 1)表名和字段名的命名规则:必须以字母开头,可以含符号A-Z,a-z,0-9,_,$,# 2)大小写不区分 3)不用SQL里的保留字, 一定要用时可用双引号把字符串括起来. 4)用和实体或属性相关的英文符号长度有一定的限制 注意事项: 1)建表时可以用中文的字段名, 但最好还是用英文的字段名 2)创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面 3)建表时如果有唯一关键字或者唯一的约束条件,建表时自动建了索引 4)一个表的最多字段个数也是有限制的,254个. 5. 约束名的命名规则和语法

环境构筑之oracle11g数据库创建

Oracle11g 数据库图文创建步骤 1.创建相关 a). MALL业务数据库 数据库名:BFMALL 作用:MALL业务和卡数据平台 b). POS数据库 数据库名:BFPOS 作用:POS销售数据平台 c). 前提条件 oracle11g server主程序已安装完成 2.创建步骤(以业务数据库BFMALL为创建范例) a). 在业务服务器上运行database configuration assistant数据库创建工具,如下图所示: b). 欢迎界面,如下图所示:

c). 创建数据库,如下图所示: d). 默认一般用途或事务处理,如下图所示:

e). 数据库名称按照命名规约填写,业务数据库命名为BFMALL,POS数据库则命名为BFPOS,如下图所示: f). 管理选项,可启用自动磁盘备份,如下图所示:

g). 所有帐户均使用同一管理口令,便于记忆,本例设置为DHHZDHHZ,如下图所示: h). 存储选项,本例默认采用文件系统,正式环境根据实际情况,即可配置于服务器自身硬盘分区,也可配置于磁盘存储阵列,如下图所示:

i). 安装位置可自行指定,本例采用oracle默认位置,正式环境一般基于空间较大、非系统盘的硬盘分区中,如下图所示: j). 恢复配置,正式环境必须选用归档模式,便于日后通过归档日志恢复,本例鉴于减小资源消耗不采用,同时快速恢复区的大小根据机器内存大小进行适当分配,如下图所示:

k). 数据库内容,不选用示例,如下图所示: l). 初始化参数,正式环境需根据实际情况设置,本例自动分配,如下图所示:

相关文档
最新文档