當前位置:首頁 » 操作系統 » 資料庫實例名

資料庫實例名

發布時間: 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進程的多少來判斷有幾個實例。

熱點內容
消毒計演算法 發布:2024-12-27 15:11:38 瀏覽:632
typescript瀏覽器編譯 發布:2024-12-27 15:10:42 瀏覽:924
免費監控源碼 發布:2024-12-27 15:09:42 瀏覽:413
我的世界伺服器住宅達到了上限怎麼辦 發布:2024-12-27 15:08:55 瀏覽:669
明日之後如何用賬號和密碼 發布:2024-12-27 14:56:41 瀏覽:493
qtcreator的編譯器 發布:2024-12-27 14:51:45 瀏覽:525
m6手動中配有哪些配置 發布:2024-12-27 14:38:51 瀏覽:447
在別的電腦怎麼知道伺服器ip 發布:2024-12-27 14:37:21 瀏覽:145
為什麼是微信支付密碼是什麼 發布:2024-12-27 14:22:26 瀏覽:191
全民k歌在哪個文件夾 發布:2024-12-27 14:18:23 瀏覽:397