zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Oracle sid用户洞悉数据库之窗(oracle sid用户)

Oracle数据库 用户 sid 洞悉 之窗
2023-06-13 09:12:48 时间

Oracle sid用户:洞悉数据库之窗

Oracle是企业级数据库管理系统,常常被用于大型商业应用中。在Oracle中,SID(System Identifier)是用于标识特定Oracle实例的参数。在运行Oracle时,我们需要指定具体的SID,以便Oracle知道要连接哪个数据库实例。

本文将详细介绍Oracle SID用户的概念、用法和示例,帮助读者更好地理解和使用Oracle数据库。

一、Oracle SID用户的概念

在Oracle中,每个数据库实例都有一个唯一的SID来标识。SID由Oracle系统管理员在创建数据库实例时设置,SID参数将在启动数据库实例时被用于标识该实例。因此,SID是Oracle实例的唯一标识符。

同时,SID也是用户连接到数据库实例的重要参数。当用户使用Oracle客户端工具连接到数据库时,需要指定正确的SID才能连接到正确的数据库实例。

二、Oracle SID用户的用法

1. 连接Oracle数据库

我们可以使用Oracle客户端工具(如SQL*Plus、Toad等)连接Oracle数据库。连接Oracle数据库需要指定以下信息:

主机名或IP地址

端口号(通常为1521)

Oracle SID

具体连接方法如下:

SQL*Plus连接方法:

sqlplus username/password@hostname:port/sid

Toad连接方法:

在连接向导中选择“Oracle ODP.NET”,然后依次填写上述连接信息。

2. 修改Oracle SID

在某些情况下,我们可能需要修改Oracle实例的SID。例如,当我们需要将Oracle实例克隆到另一台服务器时,就需要将新服务器上的实例SID改为与原服务器相同。

修改Oracle SID的方法如下:

1) 停止Oracle实例:

$ORACLE_HOME/bin/dbshut

2) 修改$ORACLE_HOME/network/admin/tnsnames.ora文件中的SID:

MYDB =
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = mydb-host)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = mydb) (SID = new-sid)
) )

3) 修改$ORACLE_HOME/network/admin/sqlnet.ora文件中的SID:

NAMES.DIRECTORY_PATH= (TNSNAMES)
SQLNET.SERVER_DNS_RESOLVE=ONSQLNET.INBOUND_CONNECT_TIMEOUT=120
SID_MAP = (SID=new-sid)(INSTANCE_NAME=mydb)

4) 修改$ORACLE_HOME/dbs/orapwSID文件中的SID:

SID = new-sid

5) 修改$ORACLE_HOME/network/admin/listener.ora文件中的SID:

SID_LIST_LISTENER =
(SID_LIST = (SID_DESC =
(GLOBAL_DBNAME = new-sid) (ORACLE_HOME = /u01/app/oracle/product/10.2.0)
(SID_NAME = new-sid) )
)

6) 启动Oracle实例:

$ORACLE_HOME/bin/dbstart

不同版本的Oracle可能有所不同,请根据自己的情况进行修改。

三、Oracle SID用户示例

以下示例介绍如何在Oracle中创建用户,添加数据和执行查询,并使用SID连接到数据库。

1. 创建用户:

创建用户的SQL命令如下:

CREATE USER test_user IDENTIFIED BY password;
GRANT CONNECT, RESOURCE TO test_user;

2. 添加数据:

假设我们有以下表:

CREATE TABLE departments (
department_id NUMBER(4) PRIMARY KEY, department_name VARCHAR2(30) NOT NULL
);
CREATE TABLE employees ( employee_id NUMBER(6) PRIMARY KEY,
first_name VARCHAR2(20) NOT NULL, last_name VARCHAR2(25) NOT NULL,
eml VARCHAR2(25) NOT NULL, phone_number VARCHAR2(20),
hire_date DATE NOT NULL, job_id VARCHAR2(10) NOT NULL,
salary NUMBER(8,2), commission_pct NUMBER(2,2),
manager_id NUMBER(6), department_id NUMBER(4)
);

我们可以使用以下SQL命令向这两个表中添加数据:

INSERT INTO departments VALUES (10, "Administration");
INSERT INTO departments VALUES (20, "Marketing");INSERT INTO departments VALUES (30, "Purchasing");
INSERT INTO employees VALUES (100, "Steven", "King", "SKING", "515.123.4567", TO_DATE("17-JUN-87", "DD-MON-RR"), "AD_PRES", 24000, NULL, NULL, 90);INSERT INTO employees VALUES (101, "Neena", "Kochhar", "NKOCHHAR", "515.123.4568", TO_DATE("21-SEP-89", "DD-MON-RR"), "AD_VP", 17000, NULL, 100, 90);
INSERT INTO employees VALUES (102, "Lex", "De Haan", "LDEHAAN", "515.123.4569", TO_DATE("13-JAN-93", "DD-MON-RR"), "AD_VP", 17000, NULL, 100, 90);

3. 执行查询:

使用以下SQL命令查询所有部门的名称:

SELECT department_name FROM departments;

使用以下SQL命令查询所有员工的姓名和薪水:

SELECT first_name, last_name, salary FROM employees;

四、总结

本文详细介绍了Oracle SID用户的概念、用法和示例。通过本文的介绍,我们了解了SID在Oracle中的重要性以及如何连接到指定的数据库实例。我们还学习了如何创建用户、添加数据和执行查询。希望本文能对读者在使用Oracle中遇到的问题有所帮助。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Oracle sid用户洞悉数据库之窗(oracle sid用户)