当前位置:首页 » 操作系统 » 数据库实例名

数据库实例名

发布时间: 2022-01-08 18:18:16

1. “命名的数据库实例”指的是什么

所谓的“实例”,就是一个 sql Server 数据库引擎
一个 数据库引擎 下面,又可以建立 多个数据库

例如我的计算机,SQL Server 实例的名字是 SQLEXPRESS
这个实例下面,有好几个数据库。

为什么要命名。就是我机器上,很有可能安装了 SQL Server 2005, 又安装了 SQL Server 2008。 2个服务器, 需要不同的名字来区分。

对于 网络请求来说

如果我要访问一个 SQL 数据库
必须提供 机器名 + 实例的名字,才能访问

例如:

C:\Documents and Settings\wzq>sqlcmd -S "localhost\SQLEXPRESS"
1> use stock
2> go
已将数据库上下文更改为 'Stock'。

2. oracle数据库实例名如何修改

1. 准备

原数据库的实例名为linuxdb,控制文件、数据文件、联机日志文件存放在/home/oracle/ora9/oradata/linuxdb目录,将所有的文件拷贝到另外一个目录/home/oracle/ora9/oradata/dbtest。
再将linuxdb 的初始化文件也复制一份出来,执行如下的sql:
Create pfile='/home/oracle/ora9/oracle/dbs/pfiledbtest.ora' from spfile='/home/oracle/ora9/oracle/dbs/spfilelinuxdb.ora';
我们将修改实例名为dbtest。
下面我们开始一步一步地进行处理。

2. 加载初始化文件

打开pfiledbtest.ora文件,修改对应的mp属性的路径名,实例名字,控制文件路径等。

然后执行如下命令:

[oracle@localhost oracle]$ export ORACLE_SID=dbtest

[oracle@localhost oracle]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Proction on Mon Aug 17 16:57:36 2009

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to an idle instance.

SQL> startup pfile='/home/oracle/ora9/oracle/dbs/pfiledbtest.ora' nomount

ORACLE instance started.

Total System Global Area 236000356 bytes

Fixed Size 451684 bytes

Variable Size 201326592 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

SQL>

这样加载初始化文件就成功了。

下面接着进行,加载控制文件。

3. 加载控制文件

先执行如下命令。

SQL> alter database mount;

alter database mount

*

ERROR at line 1:

ORA-00205: error in identifying controlfile, check alert log for more info

好像是控制文件的路径不对,修改初始文件再次加载。

SQL> alter database mount;

alter database mount

*

ERROR at line 1:

ORA-01103: database name 'LINUXDB' in controlfile is not 'DBTEST'

根据错误信息提示,是实例名字不一致,但是控制文件是二进制的,用vi打开之后没法编辑,只能通过用重建控制文件可以解决。

在/home/oracle/ora9/oradata/dbtest目录下删除老的三个控制文件。然后开始重建控制文件。

SQL> CREATE CONTROLFILE SET DATABASE "DBTEST" RESETLOGS FORCE LOGGING NOARCHIVELOG

2 MAXLOGFILES 16

3 MAXLOGMEMBERS 3

4 MAXDATAFILES 100

5 MAXINSTANCES 8

6 MAXLOGHISTORY 292

7 LOGFILE

8 GROUP 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' SIZE 50M,

9 GROUP 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' SIZE 50M,

10 GROUP 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' SIZE 50M

11 DATAFILE

12 '/home/oracle/ora9/oradata/dbtest/cwmlite01.dbf',

13 '/home/oracle/ora9/oradata/dbtest/devbase_20090408.dbf',

14 '/home/oracle/ora9/oradata/dbtest/drsys01.dbf',

15 '/home/oracle/ora9/oradata/dbtest/example01.dbf',

16 '/home/oracle/ora9/oradata/dbtest/indx01.dbf',

17 '/home/oracle/ora9/oradata/dbtest/odm01.dbf',

18 '/home/oracle/ora9/oradata/dbtest/system01.dbf',

19 '/home/oracle/ora9/oradata/dbtest/tools01.dbf',

20 '/home/oracle/ora9/oradata/dbtest/undotbs01.dbf',

21 '/home/oracle/ora9/oradata/dbtest/users01.dbf',

22 '/home/oracle/ora9/oradata/dbtest/xdb01.dbf'

23 CHARACTER SET ZHS16GBK;

CREATE CONTROLFILE SET DATABASE "DBTEST" RESETLOGS FORCE LOGGING NOARCHIVELOG

*

ERROR at line 1:

ORA-01503: CREATE CONTROLFILE failed

ORA-01990: error opening password file '/home/oracle/ora9/oracle/dbs/orapw'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

根据错误提示,是缺少密码验证文件,用下面的命令创建密码文件。

$cd $ORACLE_HOME/dbs

orapwd password=chenli file=orapwdbtest

SQL> CREATE CONTROLFILE SET DATABASE 'dbtest' RESETLOGS FORCE LOGGING NOARCHIVELOG

2 MAXLOGFILES 16

3 MAXLOGMEMBERS 3

4 MAXDATAFILES 100

5 MAXINSTANCES 8

6 MAXLOGHISTORY 292

7 LOGFILE

8 GROUP 1 '/home/oracle/ora9/oradata/dbtest/redo01.log' SIZE 50M,

9 GROUP 2 '/home/oracle/ora9/oradata/dbtest/redo02.log' SIZE 50M,

10 GROUP 3 '/home/oracle/ora9/oradata/dbtest/redo03.log' SIZE 50M

11 DATAFILE

12 '/home/oracle/ora9/oradata/dbtest/cwmlite01.dbf',

13 '/home/oracle/ora9/oradata/dbtest/devbase_20090408.dbf',

14 '/home/oracle/ora9/oradata/dbtest/drsys01.dbf',

15 '/home/oracle/ora9/oradata/dbtest/example01.dbf',

16 '/home/oracle/ora9/oradata/dbtest/indx01.dbf',

17 '/home/oracle/ora9/oradata/dbtest/odm01.dbf',

18 '/home/oracle/ora9/oradata/dbtest/system01.dbf',

19 '/home/oracle/ora9/oradata/dbtest/tools01.dbf',

20 '/home/oracle/ora9/oradata/dbtest/undotbs01.dbf',

21 '/home/oracle/ora9/oradata/dbtest/users01.dbf',

22 '/home/oracle/ora9/oradata/dbtest/xdb01.dbf'

23 CHARACTER SET ZHS16GBK;

Control file created.

现在创建成功了。

创建控制文件成功了,下面重新启动数据库。

SQL> startup nomount

ORACLE instance started.

Total System Global Area 236000356 bytes

Fixed Size 451684 bytes

Variable Size 201326592 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

SQL> alter database mount;

Database altered.

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

SQL> alter database open RESETLOGS;

Database altered.

查看表中的记录,正确的。

修改实例名成功。

4. 总结

由上面的操作可以看到,在数据库维护中,最重要的是数据文件,初始化文件可以从别的实例拷贝过来,然后修改。控制文件可以重新创建,只要数据文件正确,就可以重建初始化文件和控制文件之后,恢复数据库。

遇到的错误:

ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-00200: controlfile could not be created
ORA-00202: controlfile: '/home/ora/ora9/oradata/dbtest/control01.ctl'
ORA-27040: skgfrcre: create error, unable to create file
Linux Error: 2: No such file or directory

请查看初始化文件中,控制文件的路径是正确,控制文件的路径上的目录是否有权限创建文件,如果这些问题都解决了,那么应该能成功创建控制文件。

3. oracle怎么看实例的数据库名

已经连接的服务器名可以进入net configuration用测试查看,或者oracle目录找到NETWORD\ADMIN用记事本打开tnsname.ORA文件查看

4. Oracle数据库的实例名指的是用户名还是数据库名

数据库名。
实例实际上你可以理解为,按照oracle规则,建立的一个数据库,专门给你用的哦。
祝好运,望采纳。

5. 怎么查看sql server 数据库的实例名

一、

查看实例名时可用 1、服务—SQL Server(实例名),默认实例为(MSSQLSERVER)

或在连接企业管理时-查看本地实例

2、通过注册表 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/InstalledInstance

3、用命令

sqlcmd/osql sqlcmd -L sqlcmd -Lc osql -L

获取可用实例,以下举一个例子,根据自己情况改

DECLARE @Table TABLE ( instanceName sysname NULL)

insert @Table EXEC sys.xp_cmdshell 'sqlcmd -Lc'

--LEFT(@@serverName,CHARINDEX('/',@@serverName+'/')-1) 替代为本机名就行了 , 根据实例命名规则判断

SELECT * FROM @Table WHERE instanceName LIKE LEFT( @@serverName , CHARINDEX ( '/' , @@serverName + '/' )- 1)+ '%'

二、

--1. SELECT SERVERPROPERTY('InstanceName')
--2 sp_helpserver
--3 select @@SERVERNAME
--4 SELECT * FROM SYS.SYSSERVERS
--5 SELECT * FROM SYS.SERVERS
三、

EXECUTE xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE/Microsoft/Microsoft SQL Server/Instance Names/SQl',
@value_name='MSSQLSERVER'

四、

Select Case When SERVERPROPERTY ('InstanceName') Is Null Then @@SERVERNAME Else SERVERPROPERTY ('InstanceName') End

五、在本地或网络得到所有实例名

1、You can do with registry reading , like my code

using System; using Microsoft.Win32;
namespace SMOTest { class Program { static void Main() { RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Microsoft SQL Server"); String[] instances = (String[])rk.GetValue("InstalledInstances"); if (instances.Length > 0) { foreach (String element in instances) { if (element == "MSSQLSERVER") Console.WriteLine(System.Environment.MachineName); else Console.WriteLine(System.Environment.MachineName + @"/" + element); } } } } }

2、You can use SQLDMO.dll to retrieve the list of SQL Server instances. The SQLDMO.dll can be found from the "C:/Program Files/Microsoft SQL Server/80/Tools/Bin"
folder. Refer this assembly in your project and the following snippet
would return a List Object containing the sql server instances.

public static List GetSQLServerInstances()

{

NameList sqlNameList = null;

Application app = null;

var sqlServers = new List();

try

{

app = new ApplicationClass();

sqlNameList = app.ListAvailableSQLServers();

foreach (string sqlServer in sqlNameList)

sqlServers.Add(sqlServer);

}

catch(Exception ex)

{

//play with the exception.

}

finally

{

if (sqlNameList != null)

sqlNameList = null;

if (app != null)

app = null;

}

return sqlServers;

}

6. 什么是数据库实例名,怎么查看数据实例名

select @@servicename就是实例名,或者看看配置管理器sqlserver(xxx)服务中,xxx就是实例名

7. mysql如何变更数据库实例名

常见的主要有三种方法:

  • 如果所有表都是MyISAM类型的话,可以直接修改文件夹的名字。关闭mysql→把data目录中的db_name目录重命名为new_db_name→开启mysql

  • 新建数据库,在新的数据库里重命名所有旧数据库中的表,再删除旧的数据库。具体操作命令如下:创建新的数据库→重命名数据表名称→删除旧的数据库。

    CREATE DATABASE new_db_name;RENAME TABLE db_name.table1 TO new_db_name.table1,db_name.table2 TO new_db_name.table2;DROP DATABASE db_name;

  • 利用mysqlmp命令从旧的数据导出数据,再导入新数据库。具体操作命令如下:导出数据→创建新的数据库→导入数据→删除旧的数据库。

    mysqlmp -u root -p -h ip db_name > db_name_mp.SQLmysql -u root -p -h ip -e “CREATE DATABASE new_db_name”mysql -u root -p -h ip new_db_name < db_name_mp.SQLmysql -u root -p -h ip -e “DROP DATABASE db_name”

8. 如何查看数据库实例名

登录数据库:sqlplus "/as sysdba"查看数据库名:show parameter db_name;查看实例名:show parameter instance_name

9. mysql数据库实例名怎么查看

使用show databases;就能列出你有权限操作的数据库名,如果你只有一个数据库权限,那么列出来的就是你当前的数据库名。

10. 如何查看当前系统下,有多少个数据库实例,实例名是什么

可以看一下系统中是否有多个pmon进程,如果有几个pmon进程,就说明有几个实例。命令如下:
ps -ef|grep ora_pmon

解释:pmon进程,进程监视器(Process Monitor)oracle中用于恢复失败的数据库用户的强制性进程,它先获取失败用户的标识,释放该用户占有的所有数据库资源。一般一个oracle实例只能有一个pmon进程,可能通过查看pmon进程的多少来判断有几个实例。

热点内容
ios缓存策略 发布:2024-12-27 00:16:29 浏览:505
cmd怎么打开python 发布:2024-12-27 00:01:15 浏览:965
兼修脚本作画 发布:2024-12-26 23:55:32 浏览:219
存储卡和sd卡一样吗 发布:2024-12-26 23:50:43 浏览:446
多空线源码 发布:2024-12-26 23:48:45 浏览:322
steam有哪些免费且配置低的游戏 发布:2024-12-26 23:45:36 浏览:337
怎么配一台服务器的游戏电脑 发布:2024-12-26 23:45:35 浏览:7
无丁之地下载ftp 发布:2024-12-26 23:36:32 浏览:292
em聚类算法 发布:2024-12-26 23:22:28 浏览:669
php字符串去重 发布:2024-12-26 23:22:26 浏览:409