Oracle 学习 Day1 - Oracle 数据库与实例

1.术语定义

Database

操作系统级别的物理文件,或者更彻底一点,一组磁盘文件((data files, temporary files, redo log files, and control file)。

Instance

一组进程/线程+共享内存。所以Instance是易失的。Instance的运行存在可以不依赖磁盘。

 

Database和Instance是多对一的关系,即一个Instance只打开一个Database,而一个Database可以被多个Instance打开。传统上,一个Database也只有一个Instance打开,被多个Instance打开的情况是在Oracle Real Application Clusters (RAC)下。

 

2. Instance在ps中显示的名字的命名规则为oracle$ORACLE_SID。 (ORACLE_SID指定了缺省的tnsname,即site identifier )

 

3. 启动Instance

3.1 必备条件

Windows下先需要运行oradim.exe简历服务在启动实例。

要有init.ora这个parameter file(参数文件,指定database block size, control file locations etc.)如Windows在E:/oracle/product/10.2.0/db_1/database/initora11gr2.ora,命名规则init$ORACLE_SID.ora

Unix在/home/ora11gr2/dbs/initora11gr2.ora。

3.2 流程

登录sqlplus

SQL> startup 或者 startup nomount 如果database不存在,那需要先指定nomount。

SQL> !ps -aef | grep ora11gr2

你可以看到后台进程就在运行了。pmon,lgwr

SQL> !ipcs -a

查看进程间的通信机制

SQL> create database;

创建数据库

还需要运行$ORACLE_HOME/rdbms/admin/catalog.sql来创建数据字典的view

SQL> select name from v$datafile;

SQL> select member from v$logfile;

SQL> select name from v$controlfile;

查看V$ view

 

我们可以关闭一个数据库

SQL> alter database close;

但是在这个instance中,想再打开数据库是不可以的

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-1619c6: database has been previously opened and closed

 

我们只能先shutdown该instance,然后再startup才能够再次mount该DB。

 

 

--------------------------------Unix Learn in this chapter------------------------------

 

ps -aef | grep ora11gr2

 

ipcs -a

show interprocess communication devices, such as shared memory, semaphores, etc

 

sqlplus / as sysdba

如果sqlplus命令不指定tnsname的话,缺省由ORACLE_SID指定(windows中在注册表中指定),所以可以指定tnsname: export ORACLE_SID=ora11g

登录为sysdba用户

 

在sqlplus中调用Unix命令需要在命令前加个感叹号。如SQL> !ps -aef | grep ora11gr2 ; SQL> !ipcs -a

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值