oracle数据库实例的创建和修改

合集下载

navicat 建oracle 实例

navicat 建oracle 实例

navicat 建oracle 实例摘要:一、引言二、Navicat 简介三、Navicat 创建Oracle 实例的步骤1.安装和配置Navicat2.连接到Oracle 数据库3.创建新的数据库实例4.设置实例参数5.启动和关闭实例四、总结正文:一、引言avicat 是一款常用的数据库管理工具,支持多种数据库,包括Oracle。

本文将详细介绍如何使用Navicat 创建Oracle 实例,帮助用户更好地管理和操作Oracle 数据库。

二、Navicat 简介avicat 是一款强大的数据库管理工具,提供了一个统一的平台,用于管理和操作各种数据库,如Oracle、MySQL、SQL Server 等。

它具有易于使用的界面、丰富的功能和高度的灵活性,使得数据库管理员和开发人员能够更高效地完成工作。

三、Navicat 创建Oracle 实例的步骤1.安装和配置Navicat首先,需要在计算机上安装Navicat。

可以从官方网站下载最新版本的软件,并按照安装向导完成安装。

安装完成后,启动Navicat 并按照提示进行配置。

2.连接到Oracle 数据库在Navicat 中,点击“连接”按钮,选择Oracle 数据库类型,并输入Oracle 数据库的详细信息,如主机名、端口号、服务名、用户名和密码。

点击“测试连接”以验证连接是否成功。

3.创建新的数据库实例在Navicat 中,右键单击Oracle 数据库,选择“新建数据库”。

在弹出的对话框中,输入数据库的名称、字符集、存储选项等参数,并选择是否自动创建表空间。

完成后,点击“确定”创建数据库实例。

4.设置实例参数在创建实例后,可以对实例进行参数设置。

例如,可以设置内存大小、调整日志文件大小等。

这些参数可以根据实际需求进行调整,以优化数据库性能。

5.启动和关闭实例在Navicat 中,可以方便地启动和关闭Oracle 数据库实例。

点击工具栏上的“启动”按钮,可以启动数据库实例;点击“关闭”按钮,可以关闭数据库实例。

linux oracle19c创建数据库实例

linux oracle19c创建数据库实例

linux oracle19c创建数据库实例如何在Linux上使用Oracle 19c创建数据库实例在本文中,我们将详细讨论如何在Linux操作系统上使用Oracle 19c创建数据库实例。

Oracle 19c是Oracle数据库管理系统中最新的版本,其集成了许多新功能和改进,可以提高数据库的性能和安全性。

在开始创建数据库实例之前,我们首先需要安装Oracle 19c软件包。

可以从Oracle官方网站上下载最新的Oracle 19c软件包,并按照官方指南进行安装。

安装完成后,我们可以按照以下步骤来创建数据库实例:第1步:创建数据库目录在Linux系统上,我们需要创建一个目录来存储数据库文件。

可以选择在任何位置创建该目录,但是最好选择一个容量足够大的磁盘。

通过以下命令,我们可以创建一个名为"oracle"的目录,该目录将用作数据库文件的存储位置:sudo mkdir /oraclesudo chown oracle:oinstall /oracle上述命令将创建一个名为"oracle"的目录,并将其所有权分配给用户"oracle"和组"oinstall"。

第2步:设置环境变量在创建数据库实例之前,我们需要设置一些必要的环境变量。

可以通过编辑"~/.bash_profile"文件来设置这些变量。

以下是一个示例:export ORACLE_SID=mydbexport ORACLE_HOME=/usr/local/oracle19cexport PATH=ORACLE_HOME/bin:PATH上述环境变量设置了数据库实例的名称为"mydb",Oracle 19c软件的安装目录为"/usr/local/oracle19c"。

请注意,上述示例假设Oracle 19c软件已经正确安装在"/usr/local/oracle19c"目录中。

oracle数据库创建实例

oracle数据库创建实例

oracle数据库创建实例数据库已经安装完成,可以正常登陆查看⽤户等操作system⽤户只能⽤normal⾝份登陆em。

除⾮你对它授予了sysdba的系统权限或者syspoer系统权限。

sys⽤户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能⽤这两个⾝份,不能⽤normal。

sys所有oracle的数据字典的基表和视图都存放在sys⽤户中,这些基表和视图对于oracle的运⾏是⾄关重要的,由数据库⾃⼰维护,任何⽤户都不能⼿动更改。

sys⽤户拥有dba,sysdba,sysoper等⾓⾊或权限,是oracle权限最⾼的⽤户。

system⽤户⽤于存放次⼀级的内部数据,如oracle的⼀些特性或⼯具的管理信息。

system⽤户拥有普通dba⾓⾊权限。

检查数据库[root@oracle12c ~]# su – oracle[oracle@oracle12c ~]$ lsnrctl startLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10⽉-2019 03:04:10Copyright (c) 1991, 2016, Oracle. All rights reserved.启动/usr/local/Oracle/Product/11.2.0/bin/tnslsnr: 请稍候...TNSLSNR for Linux: Version 12.2.0.1.0 - Production系统参数⽂件为/usr/local/Oracle/Product/11.2.0/network/admin/listener.ora写⼊/usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml的⽇志信息监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521)))监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521)))LISTENER 的 STATUS------------------------别名 LISTENER版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production启动⽇期 21-10⽉-2019 03:04:10正常运⾏时间 0 天 0 ⼩时 0 分 0 秒跟踪级别 off安全性 ON: Local OS AuthenticationSNMP OFF监听程序参数⽂件 /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora监听程序⽇志⽂件 /usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml监听端点概要...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))监听程序不⽀持服务命令执⾏成功[oracle@oracle12c ~]$ lsnrctl statusLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10⽉-2019 03:04:13Copyright (c) 1991, 2016, Oracle. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521)))LISTENER 的 STATUS------------------------别名 LISTENER版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production启动⽇期 21-10⽉-2019 03:04:10正常运⾏时间 0 天 0 ⼩时 0 分 3 秒跟踪级别 off安全性 ON: Local OS AuthenticationSNMP OFF监听程序参数⽂件 /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora监听程序⽇志⽂件 /usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml监听端点概要...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))监听程序不⽀持服务命令执⾏成功创建新的实例1. ⾸先设置要创建的ORACLE的SID[oracle@oracle12c ~]$ export ORACLE_SID=addb2、创建相应⽬录[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/admin/addb/{a,b,c,u}dump[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/admin/addb/pfile[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/oradata/addb3、在$ORACLE_HOME/dbs⽬录下创建初始化⽂件命名⽅法:init实例名.ora 本例中initaddb.ora[oracle@oracle12c ~]$ cd $ORACLE_HOME/dbs[oracle@oracle12c dbs]$ cp init.ora initaddb.ora[oracle@oracle12c dbs]$ vi initaddb.oradb_name='addb'memory_target=1Gprocesses = 150audit_file_dest='/usr/local/Oracle/admin/addb/adump'audit_trail ='db'db_block_size=8192db_domain=''db_recovery_file_dest='/usr/local/Oracle/fast_recovery_area'db_recovery_file_dest_size=2Gdiagnostic_dest='/usr/local/Oracle'dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'open_cursors=300remote_login_passwordfile='EXCLUSIVE'undo_tablespace='UNDOTBS1'# You may want to ensure that control files are created on separate physical# devicescontrol_files = (ora_control1, ora_control2)compatible ='11.2.0'注意不要⽤原来的<ORACLE_BASE>作为路径,修改为对应的绝对路径,否则会报错4、创建密码⽂件[oracle@oracle12c dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwaddb password=p@ssw0rd entries=5 force=y有复杂度要求5、创建oracle的建库脚本 createdb.sql,内容如下,将其放在了$ORACLE_BASE/oradata/addb下⾯[oracle@oracle12c dbs]$ cd $ORACLE_BASE/oradata/addb[oracle@oracle12c addb]$ vi createdb.sqlCREATE DATABASE addbMAXINSTANCES 8MAXLOGHISTORY 1MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100DATAFILE '/usr/local/Oracle/oradata/addb/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management localsysaux datafile '/usr/local/Oracle/oradata/addb/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimiteddefault temporary tablespace TEMP tempfile '/usr/local/Oracle/oradata/addb/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited undo tablespace UNDOTBS1 datafile '/usr/local/Oracle/oradata/addb/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimitedlogfileGROUP 1 ('/usr/local/Oracle/oradata/addb/redo1.dbf') size 10m,GROUP 2 ('/usr/local/Oracle/oradata/addb/redo2.dbf') size 10m,GROUP 3 ('/usr/local/Oracle/oradata/addb/redo3.dbf') size 10mCHARACTER SET ZHS16GBKNATIONAL CHARACTER SET AL16UTF16;6、执⾏建库和数据字典脚本以sysdba进⼊:sqlplus / as sysdba依次执⾏以下命令startup nomount;@$ORACLE_BASE/oradata/addb/createdb.sql@?/rdbms/admin/catalog.sql;@?/rdbms/admin/catproc.sql;@?/rdbms/admin/catexp.sql;[oracle@oracle12c addb]$ sqlplus / as sysdbaSQL> startup nomount;创建所需⽂件⽬录[oracle@oracle12c addb]$ mkdir /usr/local/Oracle/fast_recovery_area 再次尝试[oracle@oracle12c addb]$ sqlplus / as sysdbaSQL> startup nomount;ORACLE 例程已经启动。

linuxoracle创建实例

linuxoracle创建实例

linuxoracle创建实例在Linux系统上使用Oracle创建实例是一个相对复杂的过程,但是通过一步一步的指导,可以顺利完成。

在本文中,我将向您介绍如何在Linux上使用Oracle创建实例的步骤。

要在Linux系统上使用Oracle创建实例,您需要确保系统已经安装了Oracle数据库软件。

如果您还没有安装Oracle数据库软件,可以通过Oracle官方网站下载并按照官方文档进行安装。

一旦Oracle数据库软件安装完成,接下来就可以开始创建实例了。

首先,您需要登录到Linux系统上的Oracle用户。

然后,使用sqlplus命令连接到Oracle数据库。

在SQL命令行界面上,输入以下命令来创建一个新的实例:CREATE DATABASE myinstanceUSER sys IDENTIFIED BY passwordUSER system IDENTIFIED BY passwordLOGFILE GROUP 1 ('/u01/oradata/myinstance/redo01a.log') SIZE 100M,GROUP 2 ('/u01/oradata/myinstance/redo02a.log') SIZE 100M, GROUP 3 ('/u01/oradata/myinstance/redo03a.log') SIZE 100M MAXLOGFILES 5MAXLOGHISTORY 100MAXDATAFILES 100MAXINSTANCES 1CHARACTER SET utf8NATIONAL CHARACTER SET utf8;在上面的命令中,您需要将myinstance替换为您要创建的实例的名称,password替换为您要设置的密码。

另外,您还可以根据自己的需求修改日志文件的路径和大小,以及数据库的字符集和国家字符集等参数。

oracle数据库创建实例

oracle数据库创建实例

oracle数据库创建实例Oracle数据库是目前世界上使用最广泛的商业数据库之一,它的稳定性和数据处理能力备受业界推崇。

在使用Oracle数据库时,首先需要创建一个实例,本文将介绍Oracle数据库创建实例的步骤和注意事项。

1. 配置环境变量在创建Oracle实例之前,需要先配置好相关的环境变量,确保Oracle数据库可以正常运行。

首先需要设置ORACLE_BASE,这是Oracle的基础路径,一般情况下设为/opt/oracle。

其次需要设置ORACLE_HOME,这是Oracle的安装路径,一般情况下设为/opt/oracle/product/11.2.0/dbhome_1。

最后需要设置PATH和LD_LIBRARY_PATH,将Oracle相关的二进制文件路径和库文件路径加入到系统环境变量中。

2. 创建实例创建Oracle实例需要使用dbca命令行工具,该工具可以通过Oracle安装程序自动安装。

在使用dbca之前,需要确保Oracle 数据库服务已经启动。

执行以下命令启动Oracle服务:$ su - oracle$ sqlplus / as sysdbaSQL> startup在Oracle服务启动后,使用dbca创建实例。

执行以下命令:$ dbca在dbca的图形界面中,选择创建数据库。

在创建数据库的过程中,需要指定实例名称、数据库名称、数据库字符集、数据库管理员密码等信息。

需要注意的是,实例名称和数据库名称可以不同,但是实例名称必须唯一。

3. 配置监听器在创建Oracle实例后,需要配置监听器。

监听器是Oracle数据库服务的入口,它负责监听客户端的连接请求,并将请求转发给相应的实例。

在Oracle中,监听器可以使用lsnrctl命令进行管理。

执行以下命令启动监听器:$ lsnrctl start在监听器启动后,需要将实例注册到监听器中。

执行以下命令:$ lsnrctl status$ sqlplus / as sysdbaSQL> alter system register;4. 连接实例在实例和监听器配置完成后,可以使用sqlplus命令连接Oracle实例。

oracle数据库新建数据库语句

oracle数据库新建数据库语句

oracle数据库新建数据库语句以Oracle数据库新建数据库语句为题,我们将介绍如何在Oracle数据库中创建数据库。

Oracle是一种关系型数据库管理系统,可以用于存储和管理大量数据。

下面是创建数据库的步骤:1. 确认数据库实例已启动在创建新的数据库之前,确保Oracle数据库实例已经启动。

可以使用以下命令检查数据库实例的状态:```$ sqlplus / as sysdbaSQL> SELECT instance_name, status FROM v$instance;```2. 创建数据库使用CREATE DATABASE语句来创建新的数据库。

以下是一个示例:```CREATE DATABASE mydbUSER SYS IDENTIFIED BY passwordUSER SYSTEM IDENTIFIED BY passwordLOGFILE GROUP 1 ('/u01/oradata/mydb/redo01.log') SIZE 100M,GROUP 2 ('/u01/oradata/mydb/redo02.log') SIZE 100M,GROUP 3 ('/u01/oradata/mydb/redo03.log') SIZE 100MMAXLOGFILES 5MAXLOGMEMBERS 5MAXDATAFILES 100CHARACTER SET utf8NATIONAL CHARACTER SET utf8EXTENT MANAGEMENT LOCALDATAFILE '/u01/oradata/mydb/system01.dbf' SIZE 500M REUSESYSAUX DATAFILE '/u01/oradata/mydb/sysaux01.dbf' SIZE 500M REUSEDEFAULT TABLESPACE usersDATAFILE '/u01/oradata/mydb/users01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITEDTEMPFILE '/u01/oradata/mydb/temp01.dbf' SIZE 100M REUSE;```在上面的示例中,我们创建了一个名为mydb的数据库。

linux服务器oracle创建实例

linux服务器oracle创建实例

linux服务器oracle创建实例在Linux服务器上创建Oracle实例是一个关键的步骤,它需要一些独特的步骤和配置。

下面将介绍如何在Linux服务器上创建Oracle 实例的过程。

确保已经正确安装了Oracle数据库软件。

如果还没有安装,请根据官方文档进行安装。

安装完成后,打开终端并以root用户身份登录。

我们需要创建一个新的Oracle用户。

我们可以使用以下命令创建一个名为"oracle"的用户:```useradd -m -d /home/oracle -s /bin/bash oracle```接下来,我们需要切换到oracle用户并设置密码:```su - oraclepasswd oracle```然后,我们需要编辑oracle用户的.bash_profile文件,以配置Oracle环境变量。

使用以下命令打开.bash_profile文件:```vi ~/.bash_profile```在文件的末尾添加以下内容:```export ORACLE_HOME=/opt/oracle/product/12.1.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/libexport ORACLE_SID=orcl```保存并关闭文件。

执行以下命令以使配置生效:```source ~/.bash_profile```接下来,我们需要创建一个新的Oracle实例。

使用以下命令打开Oracle实例创建向导:```dbca```在向导中,选择"创建数据库"选项,并按照向导的指示完成配置。

确保输入正确的数据库名称、SID、字符集和存储位置等信息。

完成配置后,向导将开始创建Oracle实例。

这个过程可能需要一些时间,具体取决于你的系统性能和数据库大小。

Oracle数据库建表及其基本操作

Oracle数据库建表及其基本操作

1.在对oracle数据操作之前,需要了解oracle的类型,oracle的常用类型有:2.登录创建好的用户,然后在表空间中建立表,以userinfo表为例:--创建表create table userinfo(id number(6,0),usernam varchar2(20),userpwd varchar2(20),email varchar2(30),regdate date);表建立成功之后,查看是否建表成功,有很多方法,列举我常用的两个方法:方法一:在控制台输入desc userinfo 回车, 可以成功查询出新建表字段的类型方法二:使用图形化工具直接查询表select * from userinfo;3.添加字段alter table table_nameadd column_name datatype;table_name是表名称, column_name是列名称, datatype是数据类型eg:添加一个字段remark字段,是varchar2类型,长度为100alter table userinfoadd remarks varchar2(100);查看表结构:给字段添加注释comment on column 表.列 is '列注释';eg:comment on column new_uesrinfo.remarks is '注释';在plsql上面的运行结果:4.修改表字段名称和表名--给字段改名alter table table_namerename column column_name To new_column_name; --修改表的名字rename table_name to new_table_name;5.删除字段alter table table_namedrop column column_name;6.更改字段长度,类型eg:修改remarks字段修改字段的长度alter table userinfomodify remarks varchar2(150);eg:修改字段类型a.如果表中没有数据alter table 表名 modify(字段名1 类型,字段名2 类型,字段名3 类型.....)b.如果表中有数据(分为四步)--修改原字段名ALTER TABLE 表名 RENAME COLUMN 字段名A TO 字段名B;--添加一个和原字段同名的字段"字段名A",添加的字段ALTER TABLE 表名 ADD 字段名目标类型;--将"字段名B"的数据更新到新建字段"字段名A"中UPDATE 表名 SET 字段名A = TIRM(字段名B);--更新完成后,删除原备份字段"字段名B"ALTER TABLE 表名 DROP COLUMN 字段名Beg:例如将上表的remarks字段修改为number(32,2)alter table userinfo rename column remarks to remarks_tmp;alter table userinfo add remarks number(32,2);update userinfo set remarks = trim(remarks_tmp);alter table userinfo drop column remarks_tmp;7.删除数据,删除表--删除表数据truncate table table_name;delete from table_name这里truncate和delete的区别是,truncate是截断了表,它的效率比delete要快--删除表的结构drop table table_name;。

oracle 新建实例和监听

oracle 新建实例和监听

一、概述Oracle 数据库是一种广泛使用的关系型数据库管理系统,通过创建实例和监听,可以实现数据库的访问和管理。

本文将介绍如何在Oracle数据库中新建实例和监听。

二、新建实例1. 实例概念在Oracle数据库中,实例是指一个完整的数据库环境,包括内存结构、进程和存储结构。

每当数据库启动时,都会创建一个新的实例,这个实例将负责管理数据库的访问和操作。

2. 实例参数设置在新建实例之前,需要首先配置实例参数。

通过修改初始化参数文件(init.ora),可以设置数据库的内存结构大小、日志文件大小、数据库块大小等参数。

这些参数将影响数据库的性能和稳定性。

3. 创建实例在Oracle数据库中,可以通过SQL*Plus工具或者Oracle企业管理器来创建新的实例。

在SQL*Plus中,可以使用CREATE DATABASE命令来创建新的数据库实例,其中包括数据库的名称、存储路径、字符集等基本信息。

在企业管理器中,可以通过图形化界面来完成实例的创建,简化了操作步骤。

4. 实例初始化一旦创建了新的实例,就需要初始化数据库的结构和数据。

这包括创建表空间、用户和角色,导入数据和索引等操作。

通过执行SQL脚本或者使用数据库工具,可以完成这些初始化工作,让数据库可以正常运行。

三、新建监听1. 监听概念在Oracle数据库中,监听是一个网络服务,负责接收客户端的连接请求,并将其转发给数据库实例。

通过监听,客户端可以与数据库建立通信,实现数据的交互和操作。

2. 监听配置要新建监听,首先需要配置监听参数。

通过修改监听参数文件(listener.ora),可以设置监听的名称、端口号、协议等信息。

这些参数将影响监听的工作方式和性能表现。

3. 创建监听在Oracle数据库中,可以使用Net Configuration Assistant工具来创建新的监听。

通过该工具,可以选择监听类型(本地监听或远程监听)、监听协议(TCP/IP、IPC等)等参数,并且可以测试监听的可用性。

oracle19c创建数据库实例

oracle19c创建数据库实例

oracle19c创建数据库实例卡波耳数据库引擎(Oracle Database)是一种多种数据库管理系统,可以用于在各种操作系统(OS)上管理和存储数据。

Oracle19c是最新一代卡波耳数据库引擎,支持众多主流操作系统,可以提供最新的安全、可用性及易用性特性,从而满足企业级应用程序的需要。

本文将介绍如何创建Oracle19C数据库实例,以便把Oracle19c作为企业数据库引擎使用。

要创建Oracle19c数据库实例,首先需要安装Oracle 19c软件,推荐使用“Oracle Universal Installer”安装器,因为它可以帮助用户更加便捷高效地完成安装,也可以通过命令行方式进行安装。

安装完成之后,需要使用“Database Configuration Assistant (DBCA)”来创建数据库实例。

在数据库实例创建第一步中,选择“Advanced”模式,然后根据自己的需求设定实例名称,以及ORACLE_HOME等参数,点击下一步,根据自己的系统环境选择所用的表空间类型;接着定义在实例中使用的数据库版本,设定数据库Log Buffer和排序区,以及PGA和大池参数;然后选择一套合适的衡量指标,以满足数据库实例的运行需求;再根据实际情况手动添加数据库账户及用户权限;最后,根据需要选择安装应用服务工具,以此完成数据库实例的创建。

创建好数据库实例之后,需要对它进行管理。

实例打开时,需要执行如构建表空间、更改参数等操作,这些操作可以使用“增量式增量备份”、“Recovery Area”和“故障恢复策略”等功能来实现。

通过以上步骤,就可以成功地创建Oracle19c数据库实例,以便使用Oracle19c作为企业数据库引擎。

Oracle19c在安全、可用性及易用性等方面的改进,使得它可以更加有效地满足企业级应用程序的需求,有助于企业数据库安全和可靠运行。

oracle创建实例步骤

oracle创建实例步骤

oracle创建实例步骤一、概述Oracle数据库是一种关系型数据库管理系统,可以通过创建实例来进行数据库的管理和操作。

本文将介绍Oracle创建实例的步骤,以帮助读者快速掌握实例创建的过程。

二、安装Oracle数据库软件在创建Oracle实例之前,首先需要安装Oracle数据库软件。

安装过程可以参考Oracle官方文档或者相关教程进行操作。

三、配置Oracle数据库参数文件1. 打开Oracle数据库软件所在的安装目录,找到数据库参数文件的位置。

一般情况下,参数文件位于$ORACLE_HOME/dbs目录下。

2. 复制一个参数文件的备份,命名为init<实例名>.ora,例如initORCL.ora。

3. 打开备份的参数文件,根据实际需求修改其中的配置项。

例如,可以修改数据库名称、监听端口、内存分配等参数。

4. 保存修改后的参数文件。

四、创建Oracle实例1. 打开命令行窗口或者终端,使用sysdba权限登录到Oracle数据库。

可以使用以下命令登录:sqlplus /nologconn / as sysdba2. 输入以下命令创建实例:create database <实例名>例如,create database ORCL3. 等待实例创建完成,创建过程中会显示进度信息。

五、配置Oracle实例参数1. 使用以下命令打开实例参数配置界面:sqlplus /nologconn / as sysdbaalter system set <参数名>=<参数值> scope=spfile;例如,alter system set memory_target=2G scope=spfile;2. 根据实际需求,修改实例的配置参数。

例如,可以修改内存分配、并发连接数、表空间大小等参数。

3. 使用以下命令使参数配置生效:shutdown immediatestartup六、创建Oracle数据库用户1. 使用以下命令登录到Oracle数据库:sqlplus /nologconn / as sysdba2. 输入以下命令创建数据库用户:create user <用户名> identified by <密码>;例如,create user test identified by test123;3. 授予用户权限:grant connect, resource to <用户名>;例如,grant connect, resource to test;4. 提交更改:commit;七、测试连接Oracle实例1. 使用以下命令登录到Oracle数据库:sqlplus <用户名>/<密码>@<实例名>例如,sqlplus test/test123@ORCL2. 如果能够成功登录到数据库,说明实例创建和配置成功。

Oracle11G数据库实例创建

Oracle11G数据库实例创建

输入dbca,打开图形化界面
选择Custom Database
指定实例名:
指定用户口令:
此处指定是否使用归档(生产环境建议开启归档;测试环境不需要归档,取消勾选。


取消不用的插件:
指定SGA的大小(建议为服务器物理内存的40%-60%即可)
Processes建议修改为500-1500(根据并发判断)
修改字符集为:ZHS16GBK
点击下方按钮All Initiallzation Parameters
点击按钮Show Advanced Parameters:
修改db_writer_processes 为2(缺省值为1)
修改open_cursors 为1000(缺省值为300)
点击Close
点击NEXT:
在这里可以修改默认表空间的路径、大小等信息:
Redolog 建议增加为4组,每组500M (缺省3组,每组50M)
点击Finish,
点击OK ,开始创建数据库
经过等待,弹出下列窗口则说明数据库实例创建成功。

ORACLE创建实例

ORACLE创建实例

ORACLE创建实例是我们最常用的操作之一,下面就为您详细介绍ORACLE创建实例的全过程,希望对您能够有所帮助。

一、ORACLE创建实例过程:1、安装好ORACLE服务端。

2、ORACLE创建实例,使用ORAHOME目录下的"Configuration and Migration Tools"下的"Database Configuration Assistant"工具。

3、步骤2:选择"创建数据库"。

4、步骤3:选择数据库模板。

5、步骤4:选择"专用服务器模式"。

6、步骤5:设置初始化参数。

7、其它默认,点击"完成"。

创建一个数据库实例,在系统服务里会增加一个服务,名为:"OracleServer"+所创建的数据库实例的SID,该服务需要启动。

二、接着需要配置监听文件,如果没有的话,在OEM中"将数据库添加到数",打开,输入SYSTEM/PASSWORD,会提示没有监听器的。

监听文件路径:ORAHOME/ora92/network/admin/listener.ora另外监听器日志文件路径是:ORAHOME/ora92/network/log/listener.log用编辑器打开listener.ora文件,修改设置信息。

例如(下面是一个完成的文件内容):# LISTENER.ORA Network Configuration File: D:\oracle\ora92\network\admin\listener.ora # Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 86.16.24.88)(PORT = 1521)))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\ora92)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = name.domain)(ORACLE_HOME = D:\oracle\ora92)(SID_NAME = name))(SID_DESC =(GLOBAL_DBNAME = OEMREP)(ORACLE_HOME = D:\oracle\ora92)(SID_NAME = OEMREP))(SID_DESC =(GLOBAL_DBNAME = DEMO)(ORACLE_HOME = D:\oracle\ora92)(SID_NAME = DEMO))(SID_DESC =(GLOBAL_DBNAME = demo_dw)(ORACLE_HOME = D:\oracle\ora92)(SID_NAME = demodw)))三、运行监听器:1、在"开始"——"运行",输入lsnrctl,进入监听器管理。

oracle基本操作

oracle基本操作

oracle基本操作Oracle是一种关系数据库管理系统,它是世界上最受欢迎的企业级数据库。

它被各种企业广泛使用,它的功能非常强大,包括数据安全、访问控制、事务处理、性能优化、数据备份和恢复等。

本文将介绍Oracle的基本操作,包括如何创建、修改和删除表,如何插入、更新和删除数据,以及如何查询和导出数据。

这些操作对于初学者来说非常重要,也是使用Oracle的基础。

1.创建表格在Oracle中,创建表的语法如下:CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );其中,table_name是要创建的表的名称,column1、column2等是列名,datatype是列的数据类型。

例如,创建一个名为“employees”的表格,并添加列“id”、“name”和“salary”,则可以使用以下命令:CREATE TABLE employees ( id NUMBER(4) NOT NULL, name VARCHAR2(15) NOT NULL, salary NUMBER(7,2), PRIMARY KEY (id) );注意,id和name列设置为NOT NULL,这表示这两列不能为空。

salary列的数据类型为NUMBER,并设置了精度和小数位数。

2.修改表格如果需要修改表格,可以使用ALTER TABLE命令。

例如,如果想向employees表格添加新的列“address”,可以使用以下命令:ALTER TABLE employees ADD address VARCHAR2(50);如果需要删除表格中的列,可以使用以下命令:ALTER TABLE employees DROP COLUMN address;3.删除表格如果需要删除一个表格,可以使用以下命令:DROP TABLE table_name;例如,删除名为“employees”的表格:DROP TABLE employees;如果不小心使用了错误的命令或者删除的表格不是自己想要的,则可以使用RECOVER命令来找回删除的表格。

Oracle 11gR2 创建数据库实例

Oracle 11gR2 创建数据库实例

Oracle 11gR2 创建数据库实例因为工作需要在Oracle 11gR2库中新建一数据库实例。

采用脚本命令创建,建议使用oracle用户进行以下操作。

顺序如下:1.创建实例启动用的参数文件。

在程序默认的参数文件里修改即可:重命名规则initSID.ora/u01/oracle/product/11.2.0/db_1/dbs/ 下,目录尽量使用绝对路径,采用ORACLE_BASE等环境变量有可能报错。

例initcrm.oradb_name='crm' --修改#memory_target=500m --注释掉sga_target=200m --添加pga_aggregate_target=60m --添加processes = 150audit_file_dest='/u01/oracle/admin/crm/adump' --建立目录audit_trail ='db'db_block_size=8192db_domain=''db_recovery_file_dest='/u01/oracle/flash_recovery_area' --建立目录db_recovery_file_dest_size=2Gdiagnostic_dest='/u01/oracle' ---修改dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'open_cursors=300remote_login_passwordfile='EXCLUSIVE'undo_tablespace='UNDOTBS1'2.创建相应目录:mkdir -p /u01/oracle/admin/ora11g/adumpmkdir -p /u01/oracle/admin/ora11g/dpdumpmkdir -p /u01/oracle/flash_recovery_area3.创建密码文件:命名规则orapwSID,目录依旧是 /u01/oracle/product/11.2.0/db_1/dbs/Linux下orapw+实例名Windows下pwd+实例名$ orapwd file=orapwora11g password=oracle4.创建数据库实例设置环境变量export ORACLE_SID=crm执行以下命令sqlplus /nologconn / as sysdba注意:本处可能报错需要可能的原因:a)glibc-devel-2.5-58.el5_6.4、libaio-0.3.106-5包是否已安装,命令分别为rpm -q glibc-devel、rpm -q libaiob)oracle目录权限不足或属组不对,chmod 6751 oracle 授权、chown -R oracle.oinstall /u01/oracle 修改属组执行建库脚本:startup nomount pfile="/u01/oracle/product/11.2.0.1/db1/dbs/initcrm.ora";CREATE DATABASE "crm"MAXINSTANCES 8MAXLOGHISTORY 1MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100DATAFILE '/u01/oracle/oradata/system01.dbf' SIZE 1024M REUSEEXTENT MANAGEMENT LOCALSYSAUX DATAFILE '/u01/oracle/oradata/sysaux01.dbf' SIZE 500M REUSESMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/oradata/temp01.dbf' SIZE 20M REUSESMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u01/oracle/oradata/undo01.dbf' SIZE 300M REUSE CHARACTER SET ZHS16GBKNATIONAL CHARACTER SET AL16UTF16LOGFILE GROUP 1 ('/u01/oracle/oradata/log01.dbf') SIZE 50M,GROUP 2 ('/u01/oracle/oradata/log02.dbf') SIZE 50M,GROUP 3 ('/u01/oracle/oradata/log03.dbf') SIZE 50M;创建USERS表空间CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/u01/app/oradata/user01.dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;ALTER DATABASE DEFAULT TABLESPACE "USERS";------------------------------------------SQL> create spfile from pfile;File created.-----------------------------------------sqlplus / as sysdbaSQL> show user;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catalog.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catblock.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catproc.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catoctk.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/owminst.plb;使用system用户编译@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/pupbld.sql;@/u01/oracle/product/11.2.0.1/db1/sqlplus/admin/help/hlpbld.sql helpus.sql;使用sys用户编译@/u01/oracle/product/11.2.0.1/db1/javavm/install/initjvm.sql;@/u01/oracle/product/11.2.0.1/db1/xdk/admin/initxml.sql;@/u01/oracle/product/11.2.0.1/db1/xdk/admin/xmlja.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catjava.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catexf.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catxdbj.sql;@/u01/oracle/product/11.2.0.1/db1/rdbms/admin/catrul.sql;spool /oracle/admin/edidb/scripts/ordinst.log append@/u01/oracle/product/11.2.0.1/db1/ord/admin/ordinst.sql SYSAUX SYSAUX;spool offspool /u01/oracle/admin/ora11g/scripts/interMedia.log append@/u01/oracle/product/11.2.0.1/db1/ord/im/admin/iminst.sql;spool offset echo onspool /oracle/admin/edidb/scripts/lockAccount.log appendBEGINFOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', ' EXPIRED') AND USERNAME NOT IN ('SYS','SYSTEM') )LOOPdbms_output.put_line('Locking and Expiring: ' || ERNAME);execute immediate 'alter user ' ||sys.dbms_assert.enquote_name(sys.dbms_assert.schema_name(ERNAME),false) || ' password expire account lock' ;END LOOP;END;/spool off到此,数据库实例建立完毕。

oracle用脚本创建数据库等过程参考

oracle用脚本创建数据库等过程参考

一、数据库创建过程STEP1、编写初始化文件1、将%ORACLE_HOME%\admin\sample\pfile文件复制到%ORACLE_HOME%\database下更改命名为spfile.ora2、修改初始化参数文件新增参数instance_name=orcldb_domain=修改参数db_name=orcldb_block_size=8192remote_login_passwordfile=exclusiveSTEP2、设置操作系统环境变量在系统环境变量中修改oracle_sid为orclSTEP3、1、创建实例oradim -new -sid orcl -intpwd sys123 -startmode suto2、以管理员身份登录数据库sqlplus /nologconn / as sysdbacreate spfile from pfile;启动实例到nomount状态startup nomountSTEP4、执行创建数据库脚本create database orcldatafile 'C:\database\orcl\system_01.dbf' size 256m autoextend on next 10m maxsize unlimitedsysaux datafile 'C:\database\orcl\systemaux_01.dbf' size 100m autoextend on next 10m maxsize unlimitedlogfilegroup 1('C:\database\orcl\log_1_01.rdo') size 10m,group 2('C:\database\orcl\log_2_01.rdo') size 10m character set zhs16gbk;STEP5、运行数据字典脚本1、conn / as sysdba@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql 2、conn system/manager@C:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql 二、控制文件和重做日志文件多录化多路控制文件(利用spfile文件)1、超级用户sys登录2、查询数据字典v$controlfile得到控制文件的信息select name from v$controlfile; --执行得到控制文件名称和位置3、更改spfile中控制文件信息SQL> alter system set cntrolfiles='c:\oracle\product\10.2.0\db_1\database\CTL1ORCL.ora','d:\oradata\CTL2ORCL.ora','e:\oradata\CTL3ORCL.ora'scope=spfile;4、关闭数据库shutdown immediate5、将c:\oracle\product\10.2.0\db_1\database目录下的CTL1ORCL.ora拷贝到指定的位置,并更改为对应的名称。

创建多个Oracle数据库及相应的实例(清晰到每一步)

创建多个Oracle数据库及相应的实例(清晰到每一步)

基础概念
一般Oracle数据库(Oracle Database)可以分为两部分,即实例(Instance)和数据库(Database)。

实例:是一个非固定的、基于内存的基本进程与内存结构。

当服务器关闭后,实例也就不存在了。

数据库(Database)指的是固定的、基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等。

一般情况下,Oracle数据库都是一个数据库对应一个实例。

如下图所示。

当然可以根据需要创建多个数据库和对应的多个实例。

测试环境
Windows 7 旗舰版,32位操作系统,已经安装Oracle 11g R2,并创建一个数据库和实例ORAC11
Windows中安装的服务如下图所示。

创建新的数据库及对应的实例
打开Database Configuration Assistant
此警告页面不用管,后面可以重新配置。

连接不同的数据库实例
将2个数据库对应的实例都启动起来。

链接ORAC11
cmd
SQLPLUS SYS/SYS@ORAC11 AS SYSDBA 连接ORAC111
cmd
SQLPLUS SYS/SYS1@ORAC111 AS SYSDBA 一切正常。

linux oracle19c 创建数据库实例

linux oracle19c 创建数据库实例

linux oracle19c 创建数据库实例1. 安装Oracle19c数据库软件下载Oracle19c数据库软件,解压缩并安装。

参考链接:2. 创建实例登录Oracle用户,使用ORACLE_HOME环境变量来定位Oracle19c软件的安装路径,进入ORACLE_HOME/bin目录,使用dbca命令来创建数据库实例。

export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1 cd ORACLE_HOME/bin./dbca在弹出的图形化界面中,选择“创建数据库”,然后按照提示填写相应的信息,包括实例名称、SID、字符集、数据库区域等。

填写完毕后,选择“下一步”进入下一个步骤,即创建管理用户和设置密码。

这里需要使用一个具有sysdba角色的用户来创建和管理数据库实例,可以选择创建一个新用户或者使用已有的用户,然后设置一个强密码。

最后,选择“完成”即可开始创建实例。

3. 等待实例创建完成创建实例的过程需要一定的时间,具体时间根据系统性能和实例设置而定。

在等待过程中,可以观察实例创建的日志信息,确定是否有错误或者问题需要处理。

实例创建完成后,可以通过lsnrctl status命令验证实例是否已经启动。

4. 连接和使用数据库实例实例创建完成后,就可以使用sqlplus等工具来连接和使用数据库实例了。

使用sysdba角色连接时需要加上as sysdba选项。

sqlplus / as sysdba进入数据库后,可以执行SQL语句来创建表、插入数据等操作。

这里需要注意,对于需要涉及到数据库中的敏感数据和重要信息的操作需要谨慎,避免误操作导致数据丢失或泄露。

oracle数据库新建实例

oracle数据库新建实例

oracle数据库新建实例
Oracle数据库新建实例的步骤如下:
1. 使用root用户登录操作系统,检查Oracle数据库软件是否已经正确安装并配置好环境变量。

2. 进入ORACLE_HOME/bin 目录下,以oracle用户身份执行以下命令:
./dbca
3. 在弹出的“Database Configuration Assistant”向导中,选择“创建数据库”并点击“下一步”。

4. 选择“自定义创建”并点击“下一步”。

5. 输入数据库的全局数据库名和实例名,并指定数据库的字符集和语言,然后点击“下一步”。

6. 在“数据库文件位置”页面上,选择指定的数据文件、控制文件、归档文件和密码文件的存储路径,并指定其大小,并点击“下一步”。

7. 在“恢复区”页面上,选择指定的恢复目录的位置和大小,并点击“下一步”。

8. 在“数据库选项”页面上,选择要安装的数据库选项,并点击“下一步”。

9. 在“初始化参数设置”页面上,设置数据库的系统、会话和SQL优化参数值,并点击“下一步”。

10. 在“创建数据库”页面上,确认数据库信息并点击“完成”。

11. 等待数据库创建完成后,可以使用sqlplus登录到该数据库并进行测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

我们经常所说的数据库实例这一称谓应该换做数据库更为准确,数据库可以理解为是一个物理的静态概念,主要包括一些物理存在的数据库文件,而数据库实例则是一个动态概念,包括一些内存区域以及若干进程,数据库实例是对数据库进行操作的执行者。

安装完Oracle数据库系统的安装后,需要创建数据库实例才能真正开始使用Oracle 数据库服务。

总结起来,Oracle有三种创建数据库实例的方法。

第一种,最常用也最简单,那就是通过DBCA(Database Configuration Assistant),这是Oralce提供的一个图形界面的数据库实例配置工具,通过它可以创建、删除和修改数据库实例,它的使用也比较简单、易懂,交互式的图形界面操作,非常准确有效的提示与配置,是一个比较方便的创建数据库实例的方式。

按照DBCA给出的提示,很容易创建一个新数据库实例。

在创建数据库的时候,DBCA还提供了两个选项,让你可以根据刚刚设置好的参数生成一个数据库实例模板和一份数据库实例创建脚本。

这两个东西是非常好,非常有用的东西,数据库模板由Oracle自己管理维护,已经创建好的数据库实例模板可以在DBCA图形程序新建数据库实例时作为模板来使用,另外在DBCA使用responseFile文件或者命令行参数创建数据库时也需要用到(见后面介绍);数据库创建脚本是一组脚本,包括shell脚本和sql 脚本,这些脚本共同实现一个功能,那就是按照你之前在DBCA中设置好的那样创建一个数据库实例(后面也会有介绍),你需要做的只是将这些脚本在你的代码中调用起来。

当然,你也可以选择只生成数据库模板或者数据库脚本,而不用去创建一个真的数据库(这通常很费时间)。

Oracle数据库实例的创建、删除、修改DBCA是一个非常强大的工具,上面看到的只是DBCA最常用的创建一个数据库实例的使用,其实DBCA还提供另外两种使用方法,分别是responseFile和命令行带参调用。

先说DBCA的responseFile使用方法,responseFile这个东东并不陌生,前文讲的Oracle自动安装就是使用responseFile完成的,DBCA的responseFile使用方法和Oracle 安装程序的responseFile使用方法基本一致。

但DBCA的responseFile的来源只能是Oracle 安装包中提供的模板文件,而不能向Oracle安装程序的responseFile一样,先自己record 一个,然后再用这个record去指导Oracle的自动安装。

从Oracle安装包中获取到DBCA 的responseFile模板文件后,你可以根据自己的需要编辑修改该模板文件,以完成对数据库实例的某些参数设置(DBCA图形界面所提供的参数设置,responseFile中都可以设置,而且该responseFile模板文件的注释写的很好,你完全不用担心无法搞定那些繁杂的数据库实例参数设置,赞Oralce一个!)。

该模板文件在Oracle安装包中的位置一般在${ORACLE_PACKAGE}/response目录下。

有了responseFile之后,你只需在调用DBCA的时候指定responseFile的位置和另外一些参数:dbca [-silent|-progressOnly] -responseFileresponseFile名称其中-silent|-progressOnly选项意义和Oracle安装程序命令行参数中的同名选项一样,表示完全字符界面自动安装或者带图形提示界面的半自动化安装。

responseFile名称当然就是responseFile的具体位置了。

但是,有一点不是很好,那就是使用DBCA的responseFile方式创建Oracle数据库实例,需要事先已经存在一个数据库实例模板了,在responseFile中再指定该数据库实例模板名,然后DBCA再依据这个已有的数据库实例模板完成新数据库实例的创建,所以就会有前面讲到的DBCA图形界面创建数据库实例时提供生成数据库实例模板的选项(数据库实例模板也可以从一个已有数据库实例生成),就是在这要用到的。

从上面调用DBCA使用responseFile的命令中,应该已经看到了DBCA是提供一些命令行参数选项的,其实DBCA提供的命令行参数选项远比你想象的强大,甚至可以这么说,所有DBCA图形界面和responseFile能够办到的事,通过DBCA丰富的命令行参数选项都可以办到。

你在DBCA图形界面上设置的参数或者在responseFile中指定的参数值都可以通过DBCA的命令行参数选项来进行设置,所以你完全可以只通过DBCA的命令行带参调用来完成一个数据库实例的创建(当然也包括删除、修改数据库实例等所有DBCA图形界面所能提供的功能)。

其实,我更愿意这样认为,DBCA的responseFile应用也是一种DBCA命令行带参调用的使用。

需要注意的是,当DBCA的命令行参数和responseFile同时设置一个参数时,命令行参数的优先级是比responseFile要高的。

另外,使用DBCA命令行带参调用新建数据库实例和使用responseFile新建数据库实例一样,也是需要事先已经存在一个数据库实例模板,才能完成新数据库实例的创建。

一份非常详细的DBCA所有命令行参数选项列表,你可以通过执行dbca -help获得。

到现在你可能已经发现,DBCA图形界面、DBCA的responseFile使用以及DBCA的命令行带参调用,其实是三个分别具备完全数据库实例设置功能的工具或者接口,分别对应不同的应用场景,它们可以满足你几乎所有的应用需求(使用这样的工具来帮助构建自己的软件真是非常惬意的一件事情,再赞Oracle一个!)。

第二种是通过脚本(是否称为命令行方式更合适,下文描述的脚本方式其实都是命令行方式的非交互式方法,或者说命令行的自动化方式,但其实所有脚本方式都可以将shell 脚本或sql脚本中的shell命令、sqlplus命令拆分出来,手工在shell中或者sqlplus界面中进行交互式的输入执行,这可以称为命令行的手工方式)来完成数据库实例的代码中自动创建。

这里说的脚本包括shell脚本和sql脚本,这种方式可以说是最适合与编程结合的,因为这些shell脚本或者sql脚本都可以直接在shell命令中调用执行,所以可以很好与shell编程相结合。

而这其实是基于一个非常重要的事实,即Oracle提供了一个交互式的命令行工具sqlplus(类似与DB2的db2cmd),这个工具可以认为是一个Oracle数据库管理工具,通过它可以执行一些Oracle的数据库管理命令,来完成一些数据库管理工作(这当然就包括数据库实例的创建),同时你也可以把它当作一个SQL语句执行器,直接在里边执行你想要执行的SQL语句或者存储过程等,并获取执行结果。

并且,更重要的是,sqlplus 可以直接在shell命令行中进行非交互式的调用执行(通常是调用执行一段sqlplus语句,或者是一个由一些sqlplus语句组成的sql脚本,我所说的sqlplus语句包括Oracle数据库管理维护命令、SQL语句和存储过程等),这就为在shell编程中使用sqlplus完成数据库实例自动创建工作提供了可能。

shell命令行中非交互式调用sqlplus执行一段sqlplus语句是利用shell编程中重定向命令的一个特性,即分隔符重定向输入。

一般用法如下:command<<任意自定义分隔符>(换行)内容>(换行)内容>自定义分隔符shell中遇到<<则会自动将下一个单词认作分隔符,并将分隔符后面的文本当作command命令执行的内容传递给command依次全部执行直至遇到下一个分隔符单词才结束。

这里的分隔符可以是任意自定义的单词,通常使用EOF,举例:sqlplus / as sysdba<<EOFstartupnomount;select * from v$version;shutdown immediate;exit;EOF这段shell程序调用sqlplus执行了若干sqlplus语句,用来启动数据库实例,查询数据库版本信息,然后关闭数据库实例,退出sqlplus。

shell命令行中非交互式调用sqlplus执行一个sql脚本是利用sqlplus本身提供的命令行参数。

在sqlplus界面中可以通过start命令和@命令来执行一个sql脚本,两者功效相同,用法如下:SQL>start sql脚本绝对路径;SQL>@sql脚本绝对路径;而在shell命令行中可以使用@来完成sqlplus对sql脚本的调用执行,举例:sqlplus / as sysdba @./MySQL.sql以上命令会调用sqlplus执行当前目录下的MySQL.sql脚本。

使用脚本来完成数据库实例的创建工作,也分为两种情况。

一种是诚如前文所述的那样,在使用DBCA图形工具创建数据库实例的同时生成一份数据库实例创建脚本(包括若干shell脚本和sql脚本),那么你就可以使用这份脚本,在shell 中进行调用,完成数据库实例的代码自动创建。

使用这份数据库实例创建脚本创建的新数据库实例和原数据库实例是完全一样,当然,你可以将生成的脚本进行修改,以完成你对数据库实例的某些设置,但是请在你对脚本内容已经足够了解,并且知道你自己在干什么的情况下修改脚本,否则你很有可能使用修改后的脚本无法正确创建数据库实例。

这种方法中shell脚本对sqlplus的使用,更多的是使用sqlplus来执行一些Oracle生成的sql脚本(这些sql脚本的内容是就是一些sqlplus语句的集合,它们的任务就是完成数据库实例的创建以及设置)。

另一种情况则是不依靠DBCA生成的脚本,完全由自己来编写实现一份shell脚本,在脚本中你可以调用sqlplus执行一段sqlplus语句或者其它一些sql脚本,以完成数据库实例的创建和设置,这完全取决于你的实现;而最常用的用来创建数据库实例的一个方法就是在sqlplus中使用create database语句,create database语句提供了许多丰富的选项和参数设置,确保你能完全创建一个自己所需要的数据库实例。

当然,还有一些其它方法可以创建数据库实例,比如调用执行oracle提供某些存储过程等。

至于create database语句的详细介绍可以参考oracle的sql reference。

第三种严格来说不能算作一种创建Oracle数据库实例的方法,它是通过已有的数据库实例为基础来完成新数据库实例的创建的。

相关文档
最新文档