怎样用‘运行’打开数据库啊 命令是什么

怎样用‘运行’打开数据库啊 命令是什么,第1张

启动一个数据库需要三个步骤:

1、 创建一个Oracle实例(非安装阶段)

2、 由实例安装数据库(安装阶段)

3、 打开数据库(打开阶段)

在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。

1、STARTUP NOMOUNT

NONOUNT选项仅仅创建一个Oracle实例。读取initora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Initora 文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下所示:

SQL> startup nomount

ORACLE 例程已经启动。

Total System Global Area 35431692 bytes

Fixed Size 70924 bytes

Variable Size 18505728 bytes

Database Buffers 16777216 bytes

Redo Buffers 77824 bytes

2、STARTUP MOUNT

该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护 *** 作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"的提示。

3、STARTUP

该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个"数据库已经打开"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。

如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的 *** 作。例如,如果你以STARTUP NOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面的两条命令,数据库才能正确启动。

*** 作顺序如下:

1创建实例启动用的参数文件。在程序默认的参数文件里修改即可:重命名规则 initSIDora

/u01/oracle/product/1120/db_1/dbs/ 下,目录尽量使用绝对路径,采用ORACLE_BASE等环境变量有可能报错。

例 initcrmora

db_name='crm' --修改

#memory_target=500m --注释掉

sga_target=200m --添加

pga_aggregate_target=60m --添加

processes = 150

audit_file_dest='/u01/oracle/admin/crm/adump' --建立目录

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest='/u01/oracle/flash_recovery_area' --建立目录

db_recovery_file_dest_size=2G

diagnostic_dest='/u01/oracle' ---修改

dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

open_cursors=300

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

2创建相应目录:

mkdir -p /u01/oracle/admin/ora11g/adump

mkdir -p /u01/oracle/admin/ora11g/dpdump

mkdir -p /u01/oracle/flash_recovery_area

3创建密码文件:命名规则 orapwSID,目录依旧是 /u01/oracle/product/1120/db_1/dbs/

Linux下orapw+实例名

Windows下pwd+实例名

$ orapwd file=orapwora11g password=oracle

4创建数据库实例

设置环境变量 export ORACLE_SID=crm

执行以下命令

sqlplus /nolog

conn / as sysdba

注意:本处可能报错需要可能的原因: a)glibc-devel-25-58el5_64、libaio-03106-5包是否已安装,命令分别为rpm -q glibc-devel、rpm -q libaio

b)oracle目录权限不足或属组不对,chmod 6751 oracle 授权、chown -R oracleoinstall /u01/oracle 修改属组

执行建库脚本:

startup nomount pfile="/u01/oracle/product/11201/db1/dbs/initcrmora";

CREATE DATABASE "crm"

MAXINSTANCES 8

MAXLOGHISTORY 1

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

DATAFILE '/u01/oracle/oradata/system01dbf' SIZE 1024M REUSE

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/u01/oracle/oradata/sysaux01dbf' SIZE 500M REUSE

SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/oradata/temp01dbf' SIZE 20M REUSE

SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u01/oracle/oradata/undo01dbf' SIZE 300M REUSE

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16

LOGFILE GROUP 1 ('/u01/oracle/oradata/log01dbf') SIZE 50M,

GROUP 2 ('/u01/oracle/oradata/log02dbf') SIZE 50M,

GROUP 3 ('/u01/oracle/oradata/log03dbf') SIZE 50M;

创建USERS表空间

CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/u01/app/oradata/user01dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

ALTER DATABASE DEFAULT TABLESPACE "USERS";

------------------------------------------

SQL> create spfile from pfile;

File created

-----------------------------------------

sqlplus / as sysdba

SQL> show user;

@/u01/oracle/product/11201/db1/rdbms/admin/catalogsql;

@/u01/oracle/product/11201/db1/rdbms/admin/catblocksql;

@/u01/oracle/product/11201/db1/rdbms/admin/catprocsql;

@/u01/oracle/product/11201/db1/rdbms/admin/catoctksql;

@/u01/oracle/product/11201/db1/rdbms/admin/owminstplb;

使用system用户编译

@/u01/oracle/product/11201/db1/sqlplus/admin/pupbldsql;

@/u01/oracle/product/11201/db1/sqlplus/admin/help/hlpbldsql helpussql;

使用sys用户编译

@/u01/oracle/product/11201/db1/javavm/install/initjvmsql;

@/u01/oracle/product/11201/db1/xdk/admin/initxmlsql;

@/u01/oracle/product/11201/db1/xdk/admin/xmljasql;

@/u01/oracle/product/11201/db1/rdbms/admin/catjavasql;

@/u01/oracle/product/11201/db1/rdbms/admin/catexfsql;

@/u01/oracle/product/11201/db1/rdbms/admin/catqmsql change_on_install SYSAUX TEMP YES;

@/u01/oracle/product/11201/db1/rdbms/admin/catxdbjsql;

@/u01/oracle/product/11201/db1/rdbms/admin/catrulsql;

spool /oracle/admin/edidb/scripts/ordinstlog append

@/u01/oracle/product/11201/db1/ord/admin/ordinstsql SYSAUX SYSAUX;

spool off

spool /u01/oracle/admin/ora11g/scripts/interMedialog append

@/u01/oracle/product/11201/db1/ord/im/admin/iminstsql;

spool off

set echo on

spool /oracle/admin/edidb/scripts/lockAccountlog append

BEGIN

FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN (

'SYS','SYSTEM') )

LOOP

dbms_outputput_line('Locking and Expiring: ' || itemUSERNAME);

execute immediate 'alter user ' ||

sysdbms_assertenquote_name(

sysdbms_assertschema_name(

itemUSERNAME),false) || ' password expire account lock' ;

END LOOP;

END;

/

spool off

到此,数据库实例建立完毕。

解释: 数据库(database):物理 *** 作系统文件或磁盘( disk)的集合。使用Oracle 10g 的自动存储管理(Automatic Storage Management,ASM)或RAW 分区时,数据库可能不作为 *** 作系统中单独的文件,但定义仍然不变。 实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。 这两个词有时可互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!补充: 一般来说,我们的一个数据库对应一个实例,但在集群RAC情况下,共享数据库文件时,一个数据库是可以被多个实例同时使用的。演示启动xxx实例,挂接数据库,打开数据库,关闭数据库、卸载数据库、关闭实例的过程。1、为了能进行以上 *** 作,oracle的监听必须首先启动,这样,我们才有机会连接到oracle服务器端。可以通过如下命令进行:lsnrctl start;2、oracle启动,windows下通常在服务里启动oracle,一般情况下同时启动相关实例,但也可以设置启动oracle时,不启动任何指定实例,这样oracle的启动速度相当快。3、设定我们需要启动的相关实例。在console窗口中,输入 set oracle_sid=xxx (unix环境下用export命令)4、用/nolog方式,进入sqlplus。 在console窗口中,输入 sqlplus /nolog ,然后回车,则进入sqlplus环境。5、输入命令 connect sys as sysdba 回车后,提示输入口令,直接回车,则以sysdba的角色连接到oracle的空闲实例。6、输入命令 startup nomount 回车,则启动了xxx实例,由set oracle_sid=xxx设置。7、输入命令 alter database mount 回车,则将相应的数据库挂接到xxx实例。8、输入命令 alter database open 回车,则打开了相应数据库。9、输入命令 shutdown,则关闭数据库、卸载数据库、关闭实例。oracle数据库的实例,其中“实例”是什么意思?

以上就是关于怎样用‘运行’打开数据库啊 命令是什么全部的内容,包括:怎样用‘运行’打开数据库啊 命令是什么、oracle11g怎么建立实例数据库、oracle数据库的实例,其中“实例”是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9846056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存