当前位置:文档之家› Oracle实列创建

Oracle实列创建

Oracle实列创建
Oracle实列创建

本文档主要使用分步骤的命令来创建Oracle数据库,而不是用Oracle的默认安装或者DBCA,意在详细了解Oracle数据库的文件体系(针对建库)以及相关的命令解释。

步骤说明

安装受到安装直接首先要明确一些信息:

ORACLE_HOME:C:/oracle/product/10.2.0/db_1

DATABASE NAME、实例名以及ORACLE_SID:全部都是orcl

SYS和SYSTEM等用户的密码:oracle

1:创建文件夹

1.创建输入数据库orcl的配置文件夹

2.bdump :存放的是数据库动行过程中的各个后台进程的跟踪信息,后台进程trace 和alert log ,

3.就是说 alert_sid.log也存在这个目录中

4.cdump :主要是oracle的内核转储记录存放位置

5.pfile :初始化参数文件 initSID

6.udump:存放和特定会话相关的跟踪信息,前台手动trace的比如sql trace之后session的trace文

7.创建数据库orcl存放相关数据文件、日志文件、控制文件的文件夹 /oradata/ora

8.创建ORACLE_HOME/flash_recovery_area/ORCL/ONLINELOG

2:创建初始化参数文件

数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。

该文件拷贝一个已有的文件稍加修改即可。

将该文件拷贝到C:/oracle/product/10.2.0/db_1/database里面取名

initORCL.ora。

该文件路径也不一定非要放到这里,也可以是其他地方,默认是这个地方,不过如果放到其他地方在启动实例时需要添加相关的文件路径即可。

里面的相关的文件dest路径与前面的创建的文件夹路径应该保持一致。

1.aq_tm_processes=0

2.audit_file_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/ADUMP

3.background_dump_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/BDUMP

4.//版本

https://www.doczj.com/doc/9a90253.html,patible=10.2.0.1.0

6.//控制文件

7.control_files=C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL01.CTL, C:/ORACLE/PRODUC

T/10.2.0/ORADATA/ORCL/CONTROL02.CTL, C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL0

3.CTL

8.core_dump_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/CDUMP

9.//默认数据库块大小

10.db_block_size=8192

11.db_domain=""

12.db_file_multiblock_read_count=16

13.//数据库名

14.db_name=orcl

15.db_recovery_file_dest_size=2147483648

16.db_recovery_file_dest=C:/oracle/product/10.2.0/flash_recovery_area

17.dispatchers="(PROTOCOL=TCP) (SERVICE=orclXDB)"

18.job_queue_processes=10

19.open_cursors=300

20.pga_aggregate_target=96468992

21.processes=150

22.remote_login_passwordfile=EXCLUSIVE

23.resource_manager_plan=""

24.sga_target=289406976

25.undo_management=AUTO

26.undo_retention=900

27.//所有的相关信息前后必须一致

28.undo_tablespace=UNDOTBS1

https://www.doczj.com/doc/9a90253.html,er_dump_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/UDUMP

3:设置环境变量

使环境变量对应数据库的相关实例。

4:创建实例

使用oradim创建新实例,实例名与数据库名一致,直接输入oradim回车有相关命令的帮助。

创建完实例之后我们就可以在服务列表中看到Oracle的服务了,但是如果使用sqlplus连接上去是连接的空闲实例。

5:创建口令文件

orapwd是创建口令文件的工肯程序各称,file参数指定口令文件所在的目录和文件名称,password参数指定sys用户的口令,entries参数指定数据库拥用DBA权限的用户的个数。详细参考orapwd回车查看相关帮助。

该路径必须是在ORACLE_HOME/database/文件夹下。

6:启动数据库NOMOUNT状态

大家都知道数据库启动有三个状态,Nomount状态(启动实例),mount状态(打开控制文件),Open状态(打开数据库),因为现在还没有创建控制文件和数据文件,现在进行启动实例阶段来创建相关的文件,看到在启动实例出现错误,那是一开始我创建文件时没有创建

ORACLE_HOME/flash_recovery_area,因为在初始化参数时有一个

db_recovery_file_dest=C:/oracle/product/10.2.0/flash_recovery_area,所以没有找到报错,添加上即可。

如果前面第二步的路径变化了,在启动实例时需要添加startup nomount pfile=路径即可

7:执行建库脚本

1.//创建库

2.create database orcl

3.//系统数据文件

4.datafile 'C:/oracle/product/10.2.0/oradata/orcl/system01.dbf' size 300M reuse autoe

xtend on next 10240K maxsize unlimited

5.extent management local

6.//系统附属表

7.sysaux datafile 'C:/oracle/product/10.2.0/oradata/orcl/sysaux01.dbf'

8.size 120M reuse autoextend on next 10240K maxsize unlimited

9.//临时表文件

10.default temporary tablespace temp

11.tempfile 'C:/oracle/product/10.2.0/oradata/orcl/temp01.dbf' size 20M reuse autoexte

nd on next 640K maxsize unlimited

12.//回滚文件-与前面的文件名一致

13.undo tablespace "UNDOTBS1"

14.datafile 'C:/oracle/product/10.2.0/oradata/orcl/undotbs01.dbf' size 200M reuse auto

extend on next 5120K maxsize unlimited

15.//重读日志文件

16.logfile

17.group 1 ('C:/oracle/product/10.2.0/oradata/orcl/redo01.log') size 10240K,

18.group 2 ('C:/oracle/product/10.2.0/oradata/orcl/redo02.log') size 10240K,

19.group 3 ('C:/oracle/product/10.2.0/oradata/orcl/redo03.log') size 10240K

在执行该文件如果出现以上错误,修改session 的字符集。在执行该建库SQL 的文件时,尽量检查好SQL文件。

执行库SQL我们看到相关的数据文件、控制文件、重读日志文件都创建好了。

8:创建数据字典

该步执行时间比较长,主要是创建相关的字典表,比如我们经常遇到的

dba_users、dba_tablespaces等表。

该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。

该脚本又同时运行创建其他对象的脚本,主要有:

1.基本PL/SQL环境,包括PL/SQL的声明:

2.- 数据类型

3.- 预定义例外

4.- 内建的过程和函数

5.- SQL操作等

6.审计

7.导入/导出

8.SQL*Loader

9.安装选项

9:创建package包

该脚本主要用于建立PL/SQL功能的使用环境。此外,还创建几个PL/SQL 包用于扩展RDBMS功能。该脚本同时还为下面的一些RDBMS功能创建另外的一些包和视图:

1.警告(Alerts)

2.管道(Pipes)

3.日志分析(LogMiner)

4.大对象(Large objects)

5.对象(Objects)

6.高级队列(Advanced queuing)

7.复制选项( Replication option)

8.其他的一些内建包和选项(Other built-ins and options)

10:新建数据库后执行pupbld

有时出于安全考虑需要禁止一些业务系统的数据库用户执行sqlplus命令,方法很简单:在运行命令之前,将这些命令限制到一个由SQL*Plus 引用的“特殊位置”。此特殊位置是SYSTEM 模式中一个名为

PRODUCT_USER_PROFILE 的表。如果该表不存在,则您在每次启动SQL*Plus 时将获得一个类似“Product User Profile Not Loaded”这样的警告。

为了创建这个表,需要运行pupbld.sql脚本。通常,这个脚本在

$ORACLE_HOME/sqlplus/admin 路径中运行,具体的位置由系统决定。记住用system用户执行:

11:创建SPFILE文件

spfile是存储初始参数的文件,oracle中有大约200多个初始参数,都存在这里,还有一种叫pfile的文件也是存储初始参数的文件,两者的区别是,spfile 是server端维护的,pfile是客户端维护的,spfile只能通过系统更改,pfile 可以使用文本文件打开后手工修改。

创建这一步需要使用sys用户,因为刚才连接的是system用户,需要连接到sys用户,然后在使用过程中如果出现上面的错误,需要先关闭一下数据库再重新启动即可。

为什么要创建spfile文件,因为原来在9i之前有pfile文件都在用户客户端,而且文本可以直接打开,每个客户端就可以修改,这样势必在启动时读取该配置文件带来了问题,所以Oracle引入了spfile放在服务器端,而且是二进制的文件,在启动实例时,先读取spfile文件,如果没有再读取initSID.ora,如果再没有读取pfile文件。

12:执行Scott脚本

执行完毕之后我们就可以使用scott用户及其相关数据了。

关于Scott的由来可以参考:

https://www.doczj.com/doc/9a90253.html,/wh62592855/archive/2009/10/22/4712063.aspx

顺便了解一下Oracle的历史。

13:创建监听和TNSNAME

该步骤也是一样,用户可以使用netca创建,也可以将已有的配置文件修改后放到

C:/oracle/product/10.2.0/db_1/NETWORK/ADMIN下面即可。

配置完后就可以启动数据库了。

14 创建DBConcole

在执行相关命令后,会提示你输入相关的信息比如SID,端口号等,而且该步骤等待时间比较长。

参考文档:

https://www.doczj.com/doc/9a90253.html,/sammyhxm/blog/item/e27ec111695118cda6ef3f09.html 说明

该文档为作者在学习ArcGIS的一些笔记(自己学习、ArcGIS帮助、网络资源、高手请教相结合),难免有一些表达不全面或者理解有出入的,还请各位多多指教!

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创建用户及权限说明文档

Oraclec创建用户 一、命令行创建用户具体步骤如下: 1.以管理员身份登录系统并创建一个新的表空间,操作如下: 操作如下: 2. Next 5M maxsize 100M ;----每次扩大5M,但最大为100M

3. Temporary tablespace test1_temp; ----设置临时表空间为test1_temp 4. 操作如下 5. 操作如下 6.最后提交即可。Commit 二、表空间的增删改查 1. 2. 如下操作,其中标示出来的路径即为查询到的要更改的表空间的具体路径,将该路径加到语句2中的单引号处即可。

3. 4.

四、权限的设置 1.权限的分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 2.系统权限管理 DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE: 拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT: 拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 3.系统权限授权命令及用户管理。 [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys 用户相同的权限,system用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> Create user user50 identified by user50; SQL> grant connect, resource to user50; 查询用户拥有哪里权限: SQL> select * from dba_role_privs; SQL> select * from dba_sys_privs; SQL> select * from role_sys_privs; 删除用户:SQL> drop user 用户名cascade; //加上cascade则将用户连同其创建的东西全部删除。 4.给新建的用户分配只有连接以及对某些表和视图的查询权限: oracle授权对视图的查询.docx 5.用户管理: 1)、创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数 PASSWORD_LOCK_TIME 5 //指定用户被锁定天数 PASSWORD_LIFE_TIME 30 //指定口令可用天数 2)、创建用户 SQL> Create User username Identified by password Default Tablespace tablespace Temporary Tablespace tablespace Profile profile Quota integer/unlimited on tablespace; 6.用户密码过期问题: 首先,查看系统中有哪些用户:

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.doczj.com/doc/9a90253.html,数据库名部分(在本例中为test) 是数据库的简单名称。数据库域部分(在本例中为https://www.doczj.com/doc/9a90253.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客户端的安装和用户的创建

1、光驱: /dev/cdrom 2、挂载光驱 1)挂载点:就是一个目录 2) mount /dev/cdrom 挂载点的名称 卸载光驱 umount /dev/cdrom U盘挂载 /dev/mnt mount –t -vfat /dev/mnt /mnt/usb 3、ftp的配置 1)关闭防火墙 service iptables stop; 2) 关闭selinux vi /etc/selinux/config - disabled init 6 3) 启动ftp service vsftpd start 4) 要使用root用户登录ftp vi /etc/vsftpd/ftpusers; vi /etc/vsftpd/user_list; 注释掉root ,因为默认情况下ftp不允许直接向root用户传输文件。 4、软件安装 1)rpm方式 rpm: redhat package management rpm -qa 查询系统中所有以rpm方式安装的软件 -e 卸载软件包 -i 安装软件包 -v 显示提示

-h 显示安装进度 2)源码方式 先编译 ./configure --选项。。 make make install 3) yum方式,必须有yum源(在外网) yum install compat-db 5、定时任务 周期性任务 Crontab -e 编辑任务 Crontab -l 显示当前有哪些任务 Crontab -r 删除所有任务 一次性任务 at 时间 -f 脚本 at now + 10 minutes -f test.sh 6、JDK安装 上传jdk*****.bin 授权可执行 执行后,默认安装到/usr/java/ 配置系统环境变量 vi /etc/profile JAVA_HOME=/usr/java/jdk1.6.0_45 PATH=$JAVA_HOME/bin:$PATH; CLASSPATH=.:$JAVA_HOME/lib; 重启终端,测试 ------------------------------------------------------------------

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目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。

Oracle 创建用户

Oracle 创建用户 创建一个新的数据库用户是使用CREATE USER 语句完成的,该语句一般是由DBA 用户来执行;如果要以其他用户身份创建用户,则要求用户必须具有CREATE USDER 系统权限。 每个用户在连接到数据库时,都需要进行身份验证。身份验证可以通过操作系统进行,也可以通过数据库进行,或者通过独立的网络服务器进行。数据库验证是指使用数据库来检查用户、密码以及连接用户的身份,该方式也是最常用的用户验证方式,因此本书重点介绍数据库验证方式。采用数据库验证具有如下优点: ● 用户账号及其身份验证全部由数据库控制,不需要借助数据库外的任何控制。 ● 当使用数据库验证时,Oracle 提供了严格的密码管理机制,加强了密码的安全性。 如果使用数据库验证,则创建用户时必须提供连接密码,并且密码必须是单字节字符。例如,下面的语句创建了一个用户ATG ,并为该用户指定了登录密码、默认表空间、临时表空间: SQL> connect system/password 已连接。 SQL> create user developer 2 identified by developer 3 default tablespace user01 4 quota 10m on user01 5 temporary tablespace temp; 用户已创建。 在上面的语句中,创建了一个名为DEVELOPER 的用户。其中,子句IDENTIFIED BY 指定用户密码,该密码是用户的初始密码,在用户登录到数据库后可以对其进行修改。DEFAULT TABLESPACE 子句为用户指定默认表空间,这样在建立数据库对象(表、索引和簇)时,如果不指定TABLESPACE 子句,Oracle 会自动在默认表空间上为这些对象分配空间。TEMPORARY TABLESPACE 子句用于为用户指定临时表空间,当用户所执行的SQL 语句需要进行排序操作时,若临时数据尺寸超过PGA 工作区,则会在该表空间上建立临时段。QUOTA 子句为用户指定表空间配额,即用户对象在表空间上可占用的最大空间。 在创建用户时需要注意,Oracle 不允许使用其他类型的表空间作为临时表空间使用,同样,也不允许使用临时表空间作为默认表空间。否则会出现如下所示的错误: SQL> create user developer02 2 identified by developer 3 default tablespace USER01 4 quota 128m on users 5 temporary tablespace USERS; create user atg02 注 意 使用过Oracle 10g 以及早期版本的用户需要注意,11g 中的用户密码是区分大小的。

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 创建create user 及授权grant 查看登陆的用户

oracle 创建create user 及授权grant 查看登陆的用户: 以下都可以: show user; select sys_context('userenv','session_user') from dual; select user from dual; 查看所有登录的用户必须为DBA 用户: select username from v$session; sys、system等DBA 用户查看其他用户(test)中的对象(表): SQL> select * from test.student; 创建一个普通用户都把该用户用起来的流程: 1、创建用户 SQL>create user test indentified by test; 这样就创建了一个用户名密码都为test的用户 但这个时候test还是不能登陆成功的,我们需要赋予相应的权限 2、赋予create session的权限 SQL>grant create session to test; 这样test用户就能成功登陆进去 但是此时用户还是不能创建表我们需要赋予用户创建表的权限: SQL>grant create table to test; 但是用户此时还不能创建表因为需要有使用表空间的权限(相当于用户有了进房间的钥匙但是没有进大门的钥匙。。。) 所以也应该赋予相应的权限 SQL>grant unlimited tablespace to test; 这个时候用户就拥有了创建表的权限由于表是用户test的相应的他就拥有了对创建的表的增删查改的权限了 3、查看用户拥有什么权限可以通过查询一个系统的视图(数字字典) SQL>select * from user_sys_privs; 这样就可以知道当前用户的权限 4、撤销权限 SQL> revoke create table from test; ----------------------------- 一些常用视图的区分 dba_tables dba_all_tables user_tables user_all_tables all_tables

oracle数据库创建用户,给用户授权,创建表的语句程序代码

1、创建用户,给该用户授权 Drop user clwz_user 删除用户名为“clwz_user”的用户,注意当删除该用户时,用户下的所有表,都会被删除。 CREATE USER CLWZ_USER IDENTIFIED BY CLWZPZXTSDGAB DEFAULT TABLESPACE clwz_dy TEMPORARY TABLESPACE clwz_dy PROFILE DEFAULT; 创建用户,用户名为“CLWZ_USER”,密码为“CLWZPZXTSDGAB”,默认的表空间为“clwz_dy”, GRANT "DBA" TO "CLWZ_USER"; 付给用户CLWZ_USER对oracle操作的dba权限 2、创建表 drop table vio_users; 删除表名为“vio_users”的表 Oracle中常用的数据类型 Char:存放定长字符数据 Varchar2:存放可变厂字符数据 Number(1,d):存放数值型数据,1代表总位数,d代表小数点厚位数 Date:存放日期 create table vio_users( police_no varchar2(10) primary key, name varchar2(20) not null, password varchar2(20), kind char(1), csrq date, xzqh varchar2(10), privilege varchar2(30) ); 创建表“vio_users”,其中字段police_no为唯一索引字段,字段name为不可空,其他字段默认可空 Desc vio_users 查看表为vio_users的表结构 若想创建和表vio_users的表结构一样,也要其数据的话 Create table aa as select * from vio_users; 若想创建和表vio_users的表结构一样,不要其数据的话 Create table aa as select * from vio_users where rownum<1

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

相关主题
文本预览
相关文档 最新文档