天天看點

oracle 基本

###########################scott使用者登陸解鎖##############################

新裝完Oracle11g後,用system/password可以正常登入,而使用scott/tiger使用者卻不能登入:

conn scott/tiger 

error:oracle10g the account is locked 

oracle10g the password has expired

原因:預設Oracle10g的scott不能登陸。被禁用了。

解決方法:

首先确認已經安裝oracle 資料庫和用戶端

.在用戶端DOS下執行如下語句:

注意提示符号

c:\sqlplus /nolog

sqlp\connsys/system@oracle10assysdba// sys為目前的oracle 使用者 system 為該使用者密碼oracle10 為SID

# alterusersocttaccountlock;// 把 scott使用者鎖定

# alteruserscottaccountunlock;//把scott使用者解鎖

# alteruser scottidentifiedbyscott//修改scott使用者密碼為 scott,scott使用者預設密碼為 tiger

1 Dos下輸入C:\sqlplus /nolog 

2 以DBA的身份登入

conn sys/password@SID as sysdba; 

3 解鎖

alter user scott account unlock;

4 彈出一個修改密碼的對話框,修改密碼

conn scott/tiger

(1-4如下):

SQL> conn sys/sys as sysdba;

Connected.

SQL> alter user scott account unlock;

User altered.

SQL> commit;

Commit complete.

SQL> conn scott/tiger//請輸入新密碼,并确認後OK

Password changed

###################oracle檢視資料檔案, 控制檔案, 及日志檔案指令########

conn sys/benson@oracle as sysdba;

一. 檢視資料檔案

SQL> select name from v$datafile;

NAME

--------------------------------------------------------

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSTEM01.DBF

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS01.DBF

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSAUX01.DBF

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\USERS01.DBF

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\EXAMPLE01.DBF

二. 檢視控件檔案

SQL> select name from v$controlfile;

----------------------------------------------------------

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL01.CTL

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL02.CTL

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL03.CTL

三. 檢視日志檔案

SQL> select member from v$logfile;

MEMBER

--------------------------------------------------

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO03.LOG

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO02.LOG

D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO01.LOG

###### ############################

檢視目前登陸的使用者名:

select user from dual; 或者select * from user_users;

檢視目前使用者擁有的角色和權限:

select * from user_role_privs;

select * from session_privs;

檢視建立的表

select tname from tab where tname='PRODUCTINFO'; 或者

select table_name from user_tables where table_name='PRODUCTINFO';

##########################333

1.oracle

(1)啟動監聽

lsnrctl start;

(2)進入sqlplus界面

sqlplus /nolog

SQL>conn sys/jiaxiaoai@orcl as sysdba;

(3)啟動資料庫執行個體

SQL>startup;

(4)檢視目前所有的資料庫

select * from v$database;

或 select name from v$database;

(5)檢視哪些使用者擁有sysdba、sysoper權限

select * from V_$PWFILE_USERS;

show user;檢視目前資料庫連接配接使用者

(6)進入某個資料庫:database 資料庫名;

檢視資料庫結構:desc v$database;

(7)檢視所有使用者執行個體:

select * from v$instance;

或 select instance_name from v$instance;

(8)檢視目前庫的所有資料表

select * from all_tables;

select table_name from all_tables;

select table_name from user_tables;

select table_name from all_tables where owner='使用者名';

(9)檢視表結構

desc 表名;

(10)增加資料庫使用者

create user 使用者名 identified by 密碼 default tablespace users Temporary TABLESPACE Temp;

(11)使用者授權

grant connect,resource,dba to 使用者名;

grant sysdba to 使用者名;

(12)更改資料庫使用者密碼

alter user 使用者名 identified by 密碼;

(13)檢視目前使用者建立的表

select tname from tab;

檢視限制條件。

desc user_constraints;

select owner,constraint_name,CONSTRAINT_TYPE,table_name from user_constraints;

desc user_cons_colums;

select a.owner,a.constraint_name,a.constraint_type,a.table_name,b.column_name from user_constraints a,user_cons_colums b where a.constraint_name=b.constraint_name;

###########################################################################

執行insert的時候出現這個錯誤。

insert into 表1 values (123,2423,12);

表1的結構有4個column,顯然插入的值隻有三個,是以才會出現這個問題。

再加個column 的值執行後,ok。

倘若隻想插入三個數值的話:

insert into 表1(a,b,c) values (123,2423,12);

用這個語句就可以了。

#######################################################

無法打開OEM https://baoshengzhu-pc:1158/em

請先啟動服務OracleDBConsoleoracle ,在打開即可。

Scott 使用者無法打開autot,報如下錯誤

SQL> set autot on

SP2-0618: 無法找到會話辨別符。啟用檢查 PLUSTRACE 角色

SP2-0611: 啟用 STATISTICS 報告時出錯

解決辦法:

conn sys as sysdba

SQL>create role plustrace;

SQL>grant select on v_$sesstat to plustrace;

SQL>grant select on v_$statname to plustrace;

SQL>grant select on v_$mystat to plustrace;

SQL>grant plustrace to dba with admin option; 

SQL> set echo off

SQL> grant plustrace to scott;

DB_RECOVERY_FILE_DEST定義RMAN 備份位置

DB_CREATE_ONLINE_LOG_DEST_n定義重做日志檔案和控制檔案的建立位置

DB_CREATE_FILE_DEST定義資料檔案和臨時檔案的預設檔案系統目錄的位置

示例 DB_CREATE_FILE_DEST檔案:

參數說明:這個參數用于指定Oracle資料庫伺服器建立以下檔案的預設路徑:

SQL> ALTER SYSTEM SET DB_CREATE_FILE_

■ Datafiles

■ Tempfiles

■ Redo log files

■ Control files

■ Block change tracking files

在設定這個路徑參數之前先看一下:

show parameter DB_CREATE_FILE_DEST;

SQL> show parameter DB_CREATE_FILE_DEST;

NAMETYPEVALUE

------------------------------------ ----------- ------------------------------

db_create_file_deststring/soft/datafile

SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='/u01/app/oracle/oradata';

開始設定:

ALTER SYSTEM SET DB_CREATE_FILE_DEST

SQL> alter system set DB_CREATE_FILE_DEST='/soft/datafile'; 

System altered.

示例: DB_CREATE_ONLINE_LOG_DEST_n定義重做日志檔案和控制檔案的建立置

SQL> show parameter db_create_online_log_dest;

db_create_online_log_dest_1string

db_create_online_log_dest_2string

db_create_online_log_dest_3string

db_create_online_log_dest_4string

db_create_online_log_dest_5string

通過定義db_create_online_log_dest_n參數,實作日志組成員的多元化。

SQL> alter system set db_create_online_log_dest_1='/disk1/redo';

SQL> alter system set db_create_online_log_dest_2='/disk2/redo';

SQL> alter system set db_create_online_log_dest_3='/disk3/redo';

SQL> show parameter db_create_online_log_dest

db_create_online_log_dest_1string/disk1/redo

db_create_online_log_dest_2string/disk2/redo

db_create_online_log_dest_3string/disk3/redo

oracle 告警日志位置查詢:

SQL> show parameter background_dump_dest;

background_dump_deststring/u01/app/oracle/admin/BENSON1/ bdump

請輸入使用者名:sys as sysdba

輸入密碼:

ERROR:

ORA-12560: TNS: 協定擴充卡錯誤

解決:

1.監聽服務沒有起起來。windows平台個一如下操作:開始---程式---管理工具---服務,打開服務面闆啟動oraclehome92TNSlistener服務。

2.2.database instance沒有起起來。windows平台如下操作:開始---程式---管理工具---服務,打開服務面闆,啟動oracleserviceXXXX,XXXX就是你的database SID.

3.SID沒有設定對。輸set oracle_sid=XXXX,XXXX就是你的database SID.

DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL 使用執行個體:

注:如果所管理的資料庫包含字典管理表空間,而且要将這些表空間轉換為本地管理表

空間,請使用DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL過程完成此操作。EXECUTE dbms_space_admin.tablespace_migrate_to_local("tablespace"); ---轉換表空間

在前幾天的log中提到了如何将system表空間從dictionary-management tablespace轉換為local management tablespace。

在本文中将講述dbms_space_Admin.tablespace_migrate_to_local的另一個實用的案例。

當我們需要drop 一個包含很多extents的資料字典管理表空間是一件比較頭痛的問題。

他需要不停的通路UET$和FET$表,執行插入,删除操作,長期占有ST enqueue,造成資料庫長時間無法allocate和deallocate extents,情況嚴重可能會造成很嚴重的後果。

如何減少drop tablespace的時間呢?請看下面這個例子

例子取自metalink note:311512.1

執行時間從50多分鐘減少到1分鐘左右

Following are the test results -

CASE 1 - Dropping a DMT directly 

-----------------------------------------------

SQL> select bytes,count(*) from dba_extents where tablespace_name='DMT_DROP' group by bytes;

BYTES COUNT(*)

---------- ----------

2048 92359

4096 1

14:41:42 SQL> drop tablespace dmt_drop including contents;

Tablespace dropped.

15:32:31 SQL>

-----> Takes around 50 minutes to drop.

CASE 2 - Dropping a DMT after converting to LMT

--------------------------------------------------------------------

select bytes,count(*) from dba_extents where tablespace_name='DMT_DROP' group by bytes;

17:00:33 

SQL>exec dbms_space_Admin.tablespace_migrate_to_local(tablespace_name=>'DMT_DROP')

PL/SQL procedure successfully completed.

17:01:14 SQL> drop tablespace dmt_drop including contents;

17:01:32 SQL>

-----> Takes around 1 minute to drop.

建立臨時表:

ON COMMIT DELETE ROWS:指定插入行的生存期僅為事務處理的持續時間

ON COMMIT PRESERVE ROWS:指定插入行的生存期為會話的持續時間

CREATE GLOBAL TEMPORARY TABLE employees_temp

ON COMMIT PRESERVE ROWS

AS SELECT * FROM employees;

建立序列列子

create sequence "scott"."xulie2" nocycle noorder cache 20 maxvalue 10000 minvalue 1 increment by 2 start with 1

使用MERGE 指令可通過一個指令同時執行INSERT 和

UPDATE 操作。

MERGE 指令

使用MERGE 指令可在一個指令中執行UPDATE 和INSERT。可将一個源中的資料合并到

另一個源,因而可選擇插入新行和更新特定列(如果行已經存在)。

請考慮以下示例。

JOBS 表中的某些資料如下所示:

JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY

---------- -------------- ---------- ----------

AD_PRES President 20000 40000

FI_ACCOUNT Accountant 4200 9000

ST_CLERK Stock Clerk 2000 5000

IT_PROG Programmer 4000 10000

以下是JOBS_ACQUISITION 表的内容:

AD_PRES VP 20000 40000

DBA DB Admin 4200 9000

SA Sys Admin 2000 5000

使用MERGE 指令可将具有新JOB_ID 的所有行插入到JOBS 表中,如果JOB_ID 已存在,

則使用JOB_TITLE 更新現有JOBS 行。結果“President”職位更改為“VP”,并且添加

了新職務“SA”和“DBA

merge into jobs j

using(select * from jobs_acqulstion) a

on (j.job_id=a.job_id)

when matched then update set j.job_title=a.job_titel

when not matched then insert

(j.job_id,j.job_title,j.min_salary,j.max_salary)

values(a.job_id,a.job_title,a.min_salary,a.max_salary)

COMMIT 和ROLLBACK 指令

預設情況下,不會送出輸入的每個DML 指令。幾個工具(包括iSQL*Plus)提供了一些

選項,使用這些選項可以基于每個指令進行送出,或基于一組指令進行送出。

在發出COMMIT 或ROLLBACK 之前,更改處于暫挂狀态。僅執行更改的使用者可以檢視更

改後的資料。其他使用者可選擇相同資料,但隻能看到更改之前的資料。其他使用者不能對别

的使用者已更改的資料發出DML。

預設情況下,當一個使用者嘗試更改另一個使用者正更改的行時,此使用者必須等待,直到執行

更改的使用者送出或回退更改為止。這由Oracle 資料庫的鎖定機制自動進行控制。由于鎖定機制已經内置到行中,是以資料庫絕不會用完鎖。

資料并發處理

預設情況下,鎖定機制采用細粒度行級鎖定模式。不同的事務處理可在同一個表内更新不同的行,彼此不互相幹擾。

盡管預設模式是行級鎖定,但Oracle 資料庫在需要時也支援在更進階别執行手動鎖定。

SQL> LOCK TABLE employees IN EXCLUSIVE MODE;

Table(s) Locked.

使用以上語句時,嘗試更新鎖定表中的行的任何其它事務處理都必須等待,直到發出鎖定

請求的事務處理完成為止。EXCLUSIVE 是最嚴格的鎖定模式。下面列出了其它鎖定模式:

• ROW SHARE:允許并發通路鎖定的表,但禁止會話鎖定整個表進行獨占通路。

• ROW EXCLUSIVE:與ROW SHARE 相同,但是還禁止以SHARE 模式鎖定。更新、插入或删除資料時會自動擷取ROW EXCLUSIVE 鎖定。

• SHARE:允許并發查詢,但禁止更新鎖定的表。需要有(并且會自動請求)SHARE鎖定才能建立表的索引。

SHARE ROW EXCLUSIVE:用于查詢整個表,允許其他人查詢表中的行,但禁止其他人在SHARE 模式下鎖定表或更新行。

• EXCLUSIVE:允許查詢鎖定表,但禁止對鎖定表執行任何其它活動。需要有EXCLUSIVE 鎖定才能删除表。

與任何鎖定請求一樣,手動鎖定語句會一直等待,直到持有鎖定(或先前請求鎖定)的會話釋放鎖定為止。LOCK 指令接受用于控制等待行為的特殊參數NOWAIT。

如果指定表已經由另一會話鎖定,NOWAIT 會立即将控制權還給您:

SQL> LOCK TABLE hr.employees IN SHARE MODE NOWAIT;

LOCK TABLE hr.employees IN SHARE MODE NOWAIT

*

ERROR at line 1:

ORA-00054: resource busy and acquire with NOWAIT specified

通常不需要手動鎖定對象。自動鎖定機制提供大多數應用程式所需的資料并發處理能力。

使用SQL 解決鎖定沖突

SQL 語句可用來确定阻塞會話并終止會話。

SQL> select sid, serial#, username from v$session where sid in

(select blocking_session from v$session)

SQL> alter system kill session '144,8982' immediate;

07_DICTIONARY_ACCESSIBILITY參數

SQL> show parameter o7

O7_DICTIONARY_ACCESSIBILITY boolean FALSE

alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=spfile;

重新開機之後生效

執行個體:

NAME TYPE VALUE

SQL> create user test1 identified by test1;

User created.

SQL> grant connect,select any table to test1;

Grant succeeded.

open others window to logon:

SQL> conn test1/test1@testdb

SQL> select count(*) from user_tables;

COUNT(*)

----------

SQL> select count(*) from dba_tables;

select count(*) from dba_tables

ORA-00942: table or view does not exist

SQL> select count(*) from v$session;

select count(*) from v$session

ORA-00942: table or view does not exist;

Explicit grant privilege to test1;

SQL> grant select on dba_tables to test1;

SQL> grant select on v_$session to test1;

test1 window:

816

13

Set .parameter value=true;

------------------------------------ ----------- -----------

O7_DICTIONARY_ACCESSIBILITY boolean TRUE

SQL> create user test2 identified by test2;

SQL> grant connect ,select any table to test2;

SQL>

SQL> conn test2/test2@testdb

10

select any dictionary系統權限可以override O7_DICTIONARY_ACCESSIBILITY=false的情況去通路系統資料字典

1本地作業系統認證

作業系統使用者oracle,建立作業系統認證的使用者ops$oracle.

SQL>show parameter os_authent_prefix;

NAME                       TYPE       VALUE

--------------------------- ----------- --------

os_authent_prefix          string     ops$

SQL>create user ops$oracle identified externally;

SQL>grant connect, resource to ops$oracle;

[oracle@cent4 ~]$sqlplus /

SQL>show user

USER is "OPS$ORACLE"

2遠端作業系統認證

remote_os_authent改成true後,才可以遠端作業系統認證.

SQL>show parameter remote_os_authent

NAME                   TYPE       VALUE

----------------------- ----------- ------------

remote_os_authent      boolean    FALSE

SQL>alter system set remote_os_authent=true scope=spfile;

[oracle@cent4 ~]$sqlplus /@centtns

SQL*Plus: Release 10.2.0.1.0 - Production on星期一6月6 10:56:12 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

注意: 1.用戶端的作業系統使用者也要是oracle,這樣才能實作遠端作業系統認證.

 2. remote_os_authent這個參數開啟後,存在很大的安全隐患,遠端伺服器隻要根據資料庫中存在的外部使用者來建立使用者,就可以登陸到資料庫中,是以除非必要,否則不建議開啟這個參數.

檢視某表的限制條件:

1.系統包 擷取DBMS_METADATA.GET_DDL('TABLE','你的表名') //紅色字型為大寫

select dbms_metadata.get_ddl('TABLE','VOTE_ANSWER') FROM DUAL;

2.資料字典擷取

select a.owner,a.constraint_name,a.constraint_type from all_constraints a where a.owner=upper('SCOTT') and a.table_name=upper('VOTE_ANSWER')

select column_name,constraint_name from user_cons_columns a where a.constraint_name='CHECKEY';

以上兩個句子結合為如下

select c.column_name,c.constraint_name from (select a.owner,a.constraint_name,a.constraint_type from all_constraints a where a.owner=upper('SCOTT') and a.table_name=upper('VOTE_ANSWER')) b,

(select column_name,constraint_name from user_cons_columns a) c

where b.constraint_name=c.constraint_name

merge 語句練習,注意using的表,無重複。

SQL> merge into yes

2using(select distinct group# from benson ) benson

3on(benson.group#=yes.hao3)

4when matched then update

5set yes.hao2=benson.group#

######################################################################33

錯誤資訊:

[oracle@VM_Center5_wusy u01]$ netca 

Oracle Net Services 配置: 

# An unexpected error has been detected by HotSpot Virtual Machine: 

# SIGSEGV (0xb) at pc=0xa43ea4d4, pid=4341, tid=3086784720 

# Java VM: Java HotSpot(TM) Client VM (1.5.0_17-b02 mixed mode) 

# Problematic frame: 

# C [libnnz11.so+0x3c4d4] 

# An error report file with more information is saved as hs_err_pid4341.log 

# If you would like to submit a bug report, please visit: 

# http://java.sun.com/webapps/bugreport/crash.jsp

/u01/oracle/bin/netca: line 178: 4341 已放棄 $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $* 

解決辦法:

在hosts檔案中的127.0.0.1 後面添加對應的主機名,如:

vi /etc/hosts 

127.0.0.1 localhost.localdomain localhost VMRHEL5

案列1

不能打開到主機的連接配接,在端口1521:連接配接失敗的解決方法

telnet IP 1521

不能打開到主機的連接配接, 在端口 1521: 連接配接失敗

不存在防火牆拒絕的情況,

我打開另一台也裝有Oracle且1521可以連接配接的機器,檢視NETWORK\ADMIN\listener.ora檔案,仔細對比兩個Oracle該檔案的差別,發現正常的Oracle伺服器上,listener.ora檔案,如下這段HOST顯示的是機器名,而不能連接配接的是“localhost”。

LISTENER =

(DESCRIPTION =

www.2cto.com 

(ADDRESS = (PROTOCOL = TCP)(HOST = lggsuper_pc)(PORT = 1521))

)

Oracle錯誤

第一步:

Shutdown abort

Startup mount

background_dump_deststringd:\app\baoshengzhu\diag\rdbms\

oracle\oracle\trace

進入該路徑,檢視alert_oracle.log,可見檔案記錄錯誤:

####################錯誤資訊以及建議解決的方法##########################################################

Errors in file d:\app\baoshengzhu\diag\rdbms\oracle\oracle\trace\oracle_ora_6988.trc:

ORA-19815: 警告: db_recovery_file_dest_size 位元組 (共 4102029312 位元組) 已使用 100.00%, 尚有 0 位元組可用。

************************************************************************

You have following choices to free up space from recovery area:

1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,

then consider changing RMAN ARCHIVELOG DELETION POLICY.

2. Back up files to tertiary device such as tape using RMAN

BACKUP RECOVERY AREA command.

3. Add disk space and increase db_recovery_file_dest_size parameter to

reflect the new space.

4. Delete unnecessary files using RMAN DELETE command. If an operating

system command was used to delete files, then use RMAN CROSSCHECK and

DELETE EXPIRED commands.

###################################################################################

第二步:

select * from v$recovery_file_dest;

alter system set db_recovery_file_dest_size=10737418240

alter database open

exit

第三步:

rman target /

進入rman工具視窗

RMAN>crosscheck archivelog all;-- 運作這個指令可以把無效的expired的archivelog标出來。

RMAN>delete expired archivelog all; -- 直接全部删除過期的歸檔日志。

RMAN>delete noprompt archivelog until time "sysdate -3";  -- 也可以直接用一個指定的日期來删除。

重新打開資料庫:

如果遇到一些情況:

lusrmgr.msc 檢視使用者是否屬于oracleDBA組裡面。

然後,認證方式改一下,找到sqlnet.ora檔案

控制檔案丢失,重建控制檔案步驟:

檢視檔案資訊:

--------------------------------------------------------------------------------

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\REDO03.LOG

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\REDO02.LOG

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\REDO01.LOG

######################

------------------------------------------------------------------

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\CONTROL01.CTL

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\CONTROL03.CTL

D:\APP\BAOSHENGZHU\FLASH_RECOVERY_AREA\ORACLE\CONTROL02.CTL

##############

----------------------------------------------------------------

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\SYSTEM01.DBF

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\SYSAUX01.DBF

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\UNDOTBS01.DBF

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\USERS01.DBF

D:\APP\BAOSHENGZHU\ORADATA\ORACLE\EXAMPLE01.DBF

D:\APP\BAOSHENGZHU\PRODUCT\11.2.0\DBHOME_2\DATABASE\TEST1.DBF

#################################################################################################

删除所有的控制檔案,後操作

shutdown immediate

create controlfile

reuse database "oracle" noresetlogs noarchivelog

maxlogfiles 35

maxlogmembers 3

maxinstances 1

maxloghistory 400

logfile

group 1 'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\REDO01.LOG' size 50M,

group 2 'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\REDO02.LOG' size 50M,

group 3 'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\REDO03.LOG' size 50M

datafile

'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\SYSTEM01.DBF',

'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\SYSAUX01.DBF',

'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\UNDOTBS01.DBF',

'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\USERS01.DBF',

'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\EXAMPLE01.DBF',

'D:\APP\BAOSHENGZHU\PRODUCT\11.2.0\DBHOME_2\DATABASE\TEST1.DBF'

character set we8dec

alter system set control_files=

'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\CONTROL01.CTL',

'D:\APP\BAOSHENGZHU\ORADATA\ORACLE\CONTROL03.CTL',

'D:\APP\BAOSHENGZHU\FLASH_RECOVERY_AREA\ORACLE\CONTROL02.CTL' scope=spfile;

第四步:

完成

select * from dba_temp_files; //檢視臨時表空間

ALTER DATABASE TEMPFILE 'D:\APP\BAOSHENGZHU\PRODUCT\11.2.0\DBHOME_2\DATABASE\TEMPORARY01.DBF' AUTOEXTEND ON NEXT 1G MAXSIZE 10G; //修改臨時表空間大小

select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';或select temporary_tablespace from user_users;//檢視預設的臨時表空間

exp user/passwd@xxx file='/xxx/xx/xx.dmp'

log='/xxx/xx/xx.log' owner=xxx

imp user/passwd@xxx file='/xxx/xx/xx.dmp'

log='/xxx/xx/xx.log' fromuser=xxx

touser=xxx

Oracle下檢視索引的語句

1. 查詢一張表裡面索引 

select * from user_indexes where table_name=upper('表名'); 

2. 查詢被索引字段 

select * from uer_ind_columnss where index_name=('索引名'); 

3. 給某一字段建立索引 

create index 索引名 on 表名(字段名1,字段名2)

下一篇: AS基本設定