一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle數據庫執行腳本常用命令小結

Oracle數據庫執行腳本常用命令小結

2019-12-24 13:57jerrylsxu Oracle

這篇文章主要介紹了Oracle數據庫執行腳本常用命令小結的相關資料,需要的朋友可以參考下

1. 執行一個SQL腳本文件

 

復制代碼 代碼如下:

sqlplus user/pass@servicename<file_name.sql

 

 

 

復制代碼 代碼如下:

SQL>start file_names

 

 

 

復制代碼 代碼如下:

SQL>@ file_name

 

 

我們可以將多條sql語句保存在一個文本文件中,這樣當要執行這個文件中的所有的sql語句時,用上面的任一命令即可,這類似于dos中的批處理。

@與@@的區別是什么?

@等于start命令,用來運行一個sql腳本文件。

@命令調用當前目錄下的,或指定全路徑,或可以通過SQLPATH環境變量搜尋到的腳本文件。該命令使用是一般要指定要執行的文件的全路徑,否則從缺省路徑(可用SQLPATH變量指定)下讀取指定的文件 www.111Cn.net。

@@用在sql腳本文件中,用來說明用@@執行的sql腳本文件與@@所在的文件在同一目錄下,而不用指定要執行sql腳本文件的全路徑,也不是從SQLPATH環境變量指定的路徑中尋找sql腳本文件,該命令一般用在腳本文件中。

如:在c:temp目錄下有文件start.sql和nest_start.sql,start.sql腳本文件的內容為:

@@nest_start.sql – - 相當于@ c:tempnest_start.sql

則我們在sql*plus中,這樣執行:

SQL> @ c:tempstart.sql

2. 重新運行上一次運行的sql語句

SQL>/

3. 將顯示的內容輸出到指定文件

 

復制代碼 代碼如下:

SQL> SPOOL file_name

 

 

在屏幕上的所有內容都輸入到該文件中,包括你輸入的sql語句。
通常情況下,我們使用SPOOL方法,將數據庫中的表導出為文本文件的時候會采用兩種方法,如下述:

方法一:采用以下格式腳本

?
1
2
3
4
5
6
7
8
9
10
11
12
set colsep ‘|'; –設置|為列分隔符
set trimspool on;
set linesize 120;
set pagesize 2000;
set newpage 1;
set heading off;
set term off;
set num 18;
set feedback off;
spool 路徑+文件名;
select * from tablename;
spool off;

方法二:采用以下腳本

?
1
2
3
4
5
6
7
8
9
set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
spool 路徑+文件名
select col1||','||col2||','||col3||','||col4||'..' from tablename;
spool off

附一些基本命令

1、得到數據庫名和創建日期

 

復制代碼 代碼如下:

SELECT name, created, log_mode, open_mode FROM v$database;

 

 

2、ORACLE數據庫的計算機的主機名,ORACLE數據庫的實例名及ORACLE數據庫管理系統的版本信息

 

復制代碼 代碼如下:

SELECT host_name, instance_name, version FROM v$instance;

 

 

3、為了知道oracle數據庫版本的一些特殊信息

 

復制代碼 代碼如下:

select * from v$version;

 

4、獲取控制文件名字

 

復制代碼 代碼如下:

select * from v$controlfile;

 

 

5、得到Oracle數據庫的重做日志配置信息

 

復制代碼 代碼如下:

SELECT group#, members, bytes, status, archived FROM v$log;
select GROUP#,MEMBER from v$logfile;

 

 

6、獲取oracle的每個重做日志(成員)文件所存放的具體位置

 

復制代碼 代碼如下:

select * from v$logfile;

 

 

7、知道ORACLE數據庫的備份和恢復策略和歸檔文件的具體位置

 

復制代碼 代碼如下:

archive log list

 

 

8、知道ORACLE數據庫中到底有多少表空間以及每個表空間的狀態

?
1
2
select tablespace_name, block_size, status, contents, logging from dba_tablespaces;
select tablespace_name, status from dba_tablespaces;

9、知道每個表空間存在哪個磁盤上以及文件的名字等信息

?
1
2
SELECT file_id, file_name, tablespace_name, status, bytes from dba_data_files;
select file_name, tablespace_name from dba_data_files;

10、知道Oracle數據庫系統上到底有多少用戶和都是什么時候創建的

?
1
2
select username,created from dba_users;
select username, DEFAULT_TABLESPACE from dba_users;

11、從控制文件中取出信息涉及到以下一些相關的命令

?
1
2
3
4
5
6
7
8
9
10
select * from v$archived
select * from v$archived_log
select * from v$backup
select * from v$database
select * from v$datafile
select * from v$log
select * from v$logfile
select * from v$loghist
select * from v$tablespace
select * from v$tempfile

12、控制文件由兩大部份組成:可重用的部份和不可重用的部分。可重用的部分的大小可用

CONTROL_FILE_RECORD_KEEP_TIME參數來控制,該參數的默認值為7天,即可重用的部份的內容保留7天,一周之后這部份的內容可能被覆蓋。可重用的部份是供恢復管理器來使用的,這部份的內容可以自動擴展。Oracle數據庫管理員可以使用CREAT DATABASE或 CREAT CONTROLFILE語句中的下列關鍵字(參數)來間接影響不可重用的部份的大小:

?
1
2
3
4
5
MAXDATAFILES
MAXINSTANCES
MAXLOGFILES
MAXLOGHISTORY
MAXLOGMEMBERS

13、查看控制文件的配置

?
1
SELECT type, record_size, records_total, records_used FROM v$controlfile_record_section;

14、如果您的顯示被分成了兩部分,您需要使用類似于set pagesize 100的SQL*Plus命令先格式化輸出。有關的格式化輸出命令有以下這些:

record_size: 為每個記錄的字節數。
records_total:為該段所分配的記錄個數。
records_used:為該段所使用的記錄個數。

15、知道控制文件中的所有數據文件(DATAFILE),表空間(TABLESPACE),和重做日志(REDO LOG)所使用的記錄情況

?
1
2
3
SELECT type, record_size, records_total, records_used
FROM v$controlfile_record_section
WHERE type IN ( ‘DATAFILE', ‘TABLESPACE', ‘REDO LOG');

16、獲取控制文件名字

?
1
2
select value from v$parameter where name ='control_files';
或者:select * from v$controlfile

17、如何在一個已經安裝的Oracle數據庫中添加或移動控制文件呢?

以下是在一個已經安裝的Oracle數據庫中添加或移動控制文件的具體步驟:

a、利用數據字典v$controlfile來獲取現有控制文件名字。

b、正常關閉Oracle數據庫。

c、將新的控制文件名添加到參數文件的CONTROL_FILES參數中。

d、使用操作系統的復制命令將現有控制文件復制到指定位置。

e、重新啟動Oracle數據庫。

f、利用數據字典v$controlfile來驗證新的控制文件名字是否正確。

g、如果有誤重做上述操作,如果無誤刪除無用的舊控制文件。

注: 如果您使用了服務器初始化參數文件(SPFILE),您不能關閉Oracle數據庫而且應該在第3步使用alter system set control_files的Oracle命令來改變控制文件的位置。

?
1
2
3
4
SQL> alter system set control_files =
‘D:Disk3CONTROL01.CTL',
‘D:Disk6CONTROL02.CTL',
‘D:Disk9CONTROL03.CTL' SCOPE=SPFILE;

18、由于控制文件是一個極其種要的文件,除了以上所說的將控制文件的多個副本存在不同的硬盤上的保護措施外,在數據庫的結構變化之后,您應立即對控制文件進行備份。可以用Oracle命令來對控制文件進行備份:

?
1
alter database backup controlfile to ‘D:backupcontrol.bak';

19、您也可將備份到一個追蹤文件中。該追蹤文件包含有重建控制文件所需的SQL語句。可使用以下SQL語句來產生這一追蹤文件:

?
1
alter database backup controlfile to trace;

20、正常關閉oracle命令

?
1
shutdown immeditae

PS:oracle客戶端連接的文件配置:

oracle的目錄/network/ADMIN/tnsnames.ora

內容:

?
1
2
3
4
5
6
7
8
9
10
11
MIMI(客戶端連接的名稱) =
 
 
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = NTDB.RUNNER)
)
)

修改表結構

?
1
2
3
4
5
alter table m_gl_gls3_history add (aaaaa varchar2(20),bbbbb varchar2(10))
alter table m_gl_gls3_history modify (aaaaa varchar2(10))
--要改變表中的字段的類型或縮小字段長度,該字段的所有記錄值必須為空。
--如果改字段存在記錄值,則該字段長度只能擴大,不能縮小。
alter table m_gl_gls3_history drop (aaaaa , bbbbb )

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 臀控福利大臀的网站 | 亚洲精品www久久久久久久软件 | 美女操批 | 3d动漫美女物被遭强视频 | 久久性综合亚洲精品电影网 | 亚洲午夜久久久久影院 | 美女脱了内裤打开腿让人桶网站o | 好湿好滑好硬好爽好深视频 | 日本久本草精品 | 日日摸夜夜爽色婷婷91 | 91久久综合九色综合欧美98 | 男同gay玩奴男同玩奴 | 国产一区二区三区欧美 | 铁牛tv 在线观看 | 国产趴着打光屁股sp抽打 | 欧美视频精品一区二区三区 | 双龙高h| 国产成+人+综合+亚洲不卡 | 国产久热精品 | 美女全身体光羞羞漫画 | 日韩在线二区全免费 | 天堂中文在线观看 | 热99精品| 青青草国产一区二区三区 | 久热在线这里只有精品7 | 大伊香蕉精品二区视频在线 | 日本高清在线精品一区二区三区 | 天堂成人在线观看 | 精品亚洲欧美中文字幕在线看 | 美女被吸乳老师羞羞漫画 | 欧美另类videos另类粗暴 | 日本高清中文 | 青青网| 日本成人免费在线视频 | 深夜在线小视频 | vomoulei成人舞蹈| 鸥美毛片| 日本高清免费看 | 久久精品黄AA片一区二区三区 | 大乳一级一区二区三区 | 国产成人咱精品视频免费网站 |