天天看點

Oracle 11gR2學習之三(建立使用者及表空間、修改字元集和Oracle開機啟動)

一、建立使用者及表空間

1.連接配接資料庫

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ sqlplus /nolog   #進入sqlplus環境

[oracle@localhost ~]$ conn / as sysdba

2.建立表空間

#指定表空間存放位置,磁盤限額

SQL> create tablespace test datafile '/main/oracle/oradata/test.dbf' size 1024M autoextend on next 1024M maxsize 10240M extent management local;

#删除表空間

drop tablespace hjb including contents and datafiles;

3.建立oracle使用者

#密碼設定為test,指定預設管理test表空間

SQL> create user test identified by test default tablespace test;

4.授權使用者權限

SQL> grant connect, resource to test;

#connect權限:可以連接配接資料庫、建立表和視圖等資料庫對象

#resource權限:可以建立表、視圖等資料庫對象

5.不對使用者做表空間限額控制

SQL> grant unlimited tablespace to test;

二、修改Oracle資料庫編碼

1

2

3

4

5

6

7

8

9

10

<code>SQL&gt; </code><code>select</code> <code>userenv(</code><code>'language'</code><code>) </code><code>from</code> <code>dual;    #先檢視資料庫的字元集</code>

<code>SQL&gt; shutdown immediate;</code>

<code>SQL&gt; startup mount;</code>

<code>SQL&gt; </code><code>alter</code> <code>system enable restricted session;</code>

<code>SQL&gt; </code><code>alter</code> <code>system </code><code>set</code> <code>job_queue_processes=0;</code>

<code>SQL&gt; </code><code>alter</code> <code>database</code> <code>open</code><code>;</code>

<code>SQL&gt; </code><code>alter</code> <code>database</code> <code>character</code> <code>set</code> <code>internal_use UTF8;</code>

<code>SQL&gt; startup</code>

<code>SQL&gt; </code><code>alter</code> <code>system disable restricted session;</code>

補充:startup啟動資料庫過程  nomount --&gt; mount --&gt; open

三、配置開機啟動腳本

修改允許dbstart/dbshut來啟動和關閉oracle資料庫執行個體

[oracle@localhost ~]$ vi /etc/oratab :orcl:/main/oracle/11.2:Y  

2. 預設dbstart調用的tnslnr腳本位置有錯,需要我們修改下,要不然dbstart啟動會報錯,找到這一行修改為ORACLE安裝目錄

[oracle@localhost ~]$ vi $ORACLE_HOME/bin/dbstart

ORACLE_HOME_LISTENER=/ade/vikrkuma_new/oracle” --〉 “ORACLE_HOME_LISTENER=$ORACLE_HOME”

3.編寫SysV腳本

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<code>#!/bin/bash</code>

<code>#chkconfig:345 66 46</code>

<code>#description:startup script for oracle databases</code>

<code>export</code> <code>ORACLE_BASE=</code><code>/main/oracle/</code>

<code>export</code> <code>ORACLE_HOME=</code><code>/main/oracle/11</code><code>.2</code>

<code>export</code> <code>PATH=$PATH:$ORACLE_HOME</code><code>/bin</code>

<code>export</code> <code>ORACLE_SID=orcl</code>

<code>ORA_OWNR=</code><code>"oracle"</code>

<code>case</code> <code>"$1"</code> <code>in</code>

<code>start)</code>

<code>        </code><code>echo</code> <code>-n </code><code>"Starting Oracle:"</code>

<code>        </code><code>su</code> <code>- $ORA_OWNR -c </code><code>"$ORACLE_HOME/bin/lsnrctl start"</code>

<code>        </code><code>su</code> <code>- $ORA_OWNR -c </code><code>"$ORACLE_HOME/bin/dbstart"</code>

<code>        </code><code>su</code> <code>- $ORA_OWNR -c </code><code>"$ORACLE_HOME/bin/emctl start dbconsole"</code>

<code>        </code><code>echo</code> <code>"Starting Oracle Success:                    OK"</code>

<code>;;</code>

<code>stop)</code>

<code>        </code><code>echo</code> <code>-n </code><code>"Shutdown Oracle:"</code>

<code>        </code><code>su</code> <code>- $ORA_OWNR -c </code><code>"$ORACLE_HOME/bin/emctl stop dbconsole"</code>

<code>        </code><code>su</code> <code>- $ORA_OWNR -c </code><code>"$ORACLE_HOME/bin/dbshut"</code>

<code>        </code><code>su</code> <code>- $ORA_OWNR -c </code><code>"$ORACLE_HOME/bin/lsnrctl stop"</code>

<code>        </code><code>echo</code> <code>"Shutdown Oracle Success:                    OK"</code>

<code>restart)</code>

<code>$0 stop</code>

<code>$0 start</code>

<code>*)</code>

<code>        </code><code>echo</code> <code>"Usage: basename $0 start|stop|restart"</code>

<code>exit</code> <code>1</code>

<code>esac</code>

<code>exit</code> <code>0</code>

[oracle@localhost ~]$ chkconfig --add oracle11

[oracle@localhost ~]$ chkconfig oracle11 on 

#啟動Oracle順序

lsnrctl start(啟動Oracle) --&gt; 登陸資料庫執行startup(啟動資料庫執行個體) --&gt; emctl start dbconsole(啟動OEM)

#關閉Oracle順序

emctl stop dbconsole(OEM管理1158) --&gt; lsnrctl stop(關閉Oracle監聽1521)--&gt; 登陸資料庫執行shutdown immediate;(關閉資料庫執行個體)