Oracle基本操作

2021-06-03 07:12:41 字數 4286 閱讀 6407

oralce基本操作說明

一、 建立表空間

sys使用者在cmd下以dba身份登陸:

在cmd中打sqlplus /nolog

然後再conn / as sysdba

注意點:

1.如果在pl/sql 等工具裡開啟的話,直接修改下面的**中[斜體加粗部分

]執行2.確保路徑存在,比如【d:\oracle\oradata\oracle9i\】也就是你要儲存檔案的路徑存在

/*分為四步 */

/*第1步:建立臨時表空間  */

create temporary tablespace user_temp  

tempfile 'd:\oracle\oradata\oracle9i\user_temp.dbf' 

size 50m  

autoextend on  

next 50m maxsize 20480m  

extent management local;  

/*第2步:建立資料表空間  */

create tablespace test_data  

logging  

datafile 'd:\oracle\oradata\oracle9i\user_data.dbf' 

size 50m  

autoextend on  

next 50m maxsize 20480m  

extent management local;  

/*第3步:建立使用者並指定表空間  */

create user username identified by password  

default tablespace user_data  

temporary tablespace user_temp;  

/*第4步:給使用者授予許可權  */

grant connect,resource,dba to username;  

二、 表物件操作

1、建立**是帶主鍵索引

create table accounts(

id number primary key,

balance number

2、有命名主鍵名

create table accounts(

id number,

balance number,

constraint accounts_pk primary key(id)

3、刪除主鍵約束

alter table accounts drop constraint sys_c003063;

4、向表中新增主鍵約束

alter table accounts add constraint pk_accounts primary key(id);

5、索引的建立

完整語法如下:

create (unique|bitmap) index [使用者名稱.]索引名 on [使用者名稱.]表名 (列名 [ asc | desc], [列名 [ asc | desc]]...)

[ tablespace 表空間名 ]

[ pctfree 正整型數 ]

[ initrans 正整型數 ]

[ maxtrans 正整型數 ]

[ 儲存子句 ]

[ logging | nologging ]

[ nosort ]

例子:create unique index my_index on mytest_table(id asc, name desc);

alter table mytest_table

add constraint uk_index

unique(id,name);

6、建立

check約束

create table test1234(

id number primary key,

phone varchar2(12) constraint chk_test1234 check(regexp_like(phone,'^029[0-9]')));

3、建立外來鍵

alter table barwork

add constraint fk_barwork

foreign key(record_no)references catalog(record_no);

4、建立自增主鍵

需要定義乙個自定義序列

create sequence emp_sequence

increment by 1 –每次加幾個

start with 1 –從1

開始計數

nocycle  --一直累加,不迴圈

nocache  --不建緩衝區

建立乙個觸發器

create trigger my_trigger before

insert on example for each row when(new.id is null)

begin

select emp_sequence.nextval into: new.id from dual;

end;

一般的做法是直接是insert

語句中操作,而不是建立觸發器,建立觸發器不容易維護。

insert into example(id,name)values(emp_sequence.nextval,』test』);

三、 資料匯入導處操作

a)、資料匯出:

1、 將資料庫

test

完全匯出,使用者名稱

system 

密碼manager 

匯出到d

:\daochu.dmp中

exp system/manager@test file=d

:\daochu.dmp full=y

2、 將資料庫中

system

使用者與sys

使用者的表匯出

exp system/manager@test file=d

:\daochu.dmp owner=

(system

,sys)

3、 將資料庫中的表

table1 

、table2匯出

exp system/manager@test file=d

:\daochu.dmp tables=

(table1

,table2)

4、 將資料庫中的表

table1

中的字段

filed1

以"00"

打頭的資料匯出

exp system/manager@test file=d

:\daochu.dmp tables=

(table1

) query=\" where filed1 like '00%'\"

上面是常用的匯出,對於壓縮我不太在意,用winzip

把dmp

檔案可以很好的壓縮。

不過在上面命令後面 加上 compress=y  

就可以了

b)、資料的匯入

1、將d

:\daochu.dmp 

中的資料匯入 

test

資料庫中。

imp system/manager@test  file=d

:\daochu.dmp

上面可能有點問題,因為有的表已經存在,然後它就報錯,對該錶就不進行匯入。

在後面加上 ignore=y 

就可以了。

2 將d:

\daochu.dmp

中的表table1 匯入

imp system/manager@test  file=d

:\daochu.dmp  tables=

(table1)

基本上上面的匯入匯出夠用了。不少情況我是將表徹底刪除,然後匯入。

注意:你要有足夠的許可權,許可權不夠它會提示你。

資料庫時可以連上的。可以用tnsping test 

來獲得資料庫

test

能否連上。

四、 備份指令碼

exp scott/tiger@libdata file=c:\scott%date:~4,10%.dmp

set path=c:\program files\winrar

cd %path%

c:\program files\winrar\rar.exe a data%date:~4,10%.rar *%date:~4,10%.dmp

del *%date:~4,10%.dmp

Oracle基本操作

1.建立表空間 create tablespacetestdatafile c test.dbf size 10m 名字不要為數字 2.建立使用者 create user username identified by password 不要為數字 3.給使用者授權 grant dba to user...

Oracle 基本操作

在這裡詳述 oracle 基本操作。新增使用者 隨著使用者的建立,自動產生與使用者同名的schema create user tester profile default identified by tester default tablespace testdata temporary table...

oracle 基本操作

1 使用者登入 sqlplus 帳號 密碼 2 檢視當前登入使用者 show user 3 檢視所有的使用者 select username from all users 4 建立臨時表空間 create temporary tablespace test temp tempfile d oracl...