启动一个数据库需要三个步骤:
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数据库的实例,其中“实例”是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)