一、下載oracle與安裝前準備工作
1、下載
http://download.oracle.com/otn/nt/oracle11g/112010/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/nt/oracle11g/112010/linux.x64_11gR2_database_2of2.zip
用unzip解壓兩個文件,解壓後會放到同一個文件中database
2、安裝前準備
1)、修改oracle用戶限制參數(添加)
#vim /etc/security/limits.conf
oracle soft nproc 2047 #進程數軟限制
oracle hard nproc 16384 #進程數硬限制
oracle soft nofile 1024 #文件數軟限制
oracle hard nofile 65536 #文件數硬限制
2)、修改進程會話限制 (添加)
#vim /etc/pam.d/login
session required pam_limits.so
3)、新建用戶和用戶組
#groupadd oracle
#useradd oracle -g oracle
4)、修改hosts表(添加本機解析 本機IP地址 主機名)
#vim /etc/hosts
192.168.100.20 test001
5)、新建oracle數據目錄,修改權限與組
#mkdir /oracle-11g
#chmod -R 755 /oracle-11g
#chown -R oracle:oracle /oracle-11g
#cp -R database/ /oracle-11g
6)、下載pdksh-5.2.14-37.el5_8.1.x86_64.rpm複製到/oracle-11g目錄下
7)、修改oracle用戶的.bash_profile文件
#vim /home/oracle/.bash_profile
export ORACLE_BASE="/oracle-11g/app/oracle"
export ORACLE_HOME="/oracle-11g/app/oracle/product/11.2.0/dbhome_1"
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
export PATH
8)、安裝依賴包
#yum -y install libaio glibc compat-libstdc elfutils-libelf-devel* gcc-c++ libaio-devel unixODBC\ readline\
#cd /oracle-11g
#yum -y install pdksh-5.2.14-37.el5_8.1.x86_64.rpm
二、安裝
1、用oracle用戶登錄系統(圖形界面)
#cd /oracle-11g/datebase
#./runinstall
中文亂碼問題處理
解決步驟
1)、在Linux上新建目錄mkdir -p /usr/share/fonts/zh_CN/TrueType
2)、現在windows(C:\Windows\Fonts)電腦上隨便複製一個字體到Linux上TrueType目錄下並重命名爲zysong.ttf
3)、在執行
#cd /oracle-11g/datebase
#./runinstall
不勾選更新
點擊是
選擇跳過更新
創建和配置數據庫
直接選擇服務器類
單數據庫實例
高級安裝
語言選擇
版本選擇
保存位置選擇
選擇數據庫類型
數據庫標識與oracle用戶ORACLE_SID環境變量一致
自動內存管理的選項去掉
字符集根據需求配置
安全性要求
示例方案根據個人需求選,如果是自己測試使用,建議勾選
管理選項默認
數據庫存儲選項,默認讀取oracle用戶環境變量
恢復選項,生產環境建議啓用自動備份
選擇對所有用戶使用相同的口令
特權操作系統組,默認
oracle安裝之前需要修改很多內核參數,oracle越來越人性化,只需在界面上點擊“修補並在次檢查”
也可以 自定義修改內核文件
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
#sysctl -p #內核重讀配置文件
已root身份運行腳本
點擊安裝
等待安裝完成
以root執行以下腳本
安裝完成
三、數據庫的簡單操作 (所有操作都是在oracle用戶下操作)
1、啓動監聽,關閉監聽,查看監聽狀態
#lsnrctl start
#lsnrctl stop
#lsnrctl status
2、連接數據庫實例
#sqlplus / as sysdba
開啓oracle數據庫與實例分爲3步 啓動實例-->加載數據庫-->打開數據庫
3、啓動實例不加載數據庫
SQL>startup nomount
作用:創建新數據庫;重建控制文件。
4、加載數據庫但不打開數據庫
SQL>startup mount
作用:重命名數據文件;添加、刪除或重命名重做日誌文件;執行數據庫完全恢復操作;改變數據庫的歸檔模式。
5、正常打開數據庫
SQL>startup
6、強制啓動模式
SQL>startup force
7、由nomount模式切換到mount模式
SQL> alter database mount;
8、由mount模式切換到open模式
SQL> alter database open;
9、在Open模式下,還可以選擇將數據庫設置爲非受限狀態和受限狀態
SQL>alter system enable\disable restricted session;
10、數據庫設置爲只讀模式和取消只讀模式
SQL>alter database open read only;
SQL>alter database open read write;
關閉數據庫與實例也分爲3步:關閉數據庫-->實例卸載數據庫--->終止實例
11、正常關閉方式
阻止任何用戶建立新的連接;等待當前所有正在連接的用戶主動斷開連接;一旦所有的用戶都斷開連接,則立即關閉、卸載數據庫,並終止實例。
SQL>shutdown nomal
12、立即關閉方式
阻止任何用戶建立新的連接,同時阻止當前連接的用戶開始任何新的事務;Oracle不等待在線用戶主動斷開連接,強制終止用戶的當前事務,將任何未提交的事務回退;直接關閉、卸載數據庫,並終止實例
SQL>shutdown immediate
13、事務關閉方式
這種方式介於正常關閉方式跟立即關閉方式之間,響應時間會比較快,處理也將比較得當。阻止任何用戶建立新的連接,同時阻止當前連接的用戶開始任何新的事務;等待所有未提交的活動事務提交完畢,然後立即斷開用戶的連接;直接關閉、卸載數據庫,並終止實例。
SQL>shutdown transactional
14、終止關閉方式
粗暴關閉,會丟失數據,重新打開數據庫時候會執行恢復操作,一般不用這種方式。阻止任何用戶建立新的連接,同時阻止當前連接的用戶開始任何新的事務;立即終止當前正在執行的SQL語句;任何未提交的事務均不被退名;直接斷開所有用戶的連接,關閉、卸載數據庫,並終止實例。
SQL>shutdown abort
15、查看數據庫名
SQL>select name,dbid from v$database; 或 show parameter db_name;
16、查詢實例名
SQL>select instance_name from v$instance; 或 show parameter instance_name;
16、查詢數據庫域名
SQL>select value from v$parameter where name='db_domain'; 或 show parameter domain;
17、開啓歸檔模式
SQL>archive log list; #查看是否歸檔
SQL>alter system set log_archive_start=true scope=spfile; #修改系統的日誌方式爲存檔模式
SQL>shutdown immediate; #關閉數據庫,因爲不能在open狀態下進行操作
SQL>startup mount; #啓動實例
SQL>alter database archivelog; #更改數據庫爲存檔模式
SQL>alter database open; #打開數據庫
SQL>archive log list; #查看是否歸檔
18、關閉歸檔模式
SQL>archive log list; #查看是否歸檔
SQL>shutdown immediate; #關閉數據庫,因爲不能在open狀態下進行操作
SQL>startup mount; #啓動實例
SQL>alter database noarchivelog; #更改數據庫爲關閉歸檔模式
SQL>alter database open; #打開數據庫
SQL>archive log list; #查看是否歸檔
19、創建表,查看錶結構,插入數據,查看錶數據,更改表數據,刪除記錄
SQL> create table a(a number);
SQL> desc a
SQL> insert into a values(1);
SQL>select * from a;
SQL> update a set a=2;
SQL> delete from a;