當前位置:首頁 » 編程語言 » oracleexpsql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracleexpsql

發布時間: 2023-03-10 11:52:19

1. 導入可執行文件 oracle導入imp exe pl sql ,這個文件在哪

一、文件在安裝目錄里

1、導入imp:F:appAdministratorproct11.1.0db_1BINimp.exe;

2、導出exp:F:appAdministratorproct11.1.0db_1BINexp.exe;

3、plsql插入:F:appAdministratorproct11.1.0db_1BINsqlplus.exe;

4、PLSQL導入導出,用到oracle的可執行文件:E:appAdministratorproct11.1.0db_1BINexp.exe;

備註:導入之前最好把以前的表刪除,當然導入另外資料庫除外。 另外導入時當發現進度條一直卡在一個點,而且導出的文件不再增大時,甚至是提示程序未響應,千萬不要以為程序卡死了,這個導入導出就是比較緩慢,只要沒有提示報錯,或者導入完成就不要停止程序。

2. oracle無效的SQL原因,在plsql命令窗口中 exp sys/2520209 file=F:\ora\bakup.dmp owner=gaohuirong;

這句是在doc裡面執行的,如果在pl/sql中tool中有一個選項export object可以實現

3. 如何用EXP導出oracle資料庫中沒有記錄的表

1、Oracle11g默認對空表不分配segment,故使用exp導出Oracle11g資料庫時,空表不會導出。

2、設置deferred_segment_creation 參數為FALSE後,無論是空表還是非空表,都分配segment。

在sqlplus中,執行如下命令:

SQL>alter system set deferred_segment_creation=false;

查看:
SQL>show parameter deferred_segment_creation;

該值設置後只對後面新增的表產生作用,對之前建立的空表不起作用。

3、可以使用手工為空表分配Extent的方式,來解決導出之前建立的空表的問題。說明如下:

3.1 使用ALLOCATE EXTENT的說明
使用ALLOCATE EXTENT可以為資料庫對象分配Extent。其語法如下:

-----------
ALLOCATE EXTENT { SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer }
-----------

可以針對數據表、索引、物化視圖等手工分配Extent。

ALLOCATE EXTENT使用樣例:

ALLOCATE EXTENT
ALLOCATE EXTENT(SIZE integer [K | M])
ALLOCATE EXTENT(DATAFILE 'filename')
ALLOCATE EXTENT(INSTANCE integer)
ALLOCATE EXTENT(SIZE integer [K | M] DATAFILE 'filename')
ALLOCATE EXTENT(SIZE integer [K | M] INSTANCE integer)

針對數據表操作的完整語法如下:

-----------
ALTER TABLE [schema.]table_name ALLOCATE EXTENT [({ SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer})]
-----------

故,需要構建如下樣子簡單的SQL命令:

-----------
alter table aTabelName allocate extent
-----------

3.2 構建對空表分配空間的SQL命令,
查詢當前用戶下的所有空表(一個用戶最好對應一個默認表空間)。命令如下:

-----------
SQL>select table_name from user_tables where NUM_ROWS=0;
-----------

根據上述查詢,可以構建針對空表分配空間的命令語句,如下:

-----------
SQL>Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
-----------

批量輸出上述生成的SQL語句,建立C:\createsql.sql,其內容如下:

-----------
set heading off;
set echo off;
set feedback off;
set termout on;
spool C:\allocate.sql;
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
spool off;
-----------

執行C:\createsql.sql,命令如下:
-----------
SQL>@ C:\createsql.sql;
-----------

執行完畢後,得到C:\allocate.sql文件。

打開該文件會看到,已經得到對所有空表分配空間的命令SQL語句。

3.4 執行SQL命令,對空表分配空間:

執行C:\allocate.sql,命令如下:
-----------
SQL>@ C:\allocate.sql;
-----------

執行完畢,表已更改。

3.4 此時執行exp命令,即可把包括空表在內的所有表,正常導出。

另外:Oracle11g中,對密碼是大小寫敏感的,即密碼中的字母是區分大小寫的。

在Oracle10g中及以前,密碼中的字母大小寫無所謂。

4. oracle SQL 正則表達式

正則表達式已經在很多軟體中得到廣泛的應用,包括*nix(Linux, Unix等),HP等操作系統,PHP,C#,Java等開發環境。
本文主要介紹了關於Oracle中正則表達式的使用方法,下面話不多說了,來一起看看詳細的介紹。
Oracle使用正則表達式離不開這4個函數:regexp_like、regexp_substr、regexp_instr、regexp_replace。
1、regexp_like
該函數只能用於條件表達式,和 like 類似,但是使用的正則表達式進行匹配
2、regexp_substr
該函數和 substr 類似,用於拾取合符正則表達式描述的字元子串
3、regexp_instr
該函數和 instr 類似,用於標定符合正則表達式的字元子串的開始位置
4、regexp_replace
該函數和 replace 類似,用於替換符合正則表達式的字元串