oracle9i資料匯入oracle10g
1.安裝資料庫軟體Oracle10g 11g都可以。
2.新建例項RISDB,注意新建時,在字符集選擇中,選擇‘從字符集列表中選擇’-‘US7ASCLL-ASCLL7位美國英語’。
這是因為中西醫醫院的資料庫字符集是AMERICAN_AMERICA.US7ASCLL7,這裡必須使得匯入的server字符集與匯出的dmp一樣。
3.登入資料庫,執行建立表空間語句。
4.CMD 下執行imp system/manager file='c:\risdb.dmp' log='imrisdb.log' full=y ignore=y (示例) 匯入成功。
5.這時檢視資料庫,發現漢字的都顯示為問號。SQL>select userenv('language') from dual; 檢視server端字符集,
結果為SIMPLIFIED CHINESE_CHINA.US7ASCII。前面的SIMPLIFIED CHINESE_CHINA不知從哪裡可以設成AMERICAN_AMERICA。
6.修改資料庫的字符集US7ASCII為ZHS16GBK。
若此時資料庫伺服器已啟動,則先執行SHUTDOWN IMMEDIATE命令關閉資料庫伺服器,然後執行以下命令:
SQL>STARTUP MOUNT;
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK(這裡為你所要轉換成的字符集); //跳過超子集檢測
SQL>ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK(這裡為你所要轉換成的字符集);
執行後出錯ORA-00933: SQL 命令未正確結束,不過執行上一行命令已經生效,這一句出錯對修改似乎沒有影響。
下面關閉資料庫,然後重新啟動:
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP
7.再修改資料庫客戶端字符集
在windows平臺下,就是登錄檔裡面HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG 。
NLS_LANG = language_territory.charset
它有三個組成部分(語言、地域和字符集),每個成分控制了NLS子集的特性。
其中:
Language: 指定伺服器訊息的語言, 影響提示資訊是中文還是英文
Territory: 指定伺服器的日期和數字格式,
Charset: 指定字符集
————————————————————————————————————————————————————————
匯入過程中出現的一些錯誤:
1.出現ORA-01034和ORA-27101的原因是多方面的:
主要是oracle當前的服務不可用,shared memory realm does not exist,是因為oracle沒有啟動或沒有正常啟動,
共享記憶體並沒有分配給當前例項。所以,透過設定例項名,再用作業系統身份驗證的方式,啟動資料庫。這樣資料庫
就正常啟動了,就不會報ORA-01034和ORA-27101兩個啟動異常了。
cmd命令視窗中,set ORACLE_SID=risdb
sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
2.ORA-12514 TNS 監聽程式當前無法識別連線描述符中請求服務
解決思路:
根據出錯資訊判斷出客戶端未監聽到例項服務名
1、透過重啟服務的方式啟動資料庫,再次連線仍無法連線伺服器。
2、既然第一種方法不能解決問題,那就第二種方法。考慮監聽listener.ora
監聽配置檔案listener.ora中可以不必指定監聽的服務名(安裝Oracle10g後也是沒有指定的)。正常情況下一般只要
資料庫啟動,客戶端連線資料庫也沒有什麼問題,但是有時重複啟動關閉也會出現ORA-12514錯誤。
既然listener.ora中沒有指定監聽,我們可以在listener.ora檔案中指定監聽的例項名,這樣該問題應該可以連線。
步驟如下:
Cmd 下 lnsrctl stop
在oracle伺服器Oracle安裝目錄(我的在E:\Oracle10g下,每個人的不一樣,根據自己的情況查詢)Network/admin
目錄下找到listener.ora 我的如下所示
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = risdb)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = risdb)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
其中加入的是:
(SID_DESC =
(GLOBAL_DBNAME = risdb)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = risdb)
)
Cmd 下 lnsrctl start
3、oracle客戶端Net Cofiguration Assistant正確新增或重新配置例項名
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1465161/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle10G新特性之資料泵匯出/匯入Oracle
- Oracle11g資料庫匯入Oracle10g問題Oracle資料庫
- Oracle10g 資料匯入及index建立 - 統計資訊收集OracleIndex
- oracle10g匯出與匯入awrOracle
- oracle10g expdp資料泵的bug,按schema匯出,匯入impdp時無jobOracle
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 資料泵匯出匯入
- Oracle 資料匯入匯出Oracle
- mysql資料匯入匯出MySql
- mysql資料匯出匯入MySql
- Oracle資料匯入匯出Oracle
- 大文字資料,匯入匯出到資料庫資料庫
- MySQL入門--匯出和匯入資料MySql
- 資料匯入SQLLDRSQL
- sqoop資料匯入匯出OOP
- 資料匯入匯出EXP/IMP
- MongoDB資料匯入與匯出MongoDB
- mysqldump匯入匯出表資料MySql
- exp/imp匯出匯入資料
- postgresql 資料匯入和匯出SQL
- 資料庫的匯入匯出資料庫
- 資料泵的匯入匯出
- mysql 資料庫匯入匯出MySql資料庫
- 資料泵匯出匯入表
- MySQL資料庫匯入匯出MySql資料庫
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- 資料泵匯出匯入資料標準文件
- 【匯入匯出】將資料匯入到其他使用者
- Mongodb資料的匯出與匯入MongoDB
- EasyPoi, Excel資料的匯入匯出Excel
- 匯入和匯出AWR的資料
- oracle資料匯出匯入(exp/imp)Oracle
- 【mysql】資料庫匯出和匯入MySql資料庫
- Oracle資料泵-schema匯入匯出Oracle
- BCP 資料的匯入和匯出
- mysql匯入匯出.csv格式資料MySql
- db2匯入匯出資料DB2
- mysqldump匯入匯出mysql資料庫MySql資料庫