Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1647381
  • 博文数量: 409
  • 博客积分: 6240
  • 博客等级: 准将
  • 技术积分: 4908
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-01 00:04
文章分类

全部博文(409)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(13)

2015年(22)

2013年(4)

2012年(240)

2011年(127)

分类: Oracle

2011-12-13 18:59:24


  1. 1)不同的实例以不同的实例名区分,但端口都是1521;
  2. 一个监听器可以监控多个实例
  3. 多个实例可以在同一端口监听
  4. 缺省的是1521端口,也可以是自定义端口
  5. 2)每个实例应有一个监听器与之对应;
  6. 一个监听器可以监控多个实例
  7. 3)tnsname中,使用不同的实例名来建立不同的连接;
  8. tnsname中的别名是不受限制的,但是实例名及端口要和监听器监听对应



来写在word里面,最后想想还是放到这里吧。最近研究Oracle的一些心得吧,也许很多人都会,但是更多的人不会。。。
1.1   Oracle基础知识扫盲之实例名

 


1.       Select instance_name from v$instance;

SQL> select instance_name from v$instance;

 

INSTANCE_NAME

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

orcl

 

SQL>

 

2.       Select * from v$instance;

SQL> select * from v$instance;

 

INSTANCE_NUMBER INSTANCE_NAME

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

HOST_NAME

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

VERSION           STARTUP_T STATUS       PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT

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

LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO

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

              1 orcl

testcms

10.2.0.1.0        01-DEC-11 OPEN         NO           1 STOPPED

ALLOWED    NO  ACTIVE            PRIMARY_INSTANCE   NORMAL    NO

 

 

SQL>

注:这个输出结果的看法是大写的变量,一一对应后面的全部结果,如INSTANCE_NUMBER 1instance_name orcl

 select instance_name from v$instance;

1.2   查看实例名的方法2

SQL> show parameter instance;

 

NAME                                 TYPE        VALUE

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

active_instance_count                integer

cluster_database_instances           integer     1

instance_groups                      string

instance_name                        string      orcl

instance_number                      integer     0

instance_type                        string      RDBMS

open_links_per_instance              integer     4

parallel_instance_group              string

parallel_server_instances            integer     1

SQL>

 

SQL> select name from v$database;

 

NAME

---------

ORACLE10

 

SQL>

 SQL> desc v$database;

 Name                                      Null?    Type

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

 DBID                                               NUMBER

 NAME                                               VARCHAR2(9)

 CREATED                                            DATE

 RESETLOGS_CHANGE#                                  NUMBER

 RESETLOGS_TIME                                     DATE

 PRIOR_RESETLOGS_CHANGE#                            NUMBER

 PRIOR_RESETLOGS_TIME                               DATE

 LOG_MODE                                           VARCHAR2(12)

 CHECKPOINT_CHANGE#                                 NUMBER

 ARCHIVE_CHANGE#                                    NUMBER

 CONTROLFILE_TYPE                                   VARCHAR2(7)

 CONTROLFILE_CREATED                                DATE

 CONTROLFILE_SEQUENCE#                              NUMBER

 CONTROLFILE_CHANGE#                                NUMBER

 CONTROLFILE_TIME                                   DATE

 OPEN_RESETLOGS                                     VARCHAR2(11)

 VERSION_TIME                                       DATE

 OPEN_MODE                                          VARCHAR2(10)

 PROTECTION_MODE                                    VARCHAR2(20)

 PROTECTION_LEVEL                                   VARCHAR2(20)

 REMOTE_ARCHIVE                                     VARCHAR2(8)

 ACTIVATION#                                        NUMBER

 SWITCHOVER#                                        NUMBER

 DATABASE_ROLE                                      VARCHAR2(16)

 ARCHIVELOG_CHANGE#                                 NUMBER

 ARCHIVELOG_COMPRESSION                             VARCHAR2(8)

 SWITCHOVER_STATUS                                  VARCHAR2(20)

 DATAGUARD_BROKER                                   VARCHAR2(8)

 GUARD_STATUS                                       VARCHAR2(7)

 SUPPLEMENTAL_LOG_DATA_MIN                          VARCHAR2(8)

 SUPPLEMENTAL_LOG_DATA_PK                           VARCHAR2(3)

 SUPPLEMENTAL_LOG_DATA_UI                           VARCHAR2(3)

 FORCE_LOGGING                                      VARCHAR2(3)

 PLATFORM_ID                                        NUMBER

 PLATFORM_NAME                                      VARCHAR2(101)

 RECOVERY_TARGET_INCARNATION#                       NUMBER

 LAST_OPEN_INCARNATION#                             NUMBER

 CURRENT_SCN                                        NUMBER

 FLASHBACK_ON                                       VARCHAR2(18)

 SUPPLEMENTAL_LOG_DATA_FK                           VARCHAR2(3)

 SUPPLEMENTAL_LOG_DATA_ALL                          VARCHAR2(3)

 DB_UNIQUE_NAME                                     VARCHAR2(30)

 STANDBY_BECAME_PRIMARY_SCN                         NUMBER

 FS_FAILOVER_STATUS                                 VARCHAR2(21)

 FS_FAILOVER_CURRENT_TARGET                         VARCHAR2(30)

 FS_FAILOVER_THRESHOLD                              NUMBER

 FS_FAILOVER_OBSERVER_PRESENT                       VARCHAR2(7)

 FS_FAILOVER_OBSERVER_HOST                          VARCHAR2(512)


SQL> 

 

1.3   数据库实例名与ORACLE_SID _必须一致

虽然两者都表是oracle实例,但两者是有区别的。instance_nameoracle数据库参数。而ORACLE_SID是操作系统的环境变量。 ORACLD_SID用于与操作系统交互,也就是说,从操作系统的角度访问实例名,必须通过ORACLE_SID。在winnt不台, ORACLE_SID还需存在于注册表中。

ORACLE_SID必须与instance_name的值一致,否则,你将会收到一个错误,在unix平台,是“ORACLE not available,winnt平台,是“TNS:协议适配器错误”。

 

 

1.4   查询数据库服务名

方法一:select value from v$parameter where name = 'service_name';

方法二:show parameter service_name

方法三:在参数文件中查询

1.5   创建Oracle数据库(以Oracle10g为例)

 

有两种创建数据库的方式,一种是以命令行脚本方式,即手动方式创建;另一种是利用Oracle提供的数据库配置向导来创建。本篇主要介绍在UnixWindows下以命令行脚本方式创建Oracle数据库。

 

        一个完整的数据库系统,应包括一个物理结构、一个逻辑结构、一个内存结构和一个进程结构,如果要创建一个新的数据库,则这些结构都必须完整的建立起来。

阅读(1618) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~